Stochastic Gradient Descent

Stochastic Gradient Descent(SGD)를 알아보겠습니다.


Stochastic Gradient Descent는 우리나라 말로 확률적 경사 하강법이라고 부릅니다.
해당 개념은 Mini Batch Gradient Descent와 동일합니다.
다만 Mini Batch Gradient Descent와 다른 점은 Batch Size(크기)가 1이라는 겁니다.

10,000 개의 데이터가 있다고 한다면, 데이터 1 개씩을 넣어서 Gradient Descent를 진행합니다.
그래서 이 방법은 Cost 함수가 수렴하지 않고 계속해서 움직입니다.
데이터 하나에 대한 Cost 함수이기 때문에 한곳에 모일 수가 없습니다.







데이터 하나씩 계산하기 때문에 속도가 빠르긴 하지만, 이 하나씩 구한 것을 다시 Vectorization(1 차원 행렬화) 할 때 오랜 시간이 걸려서 그다지 이점이 있지는 않습니다.

그리고 Cost의 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()