본문 바로가기

Machine Learning/회귀(Regression)

Regression - Lasso (L1)

반응형

https://steadiness-193.tistory.com/262

 

Regression - Regularization : L1 규제(Lasso), L2 규제(Ridge)

* 수학적 증명, 수식보단 기본 개념과 활용법에 초점을 맞춤 Regularization (정형화, 규제, 일반화) 모델이 과적합되게 학습하지 않고 일반성을 가질 수 있도록 규제 하는 것. 하늘색 선은 오버피팅 �

steadiness-193.tistory.com

 

Lasso의 개념은 위 포스팅에서 살펴보았다.

 

필요한 개념만 한번 더 환기해보자

 

 

 

손실함수에 L1 정규화 항을 더한 것으로 MSE가 최소가 되게하면서도

가중치들의 절댓값의 합 또한 최소가 되게 해야한다.

 

 

가중치가 0이 될 수도 있다는 것이므로 몇몇 특성(feature, x)는 사용하지 않는 셈이다.

 

 

중요한 것은 이용자가 조정하는 α값이다.

 

 

 

α 값의 조절에 따라 사용하는 특성의 개수가 달라지기 때문이다.

 

 

 

 

https://steadiness-193.tistory.com/270

 

Regression - Linear Regression

Linear Regression (선형 회귀) 데이터를 가장 잘 설명해내는 직선을 찾아내는 것. 데이터가 분포되어 있는 공간에서 데이터를 가장 잘 표현하는 선을 긋는 것. 가장 적합간 기울기(가중치, 계수)와 y��

steadiness-193.tistory.com

 

위 포스팅의 진행을 똑같이 가져가되 모델만 Lasso로 바꿔주자

 

 

 

 

Lasso, α=1(default)

 

α=1인 기본값을 그대로 이용하니, r2의 값이 매우 낮게 나왔다.

 

 

 

가중치 확인

 

 

가중치가 한 개 빼고 모두 0이다. 이 말 뜻은 특성(feature)을 하나만 이용했다는 것이다.

 

이렇게 α을 너무 높게 잡으니 underfitting 문제가 발생한 것이다.

 

 

 

 

 

 

Lasso, α 조정

 

 

 

α를 0.001로 매우 낮게 줘본다.

 

 

 

r2 값이 0.969로 높게 나왔다.

 

 

 

가중치 확인

 

 

α를 매우 낮게 줬어도 8개 특성은 사용하지 않은 것으로 보인다. (8개의 가중치가 0)

 

 

이렇게 Lasso는 L1 규제항을 통해 일반화된 모형을 찾을 수 있고

 

모델에서 중요한 특성이 무엇인지 알 수 있게 해준다.

 

 

 

가중치가 0인 컬럼 제외

 

 

 

이전 포스팅의 Linear Regression과의 차이를 보자

 

Linear Regression은 정확도가 0.96으로 Lasso의 r2값과 비슷하다.

 

 

그러나 Lasso는 이용한 컬럼의 개수가 Linear Regression보다 8개가 적다.

 

즉, Lasso는 필요한 컬럼만 적절히 취사선택해서 높은 정확도를 얻어낸 것이다.

 

 

Lasso가 이용한 컬럼

 

참조

https://blueskyvision.tistory.com/193

반응형