본문 바로가기

자료

머신러닝(Machine Learning) 3장 - Linear Regression의 cost 최소화 알고리즘

728x90

머신러닝(Machine Learning) 3

- Linear Regression cost 최소화 알고리즘 -

 

Regression은 우선 Supervised Learning의 종류로 연속적인 데이터로 결과 값을 도출하는 머신러닝의 기법이다. 그 중 Linear Regression은 선형적인 예측을 하는 방법인데 H(x) = Wx + b 와 같은 형태로 예측의 가설을 만들 수 있었다. 가설을 바탕으로 실제 결과 값과 차이를 비교하여 cost function의 값을 만들었다. 그리고 예측을 최적화하는 방법은 바로 cost function의 값을 최소화로 만드는 작업이 될 것이다.

 

쉽게 이해하기 위해 b라는 값을 0이라고 생각하고 가설을 H(x) = Wx 라는 형태로 먼저 살펴볼 것이다. 그러면 cost function Wx 값을 H(x)에 대입하게 되어 간단한 형태로 바뀌게 될 수 있다. 그러면 어떻게 하면 이 cost function을 최소화 시킬 수 있을까? 저번 시간에 다루었던 예시를 가지고 살펴보자. x y 값이 data set으로 주어지는데 x는 입력 값이 되고 y는 그에 대한 결과 값이 된다. x 1, 2, 3일 때 y 값도 각각 1, 2, 3이라고 생각을 해보자. 또한 이때의 W 값이 1이라고 생각하면 cost 값은 어떻게 나타날까?

 

 

이와 같이 값을 대입시켜서 결과를 생각하면 0이라는 결과가 도출된다. W 0일 때도 같은 방법으로 계산을 하게 되면 cost의 값은 대략 4.67이라는 값을 가지게 된다.

 

 

W 2일 때에도 4.67이라는 cost 값이 나오게 된다. 이렇게 W에 따라 다양한 값이 나타나게 된다. 이를 통해 W 값이 변함에 따라 cost의 변화를 그래프로 그릴 수 있다. 그래프를 보게 되면 2차함수의 형태로 나타나게 되며 여기서 우리는 cost가 최소화가 되는 점을 찾는 것이 목표이다. 그래프를 그려 눈으로 보고도 알 수 있지만 우리는 기계적인 컴퓨터의 계산에 의한 결과를 얻고 싶다. 그래서 사용하는 알고리즘이 바로 Gradient descent algorithm이다. 그대로 해석하게 되면 기울기를 따라 내려가는 알고리즘이라고 할 수 있다. 이 알고리즘을 적용시키면 cost function을 최소화 시킬 수 있는 것이다. 그러면 이 알고리즘의 원리는 무엇일까?

 

 

자 다시 앞에서 본 그래프를 다시 살펴보자. 이차함수의 각 점들은 각자 경사를 가지게 된다. 만약 5에서 시작을 한다면 W 5일 때 cost function의 기울기는 가파르다. 하지만 계속해서 왼쪽으로 움직이면 기울기는 계속 줄어들게 될 것이다. 이렇게 임의의 점에서 출발하여 기울기가 감소하는 방향으로 W의 값을 움직이면서 기울기가 가장 작은 지점을 찾아간다. 어떤 점에서 시작하더라도 최저점에 도착을 할 수 있다. 그런데 기울기를 사용하려면 미분이라는 방법을 알고 있어야한다. 미분이라는 것이 그 점에서의 기울기를 가르쳐주기 때문이다.

 

Gradient descent algorithm cost function에 적용시키게 되면 다음과 같은 식이 만들어 진다.

 

 

알파의 경우 어떤 간격으로 기울기를 측정할 것인가에 대한 지표이고 그 뒤에 나오는 미분식이 바로 cost function의 기울기를 나타내는 값이다. 앞의 그래프로 생각하면 W 5일 때 기울기는 양수이고 그 값이 크게 된다. 그러면 W라는 값에 그 변화의 양만큼 빼게 되고 그러면 W의 값은 작아져서 5이하의 수를 가지게 된다. 위의 과정을 반복하게 되면 W 0일 때 미분한 기울기 값이 0이 되므로 변화를 하지 않아 최솟값을 가지게 된다. 반대로 W 5일 때를 생각해보면 기울기가 음수이므로 W의 값을 더하게 되어 W 0으로 가게 될 것이다.

 

미분을 적용시킨 gradient descent algorithm을 살펴보자. 이 수식을 기계적으로 작동만 시키면 cost function을 바로 최적화 시킬 수 있게 된다.

 



출처: https://copycode.tistory.com/155?category=740659 [ITstory]

728x90