Gradient Descent

Gradient Descent를 알아보겠습니다.


Gradient Descent는 한국말로 경사 하강법이라 부릅니다.
Cost 값이 최소가 되는 부분을 찾아 계속해서 내려가기 때문인데요.
z = wx + b에서 이 z에 대한 Cost 값을 구합니다. 
아래는 linear Regression에 대한 Cost Function입니다.


여기서 Y hat이 z와 동일합니다.


Cost 값을 W로 미분한 것을 이용합니다.



Gradient Descent의 식은 다음과 같습니다.

여기서 w뿐만 아니라 b도 식이 있지만, 생략하도록 하겠습니다.



여기서 α는 learning rate라고 하며, 사용자가 조절하는 hyperparameters입니다.



W가 최소가 되는 지점은 dW가 0이 되므로 더 이상의 W 하강은 없게 됩니다.

그래서 Gradient Descent는 최저점을 찾는 알고리즘이라고 할 수 있습니다.


하지만, W가 저렇게 간단하지 않은 경우는 문제가 됩니다.

이 경우, local minimum과 global minimum이 다르게 되기 때문입니다.

즉, 정말 Cost가 낮은 W는 다른 곳에 있는데, local minimum에 갇혀 더 이상 학습이 되지 않는 것을 말합니다.



끝.



카테고리: Machine learning

댓글

이 블로그의 인기 게시물

Python urllib.parse.quote()

Python OpenCV 빈 화면 만들기

tensorflow tf.random.uniform()

Android Notification with Full Screen

KiCad 시작하기 2 (PCB 만들기)

Android Minimum touch target size

Python bs4.SoupStrainer()

KiCad 시작하기 4 (기존 회로도 수정 및 추가)

음악 총보(Score), 파트보(Part)

tensorflow tf.expand_dims()