Machine Learning/Models (with codes)

(L2 Regularization) → Ridge Regression (concepts)

metamong 2022. 4. 19.

** 우리는 저번 포스팅에서 Supervised Learning 중 Regression의 일종인 'linear regression'에 대해 학습했다.

 

 

☝️ 위 그림에서 보다시피 linear 선형 regression으로는 많은 종류의 model이 있음을 확인할 수 있다

🔆 우리는 이 선형회귀모델 중 대표적인 'Ridge 릿지 회귀'에 대해서 이번 포스팅을 통해 알아보려 한다!


starting from Overfitting...

👏 기존 단순선형/다중선형 회귀선이 과적합이 일어날 가능성이 있어서 일반화가 잘되는 (즉, variance를 낮추는 방향) 쪽으로 tuning하는 modelling 방법이다! 👏

 

(↓ovefitting / underfitting 관련 개념은 아래 posting 참조)

 

Overfitting/Underfitting & Bias/Variance Tradeoff

1. 일반화(generalization) "In machine learning, generalization is a definition to demonstrate how well is a trained model to classify or forecast unseen data. Training a generalized machine learnin..

sh-avid-learner.tistory.com

 

 

- 그림으로 모두 설명이 되는 릿지! -

 

 👍 위 그림에서처럼 the sum of the squared residuals(SSR) lambda*(the sum of (slope)^2)의 합 (곧 cost function)이 최소화가 되는 직선이 곧 ridge regression model이다! (즉 1)SSR + 2)회귀계수제곱합을 최소화하기)

→ n은 샘플 수, p는 특성 수, λ는 tuning parameter(alpha = lambda = regularization parameter = penalty term) - penalty 심각정도

 

Q. 간단한 예 살펴보기

 

- 순서대로 기억 (위 그림)-

 

1> 기존에 빨간 점에 100% 과적합되어 있던 단순선형회귀 빨간 선이 있다

2> 과적합의 문제로 인해 새롭게 입력된 연두색 값들에 대한 예측 정확성이 매우매우 떨어짐!

3> 따라서 우리는 해당 회귀선에 penalty((계수제곱합*λ))를 부과해 기울기를 점점 조금씩 낮춰 위 cost function으로 정의한 1)과 2)의 합이 최소가 될 때를 찾는다!

4> 찾으면 그 때의 직선이 곧 우리가 찾은 Ridge Regression Model

 

즉.. 'by starting with a slightly worse fit, Ridge Regression can provide better long term predictions'

small amount of Bias가 발생하지만..! 👉 significant drop in Variance의 효과 매우 Good

 

🗣 여기서 λ는?

 

<<λ는 0이상의 실수 값을 가지며 λ를 높인다는 건 cost function 측면에서 cost function 값을 최소화해야하므로 같이 곱해지는 항인 회귀계수제곱합을 더 줄여야 한다 - 따라서 λ를 높인다는 건 회귀계수(coefficeints)의 효과를(magnitude) 더 줄인다고 말할 수 있음)>>

 

→ 위에서 언급했다 싶이 lamba를 통해 우리는 다중공선성의 문제를 발생시킬 수 있는 (변수들 간의 영향 받음) 문제를 줄일 수 있다. (penalty를 부과해서 변수 중요도를 낮추므로!)

(즉, slope 회귀계수 기울기 값이 감소한다는 건 예측값y가 다른 축들의 변화에 따라 덜 민감해진다는 뜻이 된다)

→ 이렇게 편향을 조금 더하고 & 분산을 줄이는 방법 정규화(Regularization - 엄밀히 말하면 L2 Regularization)이라고 한다!

 

(추후 regularization & standardization & normalization 차이 포스팅)

(추후 L1 Regularization을 통해 구하는 Lasso까지 비교하며 차이 포스팅)

 

→ 그럼 최적의 λ값을 구하는 방법은? CV(cross-validation)을 사용해서 parameter tuning을 통해 찾아야 한다

(다음에 배울 내장함수에 이미 다 들어 있음)

 

Cross-Validation (concepts)

* 머신러닝을 위해서 무.조.건. 알아야 하는 CROSS-VALIDATION! 간단히 개념만 알아보ZA * - 2번 과정 - model selection에서 주로 많이 쓰이는 cross-validation 기법 - 🧐 PURPOSE? 'The purpose of cross..

sh-avid-learner.tistory.com

 

"ridge의 역할: λ를 통해 shrinking coefficients 효과 - MSE 줄이기"

 

 

🖐 위 그림에서 볼 수 있듯이 penalty에 따른 Bias-Variance tradeoff 관계를 잘 보여주고 있다. 어느 정도 규제를 가하면 ridge로 인해 해당 모델의 MSE값이 감소하여 좋은 성능을 보이나 너무 심하게 규제를 가할수록 Bias로 인해 MSE값이 다시 커지는 걸(오히려 기존 Linear Regression model보다도 더 안좋은 성능을 보인다) 확인할 수 있다.

→ 즉, 적절한 규제가 가했을 때에 멈추는 것이 최상의 시나리오

 

Q. 기존 coefficients의 크기에 따라 Ridge 성능 개선에 차이가 있을까?

 

A. 있다.

"Ridge regression performs particularly well when there is a subset of true coefficients that are small or even zero. It doesn’t do as well when all of the true coefficients are moderately large; however, in this case it can still outperform linear regression over a pretty narrow range of (small) λ values"

 기존 term들의 계수가 작을 때 ridge의 효과가 더 빛을 발한다. 하지만 그렇다고 해서 계수가 클 때 성능 개선이 없는 건 아니다(기존 linear regression보다 성능 개선이 있긴 있다!). 다만 더 드라마틱한 성능 개선은 coefficients가 상대적으로 작을 때 볼 수 있다.

 

- 이후 실험을 통해 증명해보자! - 

* for discrete variables>

→ 위에서 언급한 case는 independent variable이 continuous할 경우이다. 그렇다면 discrete이면 어떻게 연산될까?

 

→ ex) normal diet, high-fat diet 두 가지 discrete variable이 있다고 가정하자

 

 

- 여기서 우리는 식을 size = a + b x (high-fat diet)라 세운다. a는 normal diet의 평균 mean, b는 normal diet의 평균과 high-fat diet 평균의 차이를 의미한다.

- high-fat diet 값이 0인 경우 계수 a 자체로 normal diet를 예측하며, high-fat diet값이 1인 경우 a+b 두 계수의 합이 high-fat diet를 예측한다.

- ridge 모델을 통해 SSR(Sum of Squared Residuals - 각 variable 실제 값과 각 variable 별 평균의 차이 제곱합) + $\lambda$x$b^2$을 줄여야 한다.

- 만약에 $\lambda$를 높인다면? = 반대로 b를 줄여야 하므로, 두 variable의 평균 차이가 줄어든다. 즉, 이 뜻은 위 그림의 경우 high-fat-diet가 두 variable 평균 차이에 더 무감각해진다는 뜻. 

 

→ 즉 우리는 penalty인 $\lambda$를 높이면서 두 discrete variable의 mean 차이를 줄여 주어진 data에 과적합되지 않은 ridge model을 구축한다.


 

** 출처 https://www.youtube.com/watch?v=Q81RR3yKn30 (PARTY MORE STUDY LESS by StatQuest~ 🙆🏼)

** 출처 https://www.mygreatlearning.com/blog/what-is-ridge-regression/

** 출처 https://www.stat.cmu.edu/~ryantibs/datamining/lectures/16-modr1.pdf

 

댓글