Contents1. 선형 회귀 알고리즘의 목표와 학습방식 2. 평균 제곱 오차 3. 경사하강법 4. 경사하강법의 한계
선형 회귀 알고리즘은 단어 그대로 한 집합 내에서
값들을 가장 잘 예측할 수 있는 선형 방정식을 학습합니다.
위와 같은 단순 선형 방정식 이 있을 때에 선형 회귀 알고리즘은
적절한 W 와 b 를 찾게 됩니다.
그렇다면 선형 회귀 알고리즘이 찾은 W 와 b 값이 적절한 지는
어떻게 판단하게 될까요?
선형 회귀 알고리즘은 비용 함수의 값을 최소화 하는것을 목적으로
학습을 하게 됩니다.
이때 사용하게 되는 비용 함수의 한 종류인 평균 제곱 오차(MSE)
를 많이 사용하게 됩니다.
단순 제곱 오차의 공식은 위와 같습니다.
위 식 그대로 실제값 - 예측값 을 제곱한 다음 모두 더해 평균을 구합니다.
구한 평균이 바로 평균 제곱 오차의 결과값입니다.
그렇다면 선형 회귀 알고리즘은 어떠한 방식으로
평균 제곱 오차의 값을 최소화 할까요?
경사하강법이 바로 비용 함수의 값을 최소화 하는 방법 중 하나입니다.
경사하강법은 함수의 기울기를 이용하여 함수의 최솟값을 찾을 수 있는 방법입니다.
함수의 기울기와 비용함수의 관계를 나타내면 위와 같이
이차함수와 비슷한 모양의 그래프가 그려집니다.
이때 W를 기울기로 가지는 함수는 y=Wx 입니다.
함수의 기울기가 음수이면 함수값은 감소하게 되고
함수의 기울기가 양수이면 함수값은 증가되게 됩니다.
따라서 경사하강법에서는 기울기를 이용하여
x축의 이동할 방향을 정해야 합니다.
방향을 정할 때에는 다음과 같은 공식을 사용하게 됩니다.
: 이동할 x축 좌표
: 현재 x축 좌표
: 이동 거리
: 기울기 부호
위 식에서 을 step size 라고도 부릅니다.
경사하강법에서는 이 step size 의 크기를 정하는것이 매우 중요합니다.
또한 값에 기울기를 직접적으로 사용할 수 있습니다.
위 그림은 과도하게 step size 의 크기를 크게 했을때에 상황을 나타내고 있습니다.
step size 를 과도하게 크게 정하면 위와 같이 발산하게 됩니다.
따라서 적절한 step size 를 정하는 것이 중요합니다.
경사하강법의 한계는 명확합니다.
경사하강법은 시작점을 무작위로 정하기 때문에 자칫 잘못하면
경사하강법으로 찾은 최솟값이 함수의 최솟값이 아닐수도 있습니다.