-
ML lec 03 - Linear Regression의 cost 최소화 알고리즘의 원리 설명IT/딥러닝(모두를 위한 딥러닝) 2017. 11. 7. 18:17
기존의 수식과 손실함수(MSE)
출처: 모두를 위한 딥러닝
위 식을 보면, H(x)가 Wx+b라면, 손실함수(Mean Square Error)는 위의 cost(W,b)처럼 나타낼 수 있다. 이 식들을 간략하게 다음과 같이 만들어보고자 한다.
출처: 모두를 위한 딥러닝
이제 이 식을 사용해서 간단한 예를 들어보겠다.
1)W = 1이면,
cost(W) = (1/3)*((1 * 1 - 1)^2 + (1 * 2 - 2)^2 + (1 * 3 - 3)^2) = 0 이다.
2)W = 0이면,
cost(W) = (1/3)*((0 * 1 - 1)^2 + (0 * 2 - 2)^2 + (0 * 3 - 3)^2) = 14/3 = 3.67 이다.
코스트를 작게한다는 것은 W값을 점점 데이터에 적합하게 만든다는 의미
W값이 적합해진다는 것은 데이터들에 대해서 바른 선을 그을 수 있다는 것이고 추후의 예측 정확도도 높아진다는 의미
그러므로 우리는 코스트를 작게할 필요가 있다.
출처: 모두를 위한 딥러닝
cost(W)함수는 위와같이 m이 아닌 2m으로 나누는 식으로 변경한다. 그 이유는 이후 gradient descent algorithm을 적용할 때, cost(W)함수를 미분할 때, 발생한는 상수 2를 상쇄하기 위함이다.
출처: 모두를 위한 딥러닝
cost를 어떻게 줄이냐?
Gradient Descent Algorithm(경사하강법)을 사용한다.
Gradient Descent Algorithm이란?
cost function의 값을 줄여줌
많은 최소화 문제에 사용됨
cost(W,b)라는 함수가 주어질 때, cost값을 줄이기 위해, 알맞은 W와 b값을 찾아줄것임
cost(w1, w2, ...)와 같이 보다 일반적으로 적용될 수 있다.
출처: 모두를 위한 딥러닝
어떻게 작동하는가?
초기 추측과 함께 시작
시작은 아무곳에서나 하 수 있다.
W와 b를 바꾸면서 cost(W,b)를 줄이기 위해 노력한다
Parameter(W와 b)를 매버 변경하면서, cost(W,b)를 줄일 수 있는 경사(미분을 사용)를 선택한다
반복
local minimum(지역적 최소값)에 수렴할 때까지 한다
출처: 모두를 위한 딥러닝
Convex Function
시작을 어디서하냐에 따라 학습이 끝나는 지점이 달라질 수 있다.
즉, 지역적 최소값의 문제가 발생할 수 있다.
출처: 모두를 위한 딥러닝
그래서 Gradient Descent Algorithm을 적용하기전에 Cost function이 Convex Function의 모양인지 확인해야한다.
그래야 언제나 일정한 답을 구할 수 있다.
출처: 모두를 위한 딥러닝
출처: 모두를 위한 딥러닝'IT > 딥러닝(모두를 위한 딥러닝)' 카테고리의 다른 글
ML lec 04 - multi-variable linear regression (0) 2017.11.07 ML lab 03 - Linear Regression 의 cost 최소화의 TensorFlow 구현 (0) 2017.11.07 ML lab 02 - TensorFlow로 간단한 linear regression을 구현 (0) 2017.11.07 ML lec 02 - Linear Regression의 Hypothesis 와 cost 설명 (0) 2017.11.07 ML lab 01 - TensorFlow의 기본적인 operations (0) 2017.11.07