티스토리 뷰

ML (Machine Learning)

[Ridge, Lasso, Elastic Net] Regression

기내식은수박바 2019. 6. 10. 19:45
반응형

Overfitting의 문제와 해결 방안

  1. Sample 데이터가 제한되어 있을 경우, 복잡한 모델을 이용할수록 MLE의 추정 값이 상대적으로 Overfitting 되는 경향을 가진다.
  2. 이를 해결하기 위해서 적합(fitting)되는 해(β)에 일정한 패널티(penalty)를 부과하여 모델의 Overfitting을 방지할 수 있다.

λ는 penalty의 영향력을 결정하는 hyper parameter이다.

일반적으로 λ를 크게 할수록 penalty가 커져 β는 0에 가까워지며 적합(fitting)되는 해(β)의 variance를 감소시킨다.

 

Shrinkage Method

변수들 중 일부를 선택하여 적합시키는 것이 아닌 모든 변수들을 사용하여 모델에 적합하되 변수의 계수를 0 또는 0에 가깝게 만든다. 결국 추정된 계수들을 제한(constraint or regularize)하여 variance을 대폭 줄여준다.

norm : 벡터의 길이 또는 크기를 측정하는 함수

 

Ridge Regression

Least Square는 RSS(Residual Sum of Squares)를 최소화하는 방향으로 계수를 추정한다. Ridge도 Least Square식과 비슷하지만 최소화하는 부분이 조금 다르다. 

먼저 Ridge는 변수들 간의 공선성이 있을 경우 변수가 아무리 많아도 변수간 상관성 때문에 실제로 사용할 수 있는 정보가 적을 경우 이 독립변수들 간의 variance를 줄이기 위해 사용한다. 

위에서도 설명했지만 λ는 hyper parameter로 사용자가 지정해주어야 하며 Penalty를 얼마나 적용해줄지 결정한다. λ * (계수들의 제곱 합 = L2 Norm의 제곱) 을 최소화하는 식이 더 붙었으며 RSS를 최소화하여 데이터에 잘 적합하는 동시에, Shrinkage Penalty라고 불리는

식을 통하여 계수들을 0에 가깝게 만들도록 Shrink 효과를 적용한다.

실제 함수가 Linear에 가까울때 보통의 least square 방법은, 높은 variance을 가진 계수를 추정하게 된다. 이는 데이터가 조금만 바뀌어도 계수들이 크게 변동할 수 있음을 의미한다.

특히 설명변수가 많아질때 least square는 심지어 유일한 해가 없게 된다. 이러한 상황에서 Ridge Regression은 bias에서 약간의 손해를 보더라도 variance을 크게 줄여 least square보다 좋은 결과를 가져올 수 있다. 

 

Lasso(Least Absolute Shrinkage and Selection Operator)  Regression

Lasso는 변수들이 무수히 많은 경우, 실질적으로 영향을 미치는 변수의 개수는 적다고 판단하고 영향이 적은 변수들의 계수를 0으로 만들어 영향력 있는 변수들만 남겨놓는다. 

Ridge의 식과 크게 다르지 않지만 Lasso는 뒤의 식이 L1 Norm을 사용한다는 점이다.

Lasso의 경우 학습과정에서 적당한 λ를 이용하여 몇몇(β) 계수를 정확히 0으로 만든다. 따라서 몇몇 중요하지 않은 변수가 사라진 효과이므로 해석력에서 ridge보다 강력한 강점을 가지고 있다.

Lasso의 문제는 변수들끼리 상관관계가 있다면 한 개의 변수만 채택하고 나머지 변수들의 계수들을 모두 0으로 만든다. 이렇게 된다면 정보가 손실될 것이고 정확도가 떨어지는 현상이 발생할 수 있다.

 

Compare Ridge & Lasso

s가 무한히 크다면 사실상 제약이 없는, 즉 least square를 의미하게 되고 s가 0에 가까워 질수록 큰 제약, 즉 null model이 된다. 어떠한 상수 s보다 해당 들이 작은 제약 안에서, RSS를 최소화하는 것이다.

이는 변수가 2개일 때,

Ridge의 경우 위의 식과 같이 원 공간안에서 RSS를 최소화하는 계수를 찾고

Lasso의 경우 위의 식과 같이 사각형 공간안에서 RSS를 최소화하는 계수를 찾는 기하학적인 해석을 할 수 있으며, 그림을 그려보면 아래와 같다.

위 그림에서 추정되는 계수는 해당 제약범위(하늘색 영역)과 가장 작은 RSS등고선(빨간색 원)이 만나는 지점의 값이 될 것이다.

Lasso와 Ridge의 성능의 우위는 데이터의 상황에 따라 다르다. 유의미한 변수가 적을때는 Lasso가, 반대의 경우 Ridge가 더 좋은 성능을 보인다.

정리하면 Lasso 역시 Ridge처럼 약간의 bias를 희생하여 기존의 least square보다 variance측면에서 좋은, 따라서 더욱 좋은 예측을 보이는 모델을 만들어낸다. 또한 Lasso는 계수를 0으로 보내 변수선택의 효과 역시 가지기 때문에 해석력 측면에서 강점을 가지게 된다.

또한 Ridge는 shrink할때 일정 비율로 shrink를 하고, Lasso는 shrink할때 일정 상수로 shrink를 하며, 충분히 작을 경우 0으로 줄인다.

 

Elastic Net Regression

Elastic Net Regression은 큰 데이터 셋에서 잘 작동한다. 또한 L1, L2 norm 둘 다 사용하기 때문에 Ridge와 Lasso의 장점을 모두 가지고 있어 변수의 수도 줄이고 variance도 줄이고 싶을 때 사용한다.

예시를 들어보면 실제로 영향을 주는 변수는 A이지만 A와 연관이 있는 변수 B가 있는 경우 통계적으로 B도 영향을 주는 것처럼 보일 수 있다. Ridge의 경우 계수를 전체적으로 줄이기 때문에 변수 선택이 안될 것이고, Lasso의 경우 영향을 주지 않는 B가 남고 A의 계수가 0이 되어 없어질 수 있다. 이런 경우에 Elastic Net을 사용한다. 

Elastic Net은 L1과 L2 norm에 대한 가중치 λ1과 λ2를 조절하여 사용한다.

λ1 + λ2 ≤ 1의 식이며, λ1 = 1이라면 Ridge, λ2 = 1이라면 Lasso가 동작할 것이다.

 

References

  1. https://ko.wikipedia.org/wiki/%EC%84%A0%ED%98%95_%ED%9A%8C%EA%B7%80
  2. https://issactoast.com/50
  3. https://medium.com/@yongddeng/regression-analysis-lasso-ridge-and-elastic-net-9e65dc61d6d3
  4. https://godongyoung.github.io/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D/2018/02/07/ISL-Linear-Model-Selection-and-Regularization_ch6.html
반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함