과적합
과적합에는 과대적합과 과소적합이 있다.
먼저 과대적합에 대해 알아보자
과대 적합
과대적합 : 모델이 훈련데이터로만 훈련을 너무 많이해서 훈련 데이터에는 너무 잘 맞지만 일반성이 떨어지는 현상
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) 선택기능이라고도 부른다.
'python > ML' 카테고리의 다른 글
[머신러닝] 순서없는 범주형 인코딩 (0) | 2022.11.01 |
---|---|
[머신러닝] scaling (0) | 2022.10.22 |
[머신러닝] 사이킷런(sklearn) 내장데이터 샘플 가져오기 붓꽃데이터 (0) | 2022.10.22 |