본문 바로가기

파이썬/머신러닝,딥러닝

모델 복잡도 제한을 위한 L1 , L2 규제

 

모델이 test 데이터셋보다 train 데이터셋에서 성능이 훨씬 높다면 과대적합이라고 한다.

 

→ 모델 파라미터가 훈련 데이터셋에 있는 특정 샘플들에 대해 너무 가깝게 맞추어져 있다는 것

새로운 데이터에는 잘 일반화하지 못하기 때문에 모델 분산이 크다고 한다.

과대적합의 이유는 주어진 훈련 데이터에 비해 모델이 너무 복잡하기 때문

 

일반화 오차를 감소시키기 위한 방법

  • 더 많은 train 데이터를 모은다.
  • 규제를 통해 복잡도를 제한한다.
  • 파라미터 개수가 적은 간단한 모델을 선택한다.
  • 데이터 차원을 줄인다.

 

4.5.1 모델 복잡도 제한을 위한 L1 규제와 L2 규제

 

  • 가중치 벡터 w 의 L2 규제 , L1 규제

- L1 규체는 보통 희소한 특성 벡터를 만든다.

- 대부분의 특성 가중치가 0 이 된다.

    → 관련없는 특성이 많은 고차원 데이터셋일 경우 희소성이 도움이 된다.

    → train 샘플보다 관련 없는 특성이 더 많은 경우

 

 

 4.5.2 L2 규제의 기하학적 해석

L2 규제는 비용함수에 패널티 항을 추가한다.

규제가 없는 비용 함수로 훈련한 모델에 비해 가중치 값을 아주 작게 만드는 효과를 낸다.

두 개의 가중치 값 w1, w2 에 대한 볼록한 비용 함수의 등고선을 그려보자.

 

제곱 오차합(SSE) 의 비용함수가 구 모양이여서 로지스틱 회귀의 비용 함수보다 그리기 쉽다.

목표 : train 데이터에서 비용함수를 최소화하는 가중치 값의 조합을 찾는 것

 

그림 1 _ L2 규제와 비용함수

 

규제를 더 작은 가중치를 얻기 위해서 비용함수에 추가하는 패널티 항으로 생각할 수 있다.

규제 파라미터 람다로 규제의 강도를 크게 하면 가중치가 0 에 가까워지고, train set에 대한 모델의 의존성은 줄어든다.

 

이는 모델을 학습할 만한 충분한 훈련 데이터가 없을 때 편향을 추가하여 모델을 간단하게 만듦으로써

분산을 줄이는 것으로 해석할 수 있다.

 

 

4.5.3 L1 규제를 사용한 희소성

 

 

w1 = 0 일때 비용함수의 등고선이 L1 다이아몬드와 만나는 것을 볼 수 있다.

 

L1 규제의 등고선은 날카롭기 때문에 비용함수의 포물선과 L1 다이아몬드의 경계가 만나는 최적의 점은 축에 가깝게 위치할 가능성이 높다. 이것이 희소성이 나타나는 이유이다.


 

 

 

 

 

 

람다를 계속 증가시키면 MSE는 계속 감소하지만 어느 순간 증가,

   그러므로 특정 부근에서 람다값을 정해주는 것이 좋다.

 

 

Lagrangian 최적화 기법으로 표현

 

 

 

 

 Elastic 회귀 방법 

 

 

 

참고 : 머신러닝 교과서 with 파이썬, 사이킷런, 텐서플로