2023. 11. 9. 15:47ㆍNAVER AI Tech/Python & AI math
핵심은 미분. 미분 = 기울기!!
- 기울기를 통해 loss가 최적해에 수렴하는 방향을 알 수 있다.
- 구현 시 Gradient Descent 결과가 최적해(=극점)에 도달했을 때 기울기가 0 이므로 해당 지점에 도착했을 대 종료 조건이 필요하다.(정확히 0일 확률은 드물기 때문에 어느정도 오차범위를 설정해주어야 한다.)
현재 지점(var)에서 기울기가 양수
- 오른쪽으로 가면 상승, 왼쪽으로 가면 하강. 따라서 좌표상 왼쪽으로 이동해야하므로 var - (learning rate * grad)
현재 지점(var)에서 기울기가 음수
- 오른쪽으로 가면 하강, 왼쪽으로 가면 상승. 따라서 좌표상 오른쪽으로 이동해야 하므로 var - (learning rate * grad)
- 이때 grad는 기울기. 기울기의 속도를 가지고 learning rate만큼 step을 이동한다~
Gradient Descent : 모든 데이터를 가지고 경사하강 진행.
- 단 지역해에 빠질 위험이 있으므로 Weight 초기 설정이 중요
- 경험적으로 초기 설정을 0이 아닌 random 난수로 설정했을 때 더 성능이 좋다고 알려져있음
Stocahstic Gradient Descent : 데이터 중 하나의 데이터를 추출하여 경사하강 진행
Mini-batch Gradient Descent : 모든 데이터가 아닌 일부 데이터를 추출하여 경사하강 진행
- 지역해에 빠질 확률이 적을 수 있고 수렴속도가 훨씬 빠르다.
- 매번 다른 미니배치를 추출.
'NAVER AI Tech > Python & AI math' 카테고리의 다른 글
15. (Math) scalar, vector, matrix, tensor에 대한 정리 (0) | 2023.11.09 |
---|---|
14. Pandas (0) | 2023.11.08 |
13. Numpy (0) | 2023.11.08 |
12 (Python) Data Handling (0) | 2023.11.08 |
11. (Python) File, Exception, Log에 대해서... (0) | 2023.11.08 |