선형 회귀 모델(Linear Regression Model) -2

4. SGD(Stochastic/Sequential Gradient Descent)


머신러닝에 대해 공부하다보면 SGD라는 단어가 종종 나옵니다. SGD는 무엇의 약자인지 알아보면, Stochastic/Sequential Gradient Descent 확률적/순차적 경사 하강법으로써 임의로 샘플들을 선택하여 그것들의 gradient값을 구하고, error function이 최소화 되는 지점으로 내려가기에 SGD라는 이름이 붙었습니다. 우리가 regression model에서 구하고 싶은 $\mathbf{w}$에 대한 SGD는 아래와같이 재귀적으로 표현이 가능합니다.
$$\mathbf{w}^{(n+1)} = \mathbf{w}^{(n)} - \alpha \nabla E_n $$
여기서 $\mathbf{w}^{(n)}$은 n번째 업데이트한 $\mathbf{w}$을 의미하고, $\alpha$는 학습률, $E_n$은 우리가 선택한 오차 함수를 의미합니다. 학습률은 너무 크거나 작게 되면 오차가 최소가 되는 지점을 찾는데 어려움을 겪을 수 있으니 적당한 값을 잡는것이 중요합니다.

5. Regularized least squares

우리가 학습을 진행하다 보면 over-fitting 문제가 발생하게 됩니다. over-fitting 문제에 대해서 간단히 설명을 하면, 우리가 만든 모델이 일반화되지 못하고 학습된 데이터에만 적합하게 만들어진 문제를 의미합니다. 이를 막기 위해 error function에 아래와 같이 항을 추가하게 됩니다.
$$ E_D (\mathbf{w}) + \lambda E_W (\mathbf{w})$$

Reference

1. Pattern Recognition and Machine Learning, p143-144, Christopher bishop
2. Wikipedia https://en.wikipedia.org/wiki/Stochastic_gradient_descent

댓글

이 블로그의 인기 게시물

GAN의 문제점 (Mode Collapse)

선형 회귀 모델(Linear Regression Model) -1

회귀-분산 분해 (The Bias-Variance Decomposition)