본문 바로가기

Deep Learning

0202 Regularized Linear Models

학습 중에 흔히 겪는 문제 중 하나가 바로 과대적합(overfitting)이다. 이번 장에서는 과대적합을 감소시키기 위한 방법 중 하나인 규제에 대해 설명해보려 한다.

선형 회귀 모델에서는 보통 모델의 가중치를 제한하여 규제를 가한다. 대표적인 규제 방법으로는 3가지가 있다.

  • 릿지 회귀
  • 라쏘 회귀
  • 엘라스틱 회귀

릿지회귀

릿지회귀는 규제가 추가된 형태의 선형 회귀이다. 규제항 𝛼∑𝑖=1𝑛𝜃𝑖2 이 Cost함수에 추가가 된다. 이는 학습을 통해 모델을 데이터에 맞추는 것 뿐만 아니라 모델의 가중치가 되도록 보수적으로 유지되도록 한다.

규제항은 가중치 벡터의 L2-norm이다. 

규제항의 가중치 알파가 커질수록 분산은 줄지만 편향은 커진다.

모델의 분산과 편향은 trade-off 관계에 있으며 적절히 튜닝을 해주어야 한다.

라쏘회귀

라쏘 회귀는 선형 회귀의 또 다른 규제 버전이다. 릿지회귀와 같이 비용함수에 규제항을 더하는 방식이지만 대신 L1-norm을 사용한다.

라쏘회귀의 특징은 덜 중요한 특성의 가중치를 제가하려고 한다는 점이다.(가중치가 0이 된다). 알파값을 적절히 튜닝했을 때, 기존 높은 차수의 다항 특성의 가중치가 모두 0이 된다. 다시말해 라쏘 회귀는 자동으로 특성을 선택하고 희소 모델을 만든다. (sparse model)

위 그림에서 각 축은 모델 파라미터를 나나태고 등고선은 손실함수의 추이를 나타낸다. 파라미터의 초기값은 𝜽1=2, 𝜽2=0.5이다. 라쏘, 릿지의 규제항을 각각 l1, l2로 표현했다.

 

좌측 상단의 그래프는 전형적인 L1-norm 형태를 보여주고 있다. 학습곡선의 특징은 두 개의 파라미터가 똑같은 비율로 학습되고 있다는 점이다. 우측 상단의 Lasso 그래프의 경우에도 같은 비율로 학습이 진행되며 빨간 네모점에서 최적화가 이루어지고 있음을 알 수 있다. 알파가 커진다면 전역 최적점이 노란선을 따라 좌측으로 이동하고 알파값이 작아진다면 최적점이 우측으로 이동한다.

 

아래 두개의 그래프도 동일하지만 L2 패널티를 사용한다. 왼쪽 아래 그래프에서 L2의 손실은 원점에 가까워질 수록 줄어드는 것을 확인할 수 있다. 오른쪽 아래는 릿지 회귀의 그래프이다. 라쏘 회귀 그래프와는 크게 두 가지 차이점이 있다.

  1. 파라미터가 전역 최적점에 가까워질 수록 기울기가 작아진다. 따라서 경사하강법이 자동으로 느려지고 수렴에 도움이 된다.
  2. 알파를 증가시킬수록 최적의 파라미터가 원점에 더 가까워진다. 하지만 0이 되지는 않는다.

L1-norm이 크면 많은 가중치들이 0이 되거나 0에 가까워진다. 따라서 훈련셋에서의 예측 정확도는 상대적으로 덜 중요해진다. 알파값이 커지는 경우가 이에 해당한다. 반대로 알파 값이 작아지는 경우는 규제항의 영향이 상대적으로 줄어 기존에 해결하고자 했던 과대적합이 유지될 것이다.

라쏘 회귀모델에서 알파 값을 1로 설정한 경우에는, 가중치 중에서 대부분의 특성이 0이 되며 소거가 된다. 이 경우 테스트셋을 통해 점수를 측정해보면 과소적합이 발생한다. 

엘라스틱넷

엘라스틱넷은 릿지 회귀와 라쏘 회귀를 절충한 모델이다. 규제항은 릿지와 라쏘 회귀의 규제항을 단순히 더해서 사용하며, 혼합 정도는 비율 r을 통해서 조절한다. r = 0이면 릿지 회귀와 같고, r = 1이면 라쏘 회귀와 같다.

조기종료

경사 하강법과 같은 반복적인 학습 알고리즘을 규제하는 다른 방식으로는 조기종료가 있다. 조기종료는 검증 에러가 최소값에 도달하면 훈련을 중지시키는 것을 의미한다. 이를 조기 종료라고 한다.

 

의문점들

과대적합은 모델이 복잡하다는 의미를 가지고 있다. 따라서 모델을 학습할 때, 덜 복잡한 모델을 섞어주기 때문에 차수가 떨어지나?

경사하강법을 할때, 에러가 크면 클수록 더 급하게 가까워지는데 이게 최적화할때 어떤 의미를 갖지?

 

 

'Deep Learning' 카테고리의 다른 글

0206 Vanishing / Exploding Gradient  (0) 2022.04.17
0204 Cross Validation / Confusion Matrix  (0) 2022.04.12
0203 Logistic Regression  (0) 2022.04.12
0201 Regression Model  (0) 2022.04.12
딥러닝 01::퍼셉트론에서 손실함수 까지  (0) 2022.03.22