Python/Machine Learning

[Python ML]규제기법(Regularization)_릿지(Ridge), 라쏘(Lasso), 엘라스틱 넷(Elastic-Net)

sohyunkimmm 2023. 1. 16. 22:11
728x90

* 규제(Regularization)란?

: 우리 말로 정규화라고도 불린다. 독립변수의 수가 지나치게 많거나 변수간 다중공산성이 크다고 여겨질 때, 회귀 모델의 적합 성능을 향상시키기 위해 변수 선택이나 차원 축소 등의 방법을 사용할 수 있는데, 여기서 한 가지 더 선택할 수 있는 옵션이 바로 규제(Regularization)방법이다. 이 방법은 회귀계수를 구할 때, 회귀 계수의 크기에 제약을 두어 설명력이 낮은 독립변수에 대한 가중치를 줄인다. 

 

(설명 출처: https://velog.io/@cleansky/%EC%9D%B8%EC%82%AC%EC%9D%B4%EB%93%9C-%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-%EB%8C%80%ED%91%9C%EC%A0%81%EC%9D%B8-%EA%B7%9C%EC%A0%9CRegularization%EA%B8%B0%EB%B2%95%EB%93%A4-Ridge-Lasso-Elastic-Net)

 

 

사진 출처: https://python.plainenglish.io/a26-regularization-ridge-lasso-elastic-net-how-do-they-work-72f57a7eb1be

 

 

 

1. 릿지 선형 회귀(Ridge)

- 가중치들의 제곱합을 최소화하는 것을 제약조건으로 추가한 기법

- L2 규제: 가중치의 모든 원소가 0에 가까워지는 것을 원하며, 이를 위해 회귀 모델에 사용하는 규제 방식. 0이 되진 않음

Ridge Regression
R2, RMSE 도출

 

 

2. 라쏘 선형 회귀(Lasso)

- 가중치들의 절댓값의 합을 최소화하는 것을 제약조건으로 추가한 기법

- 중요하지 않은 가중치는 0이 될 수 있음

- L1규제 사용

Lasso Regression
릿지, 라쏘 결과값 비교

 

 

3. 엘라스틱 넷(Elastic-Net)

- 릿지와 라쏘를 절충한 모델

ElasticNet
릿지, 라쏘, 엘라스틱넷 결과값 비교

728x90
반응형