ETC/머신러닝, 딥러닝 실습

2-5. Linear Regression cost함수 최소화 개념

개발자킹콩 2020. 10. 29. 00:04

모두를 위한 머신러닝 / 딥러닝: hunkim.github.io/ml/

 

 


 

지난시간 배웠던 것

 

 

저번 시간에 배웠듯이 우리는 Wx+b라는 Hypothesis로 model을 만들었고

실제 값과의 차이의 제곱평균하여 cost를 구하는 것인데,

이때 학습과정에서 cost를 줄이는 최적의 W와 b를 찾아

데이터가 근사된 일차함수를 찾는 것이 목적이다.

 

 


 

How to minimize cost (어떻게 cost를 최소화 할까?)

 

 

 

여기서 b가 없다고 가정하여 비교적 쉬운 hypothesis 모델을 만들어 보자

 

 

 

 

위의 그래프는 Cost와 W(weight)의 관계를 그래프로 그린 것이고 

여기서 cost가 최소인 값을 기계식으로 찾아가는 것인데 이때 알고리즘이 필요하다.!!!

 

 


 

 

 

이때 많이 사용되는 알고리즘이다.

경사를 따라 내려가는 알고리즘이다.

 

 

 

어떻게 동작하는가? 어느 점에서나 시작할 수 있다

W의 값과 b 값을 조금씩 바꿔가며 경사도가 줄어드는 방향으로 계속 가는 것이다.

경사도는 미분을 이용한다.

미분을 쉽게 이용하기 위해 cost의 Formal을 바꾸어 정의하자.

 

 

 

 

2m으로 나누어도 의미가 바뀌지는 않는다.

여기서 cost(W)를 W에 대해서 미분하고 알파상수를 곱해서 본래의 W(weight)에서 빼준다.

두번째 항의 값이 (+)였다면 W의 값을 줄이는 방향으로,

(-)였다면 W의 값을 늘리는 방향으로 나아가게 되고

변경된 W(weight)의 값으로 그 다음을 반복진행한다. 

 

 

 

3번째 값이 미분을 행한 값이고, 반복 진행을 하면서 W의 값은 최소cost를 구하는 방향으로 나아가게 된다.

 

 

 

 

 

 

해당 그래프에서는 optimal한 최소 cost를 못 구할 수 있다.

 

Gradient descent algorithm에서는 아래와 같이 convec function이 되는지 확인해야

optimal한 최소 cost를 구할 수 있음이 보장된다.

 

 

 

 

 

 

이상!! 오늘도 감코!!