728x90
AdaGrad
- 일정한 학습률을 사용하지 않고 변수마다 스텝마다 학습률을 다르게 하는 기법
- 시간이 지날수록 학습률이 줄어듦
- 큰 변화를 겪은 변수는 학습률이 대폭 작아지고 작은 변화를 겪은 변수의 학습률은 소폭으로 작아짐
- feature 마다 중요도, 크기가 다르기 때문에 제안됨
수식
$$ g_{t} = g_{t-1}+ (\nabla f(x_{t-1}))^{2} $$
$$ x_{t}= x_{t-1} - \frac{ \alpha }{ \sqrt{g_{t}+ \epsilon }} . \nabla f(x_{t-1}) $$
- \( g \) : 기울기 누적 크기
- \( \epsilon \) : 분모가 0이 되는 것을 방지하는 작은 값
- \( \alpha \) : 학습률 (Learning rate)
x, y 는 \( \theta \) 값이다.
단점
- 스텝이 진행되면 누적 \( g \) 의 값이 커져 학습률이 작아져 학습이 거의 되지 않는 문제가 발생함
- 이를 개선한 Optimizer는 RMSProp이다
728x90
'Machine Learning > 기법' 카테고리의 다른 글
[ML] 회귀 모델 (0) | 2023.01.04 |
---|---|
[ML] 다중 분류 모델 (0) | 2023.01.04 |
[ML] 활성화 함수 Activation Function (0) | 2022.09.05 |
[Optimizer] Adam Adaptive Moment (0) | 2022.08.15 |
[Optimizer] RMSProp Root Mean Sqaure Propagation (0) | 2022.08.15 |