본문 바로가기

(Regression) LASSO 기초 정리 (Ridge와 차이점은?)

Derrick 발행일 : 2024-07-04
728x90
반응형

 

기본적으로 앞서 학습한 Ridge와 큰 차이는 없지만, Penalty Term에 대해서 제곱으로 받을 것인지 절대값으로 받을 건지에 따라 차이가 난다.

 

LASSO 란?
Ridge와 어떻게 다른가?

 

 


1. Penalty Term을 활용한 Regularized Model LASSO

1) LASSO(라쏘) 란? 

- LASSO'Least Absolute Shrinkage and Selection Operator'의 약자로,
 절대값을 씌워서 'β'값을 줄인다 (with Selection)는 의미를 가지고 있다.

- |β| = L₁ - norm = L₁ Regularization에 Penalty Term을 부여하는 방식
  → Ridge의 경우에는 'β²'이고 L₂ Norm (=L₂ Regularization)
  → 절대값의 단점인.. 미분이 안 된다. 

 

2) LASSO - MSE Contour

- MSE Contour
 : 중심에서 멀어질수록 Error 증가 → Train Error를 조금 증가시키는 과정 (Overfitting 방지)

- Ridge Estimator와 MSE Contour가 만나는 점제약 조건을 만족하면서 Error가 최소가 된다.

 

Ridge와 다르게 제약 조건이 " |β₁| + |β₂|  ≤ t " 이다.
그래서 위의 그래프에서도 제약조건이 마름모로 표기된 것을 확인할 수 있다.
→ 마름모의 장점으로 Contour가 어디에서 시작해도 'Lasso estimator' 지점에 딱 맞는 변수를 Selection할 수 있게 된다. 이 때가 제약 조건을 만족하며 error가 최소인 구간!!! 
→ β₁ = 0

3) LASSO Regression의 특징

- Ridge Regression과 달리 Lasso Formulation은 Closed Form Solution을 구하는 것이 불가능
 → 절대값이기 때문에 미분이 불가능하기 때문에

Numerical Optimization Methods 필요
 - Quadratic Programming techniques (1996, Tibshirani)
 - LARS Algorithm (20222, Efron et al)
 - Coordinate descent Algorithm (2007, Fridman et al) 
 → 해를 찾기가 불가능한 것에 대해 ML/DL 등 gradient descent 알고리즘을 적용한다.
 - Semi-differentiable 으로 금방 구할 수 있다.
→ 위의 Method들은 모두 알아야 한다!
  모델의 복잡도(complexity)가 높아지면 대부분 미분이 불가능해지기 때문에...

 


2. Gradient Descent 

1) Gradient Descent(경사 하강법)이란?

- Non-convex의 경우 Gradient Descent를 활용하여 Loss가 가장 낮은 해를 찾아 간다 
  # Non-convex
  : Closed form이 아닌 경우. 'y=x²'와 유사하게 error가 그려져서 최솟값을 구하기 어려운 경우
- 대부분의 non-linear regression 문제는 closed form solution이 존재하지 않는다
- Closed form solution이 존재해도 수많은 parameter가 있을 때는 Gradient Descent로 해결하는 것이 효율적!

 

2) Convex한 경우

하지만, Gradient Descent의 경우 최적의 해를 보장할 수는 없다
→ 그렇지만 복잡한 여러 해들이 존재할 때는 가장 유용한 방법이다.

 

위의 사진처럼 initial weight 가 갖는 기울기(Gradient)만큼을 이동한다.
→ 이동할 때는 α (=learning rate)만큼의 weight을 줌으로써. (LR은 0~1 사이의 값)  
→ 이동하는만큼 기울기가 점점 줄어들게 되고, Global cost minimum을 찾아갈 수 있다.

3) Non-convex한 경우

아래 사진과 같이 Non-convex한 경우에는,
 → Local Minima에 빠질 수 있음
 → 관측하는 사람은 Global Minimum이 있는지 알 수 없음

 

그래서 실제로 Loss가 제일 낮은 Global Minimum이 있어도
Local Minimum에 빠지면, 그 구간이 최적이라고 판단할 수 있는 여력이 크다.

4) Momentum (Local Minima 방지)

- Local Minima에 빠져나오기 위해서는 'Momentum'이라는 변수를 사용해야 한다
- 어느 정도 descent 됐다면 다른 곳으로 툭 튀어버리게 되면서 Local Minima를 빠져나오는 원리

 

 

이처럼 Gradient Descent(경사 하강법)Global Minimum을 보장하지 않기 때문에
현재까지도 다양한 연구가 이루어지고 있다.
→ Deep Learning의 Loss Function 최적화 시 매우 중요한 개념이다
→ 어디서부터 시작하는지, '시작점'이 중요하고!
→ 시작점을 여러 군데에 둬서 돌리는 '병렬 처리'. 그 중에 가장 낮은 Error를 Select

 

DL/ML 모두 parameter를 업데이트하거나 최적의 조건을 찾아갈 때, Global minimum을 보장하지는 않지만 빠르게 잘 찾아갈 수 있도록 하는 기법들이 많이 있다.
→ 위의 예시처럼 Momentum을 추가해서 Local Minima에 빠지지 않도록 하는 것도 이 중에 하나
→ 위의 많은 기법들 중에서 'Adam'을 Deep Learning에서 자주 사용된다.
    (Momentum과 stepsize를 모두 적절하게 조정)

# 스텝사이즈 (=Step Size)
 : Learning Rate(LR)과 동일한 개념

3. Ridge & Lasso

1) Solution Paths Ridge and Lasso

- Ridge와 LASSO 모두 Tuning parameter인 't'가 작아짐에 따라 모든 계수의 크기가 감소
 → Ridge : 크기가 큰 변수가 더 빠르게 감소하는 경향
    (why? 제곱이라서 penalty를 너비만큼 더 많이 받는다)
 → LASSO : 예측에 중요하지 않은 변수가 더 빠르게 감소
    (t가 작아짐에 따라 예측이 중요하지 않은 변수는 0이 됨)

제약조건인 '|β₁| + |β₂|  ≤ t' 에서 t가 작아진다는 것은 그만큼 가둔다는 의미
→ 모든 계수의 크기가 감소
Ridge는 위의 그래프처럼 t가 점점 작아질수록 0에 가까이 수렴한다.
→ t값을 조절해가면서 error값을 비교분석할 수 있다.

 

[ Ridge와 Lasso에 대한 해공간 그래프 ]

위의 Ridge와 Lasso에 대한 해공간 그래프를 보면,
- Ridge의 경우 initial point가 β₂ 선상에 있지 않는 이상 0에 수렴할 수는 있지만 0은 될 수가 없다
- Lasso는 해의 공간이 마름모 형태(절댓값)이기 때문에 0이 되는 지점을 찾을 수 있어서 Selection이 가능하다.
 → 그래서 LASSO는 예측에 중요하지 않는 변수가 더 빠르게 감소하고, t가 작아짐에 따라 예측에 중요하지 않는 변수는 0이 된다.

2) Ridge와 Lasso 장/단점

- Ridge는 변수 선택(Selection)은 불가능하지만, 0으로는 가까이 수렴할 수 있다.
- Lasso는 절대값으로 처리하기 때문에 미분이 불가능하고 Closed form solution이 없음
 → numerical optimization을 이용해야되고, 그 중 하나가 GD (Gradient Descent)  
- Ridge는 변수 간 상관관계가 높은 상황(즉, 다중공선성)에서 좋은 예측 성능을 갖는다.

 

 

 

 

댓글