티스토리 뷰
2. Neural Networks / L1. Introduction to Neural Networks - Gradient Descent Algorithm
chrisysl 2018. 6. 29. 11:10Gradient Descent Algorithm
- pseudo code를 작성해보도록 하자.
- 랜덤한 weights에서 시작하여(W1, ..., Wn, b) 전체 확률 함수가 sig(Wx + b)로 주어진다.
- 그리고 모든 점의 error를 계산하고, 앞서 해온것과 동일하게
- 점이 제대로 분류가 되어있으면 error 값은 작고, 점이 잘못 분류(misclassified)되어있으면 error 값은 크다.
- 그 다음 좌표상의 모든 점(X1, ..., Xn)에 대해 learning rate를 고려하여 Weights를 업데이트
- Weights를 업데이트한다는말은 즉, W'과 b'을 구한다는 얘기이고
- 이는 이와같이 구할 수 있다.
- 근데 우리는 이미 우측의 편미분값에 대해 앞서 yHat과 y의 관계로 대체할 수 있음을 확인하였고
- 이와같이 대체하여 구할 수 있다.
- 이제 이를 반복하면 되는데, 에러가 최소화 될 때 까지 반복해도 되고, 고정된 횟수만큼 반복해도 된다.
- 전체 완성된 알고리즘을 봐보면 weights를 곱하여 점점 에러를 최소화 해 간다는 점이
- 퍼셉트론 알고리즘과 유사한 것을 알 수 있다.