머신러닝

[머신러닝] 과적합과 규제(regularization)

전감자(◔◡◔) 2022. 10. 28. 01:49

과적합

과적합에는 과대적합과 과소적합이 있다. 

먼저 과대적합에 대해 알아보자 

 

 

 

 

과대 적합 

과대적합 : 모델이 훈련데이터로만 훈련을 너무 많이해서 훈련 데이터에는 너무 잘 맞지만 일반성이 떨어지는 현상 

 

 Q 어떨 때 발생할까?

- 과대적합은 훈련데이터에 있는 잡음의 양에 비해 모델이 너무 복잡할 때 일어난다.

 

Q 해결 방안은?

-1. 파라미터 수가 적은 모델을 선택하거나 (고차원 다항 모델 보다 선형 모델) , 훈련데이터에 있는 feature 수를 줄이거나 ,

모델에 제약을 가하여 단순화 시킨다.

 

- 2. 훈련 데이터를 더 많이 모은다. 

 

- 3. 훈련 데이터의 잡음을 줄인다.(오류 데이터 수정과 이상치 제거)

 

 

 

과소적합

과소적합: 과대적합의 반대이다. 이는 모델이 너무 단순해서 데이터의 내재된 구조를 학습하지 못할 때 발생한다.

 

Q 해결 방안은?

 

-1. 모델 파라미터가 더 많은 강력한 모델을 선택한다.

 

-2. 학습 알고리즘에 더 좋은 특성을 제공 (특성 공학)

 

-3. 모델의 제약을 줄인다. (규제 하이퍼파라미터를 감소시킨다.)

 

 

 

규제 (regularization)

규제란 과대적합을 방지하는 용도로 머신러닝 모델이
훈련 세트를 너무 과도하게 학습하지 못 하도록 훼방하는 것을 의미한다. 




규제 (regularization)란 모델을 단순하게 하고 과대적합의 위험을 감소시키기 위해 모델에 제약을 가하는 것을 말한다.

규제는 알고리즘 모델이 분류인지 회귀인지에 따라 규제 방법이 달라진다. 

 

 

✅ 분류 (classification) 모델의 규제 방법 

- 다양한 하이퍼 파라미터( hyperparameter) 를 활용 

 

 ✅ 회귀 (Regression) 모델의 규제 방법

- 선형 회귀 모델에서는 특성(feature)에 곱해지는 기울기(가중치)의 크기를 작게 만드는 작업이다.(표준화 필수)

 

- 릿지(Ridge, L2)와 라쏘(Lasso, L1) 규제가 제공된다. 

 

 

 

 

릿지(Ridge, L2)

큰 회귀계수 값의 예측 영향도를 감소시키기 위해서 회귀 계수 값을 더 작게 만드는 규제 모델이다. 

alpha 매개변수로 규제의 강도를 조절하며, alpha 값이 크면 규제 강도가 세지므로 계수값을 더 줄이고

조금 더 과소적합 되도록 (모델이 좀 더 단순화 되도록) 유도하여 과대적합을 완화시킨다. 

일반적으로 릿지를 좀 더 선호한다. 

 

라쏘(Lasso, L1)

L2 규제가 회귀계수 값의 크기를 줄이는데 반하여 L1 규제는 예측 영향력이 작은 피쳐(feature) 의 회귀계수를

아예 0으로 만들어버려 회귀 예측시 해당 피쳐(feature)가 선택되지 않게 하는 방법이다.

이러한 특성 때문에 L1 규제는 피쳐(feature) 선택기능이라고도 부른다.