iMTE

Regularization 본문

Machine learning

Regularization

Wonju Seo 2018. 6. 18. 15:55

Regularization


머신러닝 모델이 학습 데이터를 잘 설명하고, 테스트 데이터를 잘 설명하지 못한다면 이는 모델이 overfitting (과적합)이 되어 있을 가능성이 매우 크다. 과적합된 모델은 많은 rules을 가지고 있어, noise 성분도 학습을 했을 가능성이 있다. 노이즈가 무시할 정도의 수준이 아니라면 이 모델은 noise에 의해서 high variance를 갖게되며 이는 모델의 일반화 성능을 나쁘게 만들어낸다.


모델은 bias와 variance의 개념을 이해하는 것이 좋다. 가장 좋은 모델은 낮은 bias와 variance를 갖지만, 사실 이런 모델을 만들기는 매우 어렵고, bias를 낮추다 보면 variance가 증가하고, variance를 낮추다 보면 bias가 증가하는, trade-off 관계가 있다. bias는 모델의 평균과 실제 label의 평균의 차이 이며, variance는 모델의 결과의 variance이다. 


많은 machine learning model들은 모델이 과적합되는 문제를 겪게 된다. 예를 들어, Neural Network를 학습시키다보면, 어느 순간 training loss가 test loss보다 줄어들고, test loss가 증가하는 순간이 생기는데, 이런 경우가 바로 overfitting된 상태이다. 


너무 과하게 학습을 하지않는 방법 그것이 바로 Regularization 이다.


주로 사용되는 regularization 방법으로는,


1. Early stopping 


- validation loss가 training loss보다 작아지고, validation loss가 증가할 때 training을 멈추는 것을 의미한다.


2. L2 regularization


- overfitting 되는 경우, 몇몇 neuron의 weight이 과다하게 커지는 경우가 있다. 이러한 경우, noise 데이터가 들어오게 되는경우에 심각하게 결과가 변화하면서 큰 variance가 나타난다. 따라서, weight의 크기를 제약해주는 방법을 사용하고 cost function은 다음과 같이 표현된다.



L2 regularization이 regression problem에 적용되는 경우에 ridge regression이라고 정의한다.


3. L1 regularization



- L2 regularization과 달리 square가 아닌 절대값을 이용하는 방법이다. L1 regularization이 regression problem에 적용되는 경우에 lasso regression이라고 정의한다. Lasso regression은 outlier에 강인할 뿐만 아니라, high correlated된 input feature들에서 meaningful한 feature를 selection하는데 사용된다.


실제로 NN에 정규화를 적용시키면 일반화 성능이 더 좋아진다. 하지만, 최신(?) Batchnormalization, dropout 방법들도 regularization의 효과를 나타냄으로, 어떤 방법을 선택할지는, 네트워크 설계자의 마음대로이다. (사실은 hyperparameter tuning이다.)


'Machine learning' 카테고리의 다른 글

Likelihood function and Maximum Likelihood Estimation  (0) 2018.06.17
Boosting and AdaBoost  (0) 2018.06.12
확률 행렬과 Markov Chain  (0) 2018.06.12
PCA 주성분 분석  (0) 2018.06.11
Genetic Algorithm  (4) 2018.06.11
Comments