본문 바로가기

Machine Learning/회귀(Regression)

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

반응형

* 수학적 증명, 수식보단 기본 개념과 활용법에 초점을 맞춤

 

 

Regularization (정형화, 규제, 일반화)

모델이 과적합되게 학습하지 않고 일반성을 가질 수 있도록 규제 하는 것.

 

https://www.verdazo.com/blog/machine-learning-finding-the-signal-or-fitting-the-noise/

 

 

하늘색 선은 오버피팅 될 수 있으므로 빨간색 점선으로 모델이 설정될 수 있게 해주는 작업이다.

 

 

데이터의 feature에는 손대지 않고 최대한 하늘색 선을 펴주려면

 

기울기(가중치)를 건드리면 된다.

 

이때 이용하는 것이 Lasso, Ridge이다.

 

 

 

 

 

 

Lasso
(least absolute shrinkage and selection operator)

 

 

w는 가중치(기울기)를 의미한다.

 

MSE + penalty

 

 

MSE (손실함수)에 α를 곱한 L1규제항을 더한 것이다.

 

(비용함수에 가중치 파라미터의 절댓값을 모두 합한 형태)

 

 

 

학습의 방향이 단순히 손실함수를 줄여나가는 것 뿐만 아니라

 

가중치(w)값들 또한 최소가 될 수 있도록 진행된다.

 

(w의 부호에 따라 상수값을 빼주는 방식)

 

 

 

 

여기서 중요한 것은 α값이다.

 

사용자가 조정할 수 있는 하이퍼파라미터이기 때문이다.

 

α 가중치 결과
underfitting
overfitting

 

 

α 값을 높이면 (α=1) 어차피 전체 페널티의 값도 줄여야하니

 

l가중치l의 합도 줄이도록 학습한다.

 

 

계속해서 특정상수의 값을 빼나가는 것이므로

 

몇몇 가중치들은 0으로 수렴하고 이에 따라 feature의 수도 감소하게 된다.

 

 

즉, 구불구불한 그래프를 feature의 수를 감소시키면서 펴주고

 

일반화에 적합하도록 만드는 것이다.

 

 

가중치가 0인 중요하지 않은 특성들을 제외해줌으로써

 

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

 

 

 

반대로 α 값을 줄이면(α=0.0001) 상대적으로 많은 feature를 이용하게 되므로 

 

과적합될 우려가 있다.

 

 

 

 

 

 

 

 

릿지 (Ridge)

 

모델의 복잡도 조정

 

 

라쏘와 비슷하게 기존 손실(비용)함수에 L2항을 추가했다.

 

 

 

 

미분 값의 음수를 취하면 각 항의 부호가 바뀌기 때문에

 

가중치가 양수일 땐 L2 패널티가 음수, 반대로 가중치가 음수일 땐 L2 패널티가 양수로 되어

 

가중치를 0의 방향으로 잡아당기는 역할을 한다.

 

즉, 가중치의 절댓값을 가능한 작게 만들려는 작업을 하는 것이다.

 

 

 

 

이를 weight decay라고 하며 weight decay는 특정 가중치가 비이상적으로 커지고 

 

그것이 학습 효과에 큰 영향을 주는 것을 방지할 수 있다.

 

 

 

여기서도 중요한 것은 바로 람다(λ)이다.

 

λ 가중치 결과

(기울기 감소, 특성의 영향 감소)
underfitting

(기울기 증가, 특성의 영향 증가)
overfitting

 

 

 

 

비교

 

Lasso (L1) Ridge (L2)
가중치를 0으로, 특성 무력화 가중치를 0에 가깝게, 특성들의 영향력 감소
일부 특성이 중요하다면 특성의 중요도가 전체적으로 비슷하다면
sparse model Non-sparse model
feature selection  

 

 

 

위 예시를 보면 L1 규제를 했을 땐 몇몇개의 가중치는 0이 되었다.

 

즉, 5개의 feature만 모델에 영향을 주게 된다.

 

 

 

L2 규제는 가중치를 0으로는 만들진 않지만

 

2개 정도의 가중치는 0에 가까워 모델에 큰 영향을 주지 않을 것이다.

 

 

이미지 출처 및 참조

https://bskyvision.com/193

https://bskyvision.com/688

https://bskyvision.com/687

dailyheumsi.tistory.com/57

tensorflow.blog/%ED%95%B4%EC%BB%A4%EC%97%90%EA%B2%8C-%EC%A0%84%ED%95%B4%EB%93%A4%EC%9D%80-%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-2/

m.blog.naver.com/laonple/220527647084

 

반응형

'Machine Learning > 회귀(Regression)' 카테고리의 다른 글

Regression - Ridge (L2)  (0) 2020.09.14
Regression - Lasso (L1)  (0) 2020.09.14
Regression - 다중공선성 문제  (0) 2020.09.14
Regression - Linear Regression  (0) 2020.09.14
Regression - FIFA 이적료 예측 : 전처리  (0) 2020.09.14