[시즌1].Lecture 03 - Linear Regression Cost Function 최소화

* 이 글은 홍콩과기대 김성훈 교수님의 무료 동영상 강좌 "모두를 위한 머신러닝과 딥러닝 강의"를 보고 요점을 정리한 글 입니다.

 

Linear Regression Cost Function(선형 회귀에서의 비용 함수)

Linear Regression(선형 회귀)은 직선적 관계를 가지고 있기 때문에 Hypothesis(가설)은 1차 방정식인 Equation (1)으로 표현할수 있습니다.

 

$$ H(x)=W x+b $$ (1)

 

그리고 Linear Regression에서 사용하는 Cost Function(비용 함수)는 모든 x에서의 실제 값 y와 예측한 값 H(x)간의 거리들의 제곱값을 모두 더한 Equation (2)입니다.

 

$$ \operatorname{cost}=\frac{1}{m} \sum_{i=1}^m\left(H\left(x^{(i)}\right)-y^{(i)}\right)^2 $$ (2)

 

일반적인 경우에는 W와 b를 변수로 가지고 있는 Cost Function을 사용하지만, 계산을 최대한 간단하게 해보기 위해서 Hypothesis를 Equation (3)으로 간략화한 뒤 Equation (2)에 대입해보면 W만을 변수로 가지는 Cost Function Equation (4)를 확인할 수 있습니다. 이 Cost Function을 살펴보면 결국 W를 변수로 한 2차 방정식의 형태라는 것을 알 수 있습니다.

 

$$ H(x)=W x $$ (3)
$$ \operatorname{cost\left(W\right)}=\frac{1}{m} \sum_{i=1}^m\left(Wx^{(i)}-y^{(i)}\right)^2 $$ (4)

 

Gradient Descent Algorithm(기울기 감소 알고리즘)

Gradient Descent Algorithm(기울기 감소 알고리즘)은 Cost Function을 최소화 하는 알고리즘들 중 하나이고 Machine Learning(머신 러닝) 이외에도 많은 최소화 문제에 사용됩니다. Cost Function에 Gradient Descent Algorithm을 사용한다면 Cost Function이 최소값을 가질 때의 W와 b의 값을 구할 수 있습니다. 뿐만 아니라 Gradient Descent Algorithm은 2개 이상의 변수를 가지고 있는 함수에도 적용이 가능한 매우 좋은 알고리즘 입니다.

Gradient Descent Algorithm은 임의의 점에서 시작될 수 있습니다. 임의의 점에서의 Gradient(기울기)를 계산 한 뒤 이 값을 줄이기 위하여 W 값과 b의 값을 조금씩 변화시킨 지점을 찾습니다. W와 b값을 조금씩 변화시킨 지점들 중에서 Gradient가 가장 많이 감소된 지점을 찾아서 움직인 후 같은 과정을 계속 반복합니다. 이 과정을 반복하면 최종적으로 Cost Function이 최소가 되는 지점을 발견할 수 있습니다. 즉, 임의의 어떠한 지점에서 시작하더라도 Gradient Descent Algorithm를 사용하면 Cost Function이 최소가 되는 지점으로 갈 수 있습니다.(예외 상황 존재) 

 

Gradient Descent Algorithm에서 Gradient를 구할때에는 Cost Function을 미분하여 구하는데, 계산을 조금 더 편하게 하기 위해서 Cost Function을 Equation (5)로 바꾸어 준 후 계산을 시작합니다.

 

$$ \operatorname{cost}= \frac{1}{2m} \sum_{i=1}^m\left(Wx^{(i)}-y^{(i)}\right)^2 $$ (5)

 

Gradient Descent Algorithm의 공식을 표현하면 Equation (6)입니다. 이 공식은 W값을 현재의 값에서 Cost Function의 미분 값에 Learning Rate라는 임의의 값 alpha를 곱한 값을 뺀 값으로 교체를 하라는 의미입니다.

 

$$ W:=W-\alpha \frac{\partial}{\partial W} \operatorname{cost}(W) $$ (6)

 

계산을 위해 바꾸어준 Cost Function을 위의 Gradient Descent Algorithm의 공식에 대입을 하면 Equation (7)이라는 공식을 얻을 수 있습니다.

 

$$ W:=W-\alpha \frac{\partial}{\partial W} \frac{1}{2 m} \sum_{i=1}^m\left(W x^{(i)}-y^{(i)}\right)^2 $$ (7)

 

이 공식을 간단하게 정리하면 Equation (8)을 얻을 수 있습니다. 즉, Gradient Descent Algorithm 은 Equation (8)이라는 공식을 만족한다는 결과를 얻을 수 있습니다.

 

$$ W:=W-\alpha \frac{1}{m} \sum_{i=1}^m\left(W x^{(i)}-y^{(i)}\right) x^{(i)} $$ (8)

 

지금 살펴본 Gradient Descent Algorithm는 계산을 간단하게 하기 위해서 b값은 0이라고 가정한 것입니다. 만약 W 뿐만이 아니라 b를 고려하여 Gradient Descent Algorithm를 사용한다면 그림과 같은 형태의 그래프가 완성될 것입니다.