-
머신러닝: 최적화(Optimization) 공부하기 (Gradient descent, SGD)머신러닝 2020. 10. 5. 11:48
Optimization에 대해 알아보기전, Loss function에 대한 선행이 되어 있어야 한다.
<최적화(Optimization)>
머신러닝 최적화란 loss function의 결괏값을 최소화하는 모델의 인자를 찾는 것
기울기 개념을 이용하여 경사도가 가장 심한 W의 element를 찾는다.
W에 적당히 작은 h를 더해서
dW를 구한후 가장 작은 element를 찾는다.
하지만 W의 수많은 화소 값들에 대해 이런 방식으로
dw를 구하기에는 무리이므로 미분을 이용한다.
미분을 이용하여 가장 작은 결괏값을 찾는 것을 Gradient Descent 방식이라 한다.
가장 작은 element의 값을 조금씩 조정함으로써 W값을 바꾸고
이를 반복한다.
< SGD(Stochastic Gradient Descent)>
요즘에도자주 사용되기 때문에 중요한 개념이라 한다.
Gradient Descent 방법은 전체의 데이터(batch)를 계산하며 움직이는 방법이기에
정확하지만 느리다.
그래서 덜 정확하지만 속도를 높이기 위해 SGD를 이용한다.
batch로부터 작은 데이터(mini batch)를 이용해 W를 조정하여
loss가 0이 되는 W를 찾는다.
반응형'머신러닝' 카테고리의 다른 글
머신러닝: 역전파(back propagation) 공부하기(개념, 예제) (0) 2020.10.08 머신러닝: Image Feature를 이용한 Classification? Neural Network란? (2) 2020.10.07 머신러닝: Loss function이란? (Multiclass SVM loss, Softmax Classifier ) (0) 2020.10.01 머신러닝: K-nearest neighbors란? 왜 Linear classification을 사용할까 (0) 2020.09.26 머신러닝: SVM이란? Linear classifiers, Dual form 공부하기! (0) 2020.09.14