Data miner

#Shrinkage method #Ridge #L2

carayoon 2019. 6. 15. 01:25
728x90

Ridge는 다음과 같은 문제의식에서 출발할 수 있다. 

Q. n(우리가 가지고 있는 훈련 데이터 세트의 개수) < p(선형회귀에서 추정해야 하는 계수의 개수)문제에서 추정된 beta값의 변동성을 최소화 시키기 위해서는 어떻게 해야 할까?

(n의 개수가 p의 개수보다 3배 이상 크지 않은 경우에도 해당한다.)

이에 대해서 중요하지 않은 변수들의 영향력을 최소화시켜, 즉, 중요하지 않은 변수들의 회귀 계수를 0에 가깝도록 변형시켜서 p의 개수를 상대적으로 줄이는 방법이 있다. 여기서 염두해야 할 점은, 회귀 계수를 0에 가깝도록 만드는 것이지 0으로 만든다는 의미는 아니라는 점을 기억해두자! 

 

Ridge 방법은 OLS 가 RSS(잔차 제곱합)을 최소화시키는 beta를 추정하는 식에다가 penalty term을 붙인다.  빨간 상자 부분이 penalty term에 해당하며, 계수들의 제곱에다가 사용자가 설정한 상수 가중치λ 를 곱한 결과다. 

 

 

위의 식을 'penalized'한 RSS라 하여, PRSS (penalized residual sum of squares)로 불린다. 이 식은 Convex(볼록함수)이기 때문에 유일한 해가 존재한다. λ 값에 따라서 추정하는 beta값의 계수들이 달라진다. λ 값이 0일 경우, 우리가 추정한 beta값은 OLS결과와 동일하게 되며, λ 이 무한히 커질 경우, 우리가 추정하는 beta값들이 모두 0에 수렴하는 결과가 된다. λ 값은 교차검증을 통해서 가장 validation set에 대해 성능이 좋은 λ 을 가지는 것을 사용하게 된다. 

다시 강조하지만, ridge method는 추정계수를 0으로 만드는 것이 아니라, 0에 가까워지도록 만드는 것이다. 이는 예측의 측면에서 좋은 결과를 낼 수 있지만, 어떤 중요 변수로 y값을 설명할 것인가에 대한 해석 측면에서는 설명이 어려운 부분이 있다. 

위의 식을 정규 방정식을 이용한 행렬식으로 나타내면, 아래와 같이 표현될 수 있다.

 

여기에서, Ridge penalty term은 항등행렬 앞에 붙여진 가중치 r(위의 람다와 같은 역할을 하는 상수)에 해당하며 이는 A.T 와 A의 곱의 행렬에서

A.T*A의 컬럼 벡터들의 상관성을 줄여주는 역할을 한다. 각각의 컬럼 벡터들의 이루는 각도가 점점 커져, 컬럼 벡터들의 방향이 서로 가능한 일치하지 않도록 하게끔한다. 

 

그렇다면, 중요변수만을 선택하게 해주는 방법은 없을까?