본문 바로가기

Machine learning/Supervised Learning

[정규화] 릿지(Ridge) 회귀

이 글은 statquest의  Regularization Part 1: Ridge (L2) Regression 를 정리한 것임을 밝힙니다.

Ridge Regrssion

Ridge Regrssion은 훈련 데이터에 과적합하여 high variance를 갖는 경우를 방지하기 위한 정규화 기법이다.

빨간선: 선형회귀, 파란선: 릿지회귀

기존 선형회귀는 단순히 잔차의 제곱합을 줄이는 과정이었다면, 릿지회귀는 잔차의 제곱합 + λ * 파라미터2 을 줄임으로써 파라미터에 제약을 준다. 파라미터의 제약을 둠으로써 x값의 영향을 제하는 것이다! 위 그림에서 λ를 키울수록 기울기는 작아진다. 이는, λ가 클수록 y에 대한 x의 영향력이 작아진다고 해석할 수 있다.

(* λ가 매우 크다면 그냥 수직선이 되어버린다)

 

그렇다면 λ를 어떻게 설정해야 할까? 교차검증을 통해 가장 작은 variance 값는 갖는 λ를 찾는다!

 

Dummy variable이 있는 경우의 릿지 회귀 적용

 

Discrete 한 변수가 있을 때도 마찬가지로 계수 제곱 항에 페널티 주는 것은 똑같다. 

 

로지스틱 회귀에서의 릿지 회귀 적용

로지스틱 회귀에서도 릿지 회귀를 적용할 수 있다. 로지스틱 회귀 모델은 최대 우도 추정법(Maximum Likelihoods) 방법을 통해 최적의 해를 구한다. 이에 따라, - likelihood가 최소가 되는 로지스틱 함수를 찾는다. 

릿지 회귀는 likelihood의 합 뿐만 아니라 λ * 파라미터^2 까지 고려한다!  

the sum of the likelihoods(x) > negative the sum of the likelihoods 이 맞다.

 

다변수모델에서의 Ridge regression

다변수 모델일 경우에는 마찬가지로 파라미터의 제곱들을 정규화 term에 추가하면 된다

λ * (파라미터1^2 + 파라미터2^2 + ... 파라미터n^2) 이런 식으로! (y-intercept 는 제외)

 

데이터가 적은 상황에서 Ridge regression

선형 회귀의 3개의 파라미터가 있을 때 최소제곱법을 사용하여 3개의 파라미터를 추정하려면 최소 3개의 데이터포인트가 필요하다. 3개 정도면 문제 없겠지만 10,000개의 파라미터가 있다고 하면 (이를 테면 유전 정보 같은 거) 10,000개의 데이터를 얻기가 어려울 수 있다. 이럴 경우 최소제곱법을 쓰지 못하게 된다.

이러한 경우에, 릿지 회귀를 사용한다!

파라미터에 페널티를 주며 진행하는 여러 교차 검증을 통해 부족한 데이터로도 회귀선을 추정할 수 있게 된다. 

Visualization

λ에 따른 비용함수 그래프 변화

위 그림은 λ에 따른 비용함수 그래프의 변화를 나타낸 것이다. λ 가 커질수록 비용함수의 최솟값은 커지고, 파라미터(Slope Values)는 점점 0에 가까이 가는 걸 볼 수 있다. (그러나, 딱 0이 되지는 않는다.)  

'Machine learning > Supervised Learning' 카테고리의 다른 글

의사결정나무(Decision Tree)  (0) 2024.02.08
[정규화] Elastic Net  (0) 2024.01.19
[정규화] 라쏘(LASSO) 회귀  (0) 2024.01.19
[부스팅 모델] XGBoost  (0) 2023.12.04