AI/ML(패스트 캠퍼스) - 규제가 적용된 회귀모델들

 

Rige회귀, Lasso 회귀, 그리고 ElasticNet

  1. Ridge 회귀
    • L2 규제를 적용한 회귀 모델
    • 비용 함수

      $MSE(\theta) + \alpha\frac{1}{2}\sum_{i=1}^{n}\theta_i^2$

    • Scikit-learn 패키지 : sklearn.linear_model.Ridge
    • alpha 파라미터로 규제 적용 정도를 결정
    • coef_ 속성으로 가중치를 확인
    • 가중치의 크기가 클수록 영향을 많이 받음
  2. Lasso 회귀
    • L1 규제를 적용한 회귀 모델
    • 비용 함수

      $MSE(\theta) + \alpha\sum_{I=1}^{n}\left|\theta_i\right|$

    • Scikit-learn 패키지 : sklearn.linear_model.Lasso
    • alpha 파라미터로 규제 적용 정도를 결정
    • coef_ 속성으로 가중치를 확인
    • 크기가 작은 가중치를 0으로 만드는 효과
  3. ElasticNet
    • L1 규제와 L2 규제를 혼합하여 사용하는 모델
    • 비용 함수

      $MSE(\theta) + r\alpha\sum_{I=1}^{n}\left|\theta_i\right| + \alpha\frac{1-r}{2}\sum_{i=1}^{n}\theta_i^2$

    • Scikit-learn 패키지 : sklearn.linear_model. ElasticNet
    • alpha 파라미터로 규제 적용 정도를 결정
    • 비용함수를 보면 $MSE(\theta)$에 r이라는 값이 추가된 Lasso 회귀의 규제항이 더해지고 거기에 다시 r 값이 추가된 Ridge 회귀의 규제항이 더해진다. 이 r이 0일 경우에는 Ridge 회귀의 규제항만 남고 반대로 r이 1일 경우에는 Lasso 회귀의 규제항만 남는다. 이렇듯 r 값을 이용하여 L2 규제와 L1 규제를 각각 어느 정도로 적용할지를 결정하게 되며 API 상의 파라미터는 l1_ratio다.
    • coef_ 속성으로 가중치를 확인
    • 특성 수가 훈련 샘플 수보다 많거나 특성 몇 개가 강하게 연관되어 있는 경우 효과가 좋다.

선형 회귀의 간략한 정리

1. 일반 선형회귀는 가급적 사용하지 않는 것이 좋다.

2. 일반적으로는 Ridge 회귀가 가장 성능이 좋다.

3. 실제로 영향을 미치는 특성의 수가 적다면 Lasso 회귀나 ElasticNet의 성능이 좋다.