경사 하강법

 | #Artifical Intelligence#Machine Learning#Linear Regression

앞서 살펴본 선형 회귀의 정의는 다음과 같았다.

임의의 직선을 그어 이에 대한 평균 제곱 오차를 구하고, 이 값을 가장 작게 만들어 주는 a와 b를 찾아가는 작업이다

이 평균 제곱 오차를 가장 작게 만들어 주는 것이 바로 경사 하강법인데, 이는 앞서 나온 선형 회귀의 일차방정식을 놓고 생각하면 쉽게 이해할 수 있다.

image01

이 공식에서, 기울기 a가 무한대로 커지면 오차 또한 무한대로 커질 것이고, a가 무한대로 작아지면 역시 오차도 무한대로 커질 것이다. 이를 그래프로 표현하면 다음과 같다.

075

이 그래프에서 볼 수 있듯이, 경사 하강법의 가장 큰 목적은 기울기가 0이 되는 m을 찾는 것이다. 이를 정리하자면

  1. a1에서 미분을 구한다.
  2. 기울기가 +면 음의 방향으로, 기울기가 -면 양의 방향으로 이동시킨 a2에서 미분을 구한다.
  3. 미분 값이 0이 나올 때까지 반복한다.

대충 감은 잡힌다. 그런데 a를 얼마나 옮겨야 할까? 너무 많이 옮기면 되려 기울기가 되려 더 커질 수도 있고, 0에 수렴하지 않을 지도 모른다. 이 때 등장하는 개념이 바로 학습률(Learning Rate)이다.

학습률이란, 이 a를 얼마나 이동 시킬지 이동 거리를 정해 주는 것이다. 학습률은 이후 포스트에서 다루도록 하겠다.