본문 바로가기

ML with SckitLearn

Regulation(규제) 선형 모델에 대한 개요 - 릿지(Ridge), 라쏘(Lasso), 엘라스틱(Elastic Net)

반응형

규제 선형 모델의 개요

 

좋은 머신러닝 회귀 모델은 적절히 데이터에 적합하면서도 회귀 계수가 기하급수적으로 커지는 것을 제어할 수 있어야 합니다. 이전까지 선형 모델의 비용 함수는 RSS를 최소화하는, 즉 실제 값과 예측값의 차이를 최소화하는 것만 고려했습니다. 그러다 보니 학습 데이터에 지나치게 맞추게 되고, 회귀 계수가 쉽게 커지게 되는 경향이 있습니다.

 

이럴 경우 변동성이 오히려 심해져도 테스트 데이터 세트에서는 예측 성능이 저하되기 쉽습니다. 이를 반영해 비용 함수는 학습 데이터의 잔차 오류 값을 최소화하는 RSS최소화 방법과 과적합을 방지하기 위해 회귀 계수 값이 커지지 않도록 하는 방법이 서로 균형을 이뤄야 합니다.

 

결론적으로 회귀 계수의 크기를 제어해 과적합을 개선하려면 비용(Cost) 함수의 목표는 아래와 같다.

 

최적 모델을 위한 Cost 함수 목표 = Min(학습데이터 잔차 오류 최소화 + 회귀계수 크기 제어)

 

alpha는 학습 데이터 적합 정도와 회귀 계수 값의 크기 제어를 수행하는 튜닝 파라미터이며 W는 회계 계수입니다. 그러므로 비용 함수의 결과를 낮추기 위해서는

 

1.alpha=0인 경우는 W가 커도 "alpha||W||22"값이 0이 되어 비용 함수는 Min(RSS(W))가 된다.

2.alpha=무한대인 경우 "alpha||W||22"도 무한대가 되므로 비용 함수는 W를 0에 가깝게 최소화 해야 한다.

 

즉, alpha를 0에서부터 지속적으로 값을 증가시키면 회귀 계수 값의 크기를 감소시킬 수 있습니다. 이처럼 비용 함수에 alpha값으로 페널티를 부여해 회귀 계수 값의 크기를 감소시켜 과적합을 개선하는 방식을 규제(Regularization)라고 부릅니다. 규제는 크게 L2방식과 L1방식으로 구분이 됩니다.

 

L2규제는 W의 제곱에 대해 페널티를 부여하는 방식으로 릿지(Ridge)회귀라고 합니다.

L1규제는 W의 절댓값에 대해 페널티를 부여하는 방식으로 라쏘(Lasso) 회귀라고 합니다.

반응형