ALL NIGHT STUDY

미분

with_AI 2021. 9. 16. 02:27

미분이란 단어는 작을 미(微)와 나눌 분(分). 즉 "작게 나눈다"라는 의미

즉 함수를 작게 나눈다는 뜻이다.

X의 값을 아주 아주 미세하게 변화 시킨 후에 입력했을 때, 그 결과값이 어떻게 바뀌는지를 보는 것이 미분입니다.

미분과 DS의 관계?

  • 간단한 예시로 단순 선형 회귀에서, 오차 함수는 MSE를 쓰는데, 이때 이 MSE를 최소로 하는 파라미터들을 구하기 위해서 미분을 활용하게 된다.
  • 미분을 통해서 오차 함수의 도함수($f'(x)$)가 0이 되는 부분 (즉 변화율이 0인 부분)을 찾아서 오차 함수가 최소화되는 파라미터를 찾는 것입니다.

편미분(Partial Derivative)

상당히 많은 머신러닝의 Error 함수는 여러개의 파라미터 값을 통해 결정하는데, 이 때 파라미터가 2개 이상인 Error 함수에서 우선 1개의 파라미터에 대해서만 미분을 하자 라는 목적으로 다른 변수들을 상수 취급 하는 방법을 편미분이라 한다.

간단한 예제

여기서 x에 대한 편미분을 구하면 다음과 같다. 마치, y는 상수처럼 취급해서, y의제곱은 상수니깐, 그냥 0이 된다. x의 제곱은 2x가 되고, xy에서 y는 상수취급이 되니, y만 남게 되어 아래와 같이 된다.

y에 대한 미분의 경우에는 반대로 x를 상수치급해서 y에 대해서만 미분을 계산하면 된다.

Chain Rule

  • 함수의 함수를 미분하기 위해 사용하는 방식
  • 관련된 함수들을 계속 가져와서 각각의 미분을 체인처럼 곱한다.

미분과 최적화의 관계를 나타내는 가장 대표적인 예시인 경사 하강법을 보겠다.

경사 하강법 (Gradient Descent)

  • 위에서 거론 됐던 오차 함수인 𝜀 을 최소화 하는 𝑎,𝑏 를 찾을 수 있는 최적화 알고리즘 중의 하나
  • 강의에서 최적의 파라미터를 찾기 위해선 미분계수가 0인 곳을 찾으면 된다고 했습니다.
  • 앞으로 다루게 될 문제에선 파라미터의 갯수는 수없이 많을 것이고 하나의 minimum/maximum만이 존재하지 않는 상황에 직면하게 될 것
  • 경사하강법은 임의의 a, b를 선택한 후 (random initialization)에 기울기 (gradient)를 계산해서 기울기 값이 낮아지는 방향으로 진행
  • 기울기는 항상 손실 함수 값이 가장 크게 증가하는 방향으로 진행
  • 반복적으로 파라미터 a,b를 업데이트 해가면서 그래디언트($∇ f$)가 0이 될 때까지 이동
  • 이 때 적당한 학습률 설정을 해야 전역 최솟값을 잘 찾을 수 있다.

'ALL NIGHT STUDY' 카테고리의 다른 글

T-test  (0) 2021.09.16
가설 검정  (0) 2021.09.16
Tidy 데이터  (0) 2021.09.16
Concat/Merge  (0) 2021.09.16
Pandas(Python Data Analysis Library)  (0) 2021.09.16