DeepFlowest

[모두를 위한 딥 러닝 시즌2] 02_How_to_minimize_cost 본문

딥러닝

[모두를 위한 딥 러닝 시즌2] 02_How_to_minimize_cost

Orange57 2020. 7. 16. 20:05
728x90
반응형
SMALL

앞 포스팅에서 학습의 목적은 Cost함수를 최소화하는 W와 b를 찾는 것이라 했다.

 

즉, 오늘은 cost 함수를 최소화해야 하는데 어떻게 최소화할지에 내한 내용을 다룬다.

 


 

우선 간단한  hypothesis을 생각해보면 cost 함수는 다음과 같이 표현할 수 있다.

 

Hypothesis : H(x) = Wx

Cost :

위 cost 함수 그래프를 보면 cost함수의 최소점이란 빨간 점부분이다.

==> cost가 제일 작게 되는(빨간 점) w를 찾는 것이 우리의 목표이다.

 

 

이를 위해서 최저점을 찾기 위해 나온 것이 Gradient descent algorithm이다.

● Gradient descent algorithm

> 경사를 따라 내려가면서 최저점을 찾는 알고리즘

 

방법 : W와 b값을 랜덤 값으로 정해 --> Cost(W,b)가 작아지도록 업데이트 --> 최저점에 도달 할 때까지 반복

Gradient(기울기)가 움직이면서 최저점(빨간 점)을 찾아간다.

여기서 "기울기 : +, W : - " 의 의미 : 기울기는 양수(+)이고, W는 작은 쪽(-)으로 움직인다.

 

● Gradient descent

> W(Weight)를 계속 수정하면서 업데이트하는 알고리즘

 

learning rate : 기울기 값을 얼마만큼 반영해서 W에서 뺄지 결정하는 계수

  • ex) learning rate값이 크다면 큰 값을 빨리 빼서 크게 변할 것임 ( W의 값이 큰 폭으로 움직일 것임), 주로 0.001 같은 작은 값을 사용

기울기의 최소 값을 구하기 위해서 cost함수를 미분해야 하는데 현재 cost함수는 제곱근 때문에 미분하면 2가 나오기 때문에 복잡해진다. 따라서 식을 다음과 같이 변경한다.

다시 W에 대입해서 미분해보면 다음과 같다. ( ==> 미분하는 이유 : 최소값 구하려고)

728x90
반응형
LIST
Comments