IT Log

경사하강법 (Gradient decent) 본문

Machine Learning

경사하강법 (Gradient decent)

newly0513 2019. 5. 15. 17:27
728x90
반응형

경사하강법(Gradient decent) 이란?

함수의 기울기를 구하여 기울기가 낮은 쪽으로 계속 이동시켜서 극값에 이를 때까지 반복하는 방법

변수 설명
w 손실함수
η 학습률(leraning rate)
L/w 출력값을 w에 대하여 미분(기울기)


η(learning rate)는 경사하강법의 진행간격을 조정하는 값으로, 값이 너무 클 경우 over shooting현상이 발생하고, 값이 너무 작을 경우에는 local minimum이 발생한다. 따라서 η의 값음 0.01 ~ 0.1사이로 하는 것이 적당하다.

 

over shooting

손실함수 값이 줄어들지 않고 오히려 커지는 현상

 

local minimum

전역 최소값이 아닌 지역최소값으로 경사하강법을 끝내는 현상

 

 

경사하강법의 구동방식

  1. 손실함수 첫 위치에서 기울기를 구한다.
  2. 기울기가 +면 좌측으로, -면 우측으로 이동한다.
  3. 이동한 위치에서 기울기를 다시 구한다.
  4. 최저점이 나올때까지 1~3과정을 반복한다.

 

손실함수란?

결과 값이 실제 값과 얼마나 차이가 있는지 계산하는 함수, 이 때 손실함수로 얻은 결과 값을 에러라고한다. 따라서, 손실함수의 값이 작을수록 학습이 잘된거라고 할 수 있다.

 

평균제곱오차(Mean Squared Error)

  • 계산이 간편하여 가장 많이 사용되는 손실함수
  • 모델의 출력값과 사용자가 원하는 출력 값 사이의 거리 차이를 오차로 사용
  • 거리 차이를 제곱하면 좋은 점은 오차의 차이가 더욱 커져서, 어느 부분에서 오차가 있는지 확실히 알 수 있다는 장점

 

교차 엔트로피 오차(Cross Entropy Error)

  • 기본적으로 분류문제에서 one-hot encoding했을 경우에만 사용
  • 분류문제에서 모델에 출력은 0에서 1사이
  • 즉, 정답이 1이라고 했을때 정답에 근접하는 경우 오차가 0에 수렴
  • 일반적으로 분류문제에서 sigmoid 함수를 사용하는데, sigmoid 함수 식에는 자연상수 e가 포함되므로 기존의 평균제곱오차를 사용하면 매끄럽지 못한 울퉁불퉁한 표면을 지닌 그래프 개형이 그려진다. 이런 상태에서 경사하강법을 적용하면 전역최소점을 찾기 못하고 지역최소점에 걸릴 가능성이 크다.
  • 따라서, 위의 경우를 방지하기 위해 자연상수 e에 반대되는 자연로그를 모델의 출력 값에 취하는 손실 함수를 사용

 

728x90
반응형
Comments