-
Gradient DescentSoftware/Deep Learning 2018. 12. 5. 00:13반응형
Training set의 w,b 파라미터 값을 학습시키기 위해 gradient descent 알고리즘을 사용할 수 있다.
여기에 Gradient descent를 나타내는 3차 그래프가 있다.
이 다이어그램의 높이값은 Cost function인 J(w, b)를 의미하고 수평축은 각각 w, b를 의미한다.
Cost function J는 convex function (볼록 함수) 이다. Cost function이 nonconvex function이 아닌 convex function이라는 사실은 w, b를 초기화 하는데 있어 매우 큰 의미를 가진다.
일반적으로 w, b를 어떤 초기값으로 초기화 할 때 우리는 0값을 쓰기도 하고 때로는 랜덤값을 사용하기도 한다. 그러나 cost function이 convex function이기 때문에 어디서 초기화를 하던지 무관하게 우리는 같은 지점 혹은 거의 같은 지점의 값을 얻을 수 있다.
우리는 Gradient descent 알고리즘을 통해 가장 낮은 값의 cost function값을 가지게 하는 w, b를 찾을 수 있다. 위 3차 그래프의 극값에 이를 때까지 함수의 기울기를 구하여 기울기가 낮은 쪽으로 계속 이동시키는 것이다.
w := w - 𝚊 𝒹J(w) / 𝒹w (𝚊 = learning rate)
w. = w - 𝚊 𝒹w
극값을 기준으로 좌측에 w가 위치해 있는 경우 𝒹J(w) / 𝒹w 값이 음수 값을 가지므로 gradient descent 알고리즘을 적용할 때 마다 w의 값은 점차 커지게 되며 결국 극값에 이르게 된다.
극값의 오른쪽에 w값을 가지게 되는 경우는 이와 반대로 기울기 값이 양수 값을 가지므로 알고리즘을 적용할 때 마다 w의 값은 극값을 향해 작아짐을 알 수 있다.
J(w, b)
w := w - 𝚊 𝒹J(w, b) / 𝒹w 𝒹J(w, b) / 𝒹w -> "𝒹w"
b := b - 𝚊 𝒹J(w, b) / 𝒹b 𝒹J(w, b) / 𝒹b -> "𝒹b"
반응형'Software > Deep Learning' 카테고리의 다른 글
Logistic Regression: Cost Function (0) 2018.12.05 Logistic Regression (0) 2018.12.03 Binary Classification (0) 2018.12.03 댓글