본문으로 바로가기

경사하강법의 직관적, 수학적 이해

category Math/Calculus 2021. 2. 5. 17:16

Local maxima and minima

1) 개요

    - scalar 값을 output으로 가지는 다변수 함수를 아래와 같이 떠올릴 수 있다. 이때, 각 꼭짓점들을 local maximum이라고 일컫는다.

출처 : khanacademy.org

    - local maximum point : local maximum이 나오게 하는 입력값 (xn, yn)

    - global maximum은 local과 구분 짓게 되는데 이때의 값은 가장 큰 값을 의미한다.

    - 위의 사진의 위아래를 뒤집어 떠올릴 때는 local minimum point와 local minimum이 존재한다.

 

2) stable points

    - 함수의 특정 지점에서 기울기가 0이 되게 하는 값

    - 다변수 함수에서 local maximum 또는 minimum은 편미분이 0이 될 것이다

 

Testing maximality / minimality

1) 개요

    - stable points가 있더라도 모든 지점에서 local minimum 또는 maximum을 가질 수 없다. (saddle point)

 

2) Second partial derivative (이계도함수 판정법)

    - 편미분의 값이 0이 되는 지점에서 local maximum, minimum, saddle point인지 확인하는 방법이다.

$$H = f_{xx}(x_{0}, y_{0})f_{yy}(x_{0}, y_{0}) - f_{xy}(x_{0}, y_{0})^2$$

https://sjpyo.tistory.com/31 (헤시안 정렬)

    - H < 0 : (x0, y0)에서 saddle point이다.

    - H < 0 and fxx(x0, y0) < 0 : local maximum point

    - H < 0 and fxx(x0, y0) > 0 : local minimum point


경사하강법 (gradient descent)

출처 : http://rasbt.github.io/mlxtend/user_guide/general_concepts/gradient-optimization/

1) 개요

    - local minima를 찾기 위해 input value를 변형시키면서 input value를 찾는 방법이다.

    - 위의 그림에서 볼 수 있듯이 tangent plane의 값이 0; 즉, 수평일 때 minimum 값을 찾을 수 있다.

 

2) 수식

$$x_{n+1} = x_{n} - \alpha\nabla f(x_{n})$$

    - 기울기 값이 커진다면 음수로, 작아진다면 양수로 변경해가며 값을 구한다.

    - alpha로 나타낸 step size는 input value의 값이 극소값에서 멀 때는 많이, 가까울 때는 조금씩 이동할 수 있도록 한다.

 

3) 한계점

    - step size를 너무 크게 할 경우, 함수값이 커지는 오류를 범할 수 있다. (발산)

    - 반면에, 너무 작게 할 경우 극소값을 구하는데 오랜 시간이 걸릴 수 있다.

    - global minimum을 찾지 못하고 local에만 국한될 수 있다.

'Math > Calculus' 카테고리의 다른 글

Taylor series (테일러 급수)  (0) 2021.03.09
헤시안 행렬 (Hessian matrix) / Frangi filter  (0) 2021.02.04
자코비안 (Jacobian)  (0) 2021.02.03
라플라시안 (Laplacian)  (0) 2021.02.03
발산 (Divergence) & 회전 (Curl)  (0) 2021.02.02