회귀분석

릿지 회귀(Ridge Regression)

왕눈임 2024. 9. 25. 21:44

우선 릿지 회귀에 필요성을 이해하기 위해..

일반적인 회귀분석의 목적함수에서 최적의 회귀계수를 찾는 과정을

 

수학적으로 접근해 봄으로써 릿지 회귀의 필요성을 확인해 보자.

 

 

 

그래서 일반적인 회귀 분석의 목적함수는 뭐였는지

아래의 오차 제곱합이었음

오차제곱합

 

 

 

이 목적함수를 최소화하는 모수(β)를  찾는 것이 목적

 

최적의 모수( β )를 찾기 위해 

목적함수를 모수( β )에 대해 미분하여 0이 되는 부분을 찾으면 아래와 같고

 

여기서 (β)에 대해 정리하면 아래와 같이 최적의 모수를 찾을 수 있었다..

최적의 회귀계수

 

 

중요한 건 이러한 최적의 모수를 찾으려면

 

현재 x의 역행렬이 존재해야 한다는 것이다.

 

(행렬 연산 결과가 보는 거와 같이 역행렬이 존재해야 최적의 (β) 를 계산할 수 있음..)

 

 

역행렬이 존재하는 행렬이란?

 

별거 없었다 간단하게

 

행렬의 랭크가 풀랭크여야 한다 가령(3X3) 행렬이면 rank(A)=3

그러려면 행렬의 열(행) 벡터들이 서로 독립성을 만족했어야 했다. 

 

지금 x는 기존의 데이터

 

즉 기존의 데이터들의 독립성보장되지 않는다면

 

행렬의 역행렬이 존재하지 않기 때문에

기존의 방식으로는 최적의 모수를 찾을 수 없게 된다.

 

 

따라서 릿지 회귀가 필요한 상황을 아래와 같이 정리할 수가 있다.

  • 데이터의 둘 이상 변수가 다른 변수를 표현 가능한 상황일 때
  • 변수들끼리 종속적일 때
  • 관측된 데이터의 수가 변수의 개수보다 작을 때
  • 변수들 간에 완전한 독립이 아닌 상황에서
  • 상관 분석을 통해 변수들 사이의 상관계수가 높게 나타날 때

일반적인 회귀분석이 잘 안되는 거다.. 그래서 릿지 회귀를 사용합니다.

 


 

 

그래서 구체적으로 Rigdge regression

릿지 회귀에서 사용되는 목적함수에서는

 

앞서 본 일반적인 오차 제곱합에 모수의 제곱합을 추가해 주는데..

모수의 제곱합shrinkage penalty라 부른다. (이제부터 penalty라 부르자.)

 

(이 모수의 제곱합이

앞서 본 여러 이유 말고도 추정하고자 하는 회귀계수를

0 또는 무한대로 추정할 수 없게

회귀계수의 범위를 제한하는 역할도 한다.)

 

 

 우선 아래에 penalty(모수의 제곱합)

모수의 제곱합

 무조건 0보다 크거나 같다.

 

이 penalty에 의해서 

 

오차 함수를 최소화하기 위해서는

모수(β) 가능한 작아져야 한다

 

따라서 일반적인 회귀분석에서 추정한 모수(β)보다는 그 값이 작아진다.

 

 

 

릿지 회귀에서는 모델학습에 오차 제곱합 부분과

penalty부분의 중요도를 설정할 수 있다.

 

 

오차 제곱합인 아래

 

모델학습에서.

 

위의 오차 제곱합최소화 할 때는 예측값의 오류를 작게하고,

(일반적인 회귀분석의 학습 방식과 같다.)

 

penalty 항최소화 할 때에는 회귀직선의 계수가 작아진다.

 

 

이러한 오차항을 구성하는 penalty 항오차 제곱합어디에 더 중점을 둘 것인지

penalty항 앞에 곱한 λ를 통해 그 정도를 결정 할 수 있음

 

정리하자면 아래와 같습니다.

 

λ 클 때는 축소 벌점(shrinkage penalty)이 작도록,
λ가 작을 때는 오차 제곱합이 작아지도록 학습합니다.

 

그래서 가중치 λ를 잘 조정해 줘야 하고.

 

딥러닝에서 하이퍼 파라미터라고 하는게 λ 같은 것들이므로

모델 학습에 이러한 인수를 적절히 설정해야 한다.

 

 

 


 

 

그래서 릿지 회귀의 목적함수를 최소화시키기 위한 미분

이식에서 최적의 모수(beta)를 구하기 위해서 아래의 식이 존재해야 하고.

그것은 이행렬의 역행렬이 존재해야함을 의미한다!

 

 

그런데 이번에는 항상 존재한다!

애초에 그러려고 rigdge 회귀 한 거였음

 

 

역행렬이 존재하는 경우란?

 

앞서봤던 거 처럼 행렬의 랭크가 풀랭크엿어야..

 

이 행렬은 기본행렬의 실수배( λ )를 해 더함으로써

rank 풀랭크 모두 독립성 유지하게 되어

역행렬을 가질 수밖에 없다 

 

 

 

 

그래서 이렇게 구한 (ridge regression)능형 회귀 추정량의

비편향 추정량 여부를 확인해 보자.

 

(비편향 추정량은 추정량의 평균이 추정하고자 하는 모수 자체인 경우를 말한다..)

 

이거 왜 구할까 

 

통계학적으로 좋은 추정량은 비편향 추정량인데..

릿지 회귀를 통해 구한 추정량인 모수(beta)는 비편향 추정량이 아닙니다.

 

 아래와 같이 모수의 추정량의 평균을 구해보면 

 

비편향 추정량이 아니다.

 

그런데 이러한 추정량이 반드시 안 좋은 건 아니다.

.

 

과녁 A는 비편향추정량이지만 분산이 크다.

편향이 있더라도 과녁 B처럼 분산이 작으면

더 가치가 있다고 할 수 있다.

 

 

실제로 릿지 회귀를 통해 구한 추정량의 분산이

단순 회귀분석에서 구한 추정량보다 분산이 작다.

 

 

 

그래서 릿지 회귀에서는..

 

 

penalty 가중치람다( λ )를 키우면 분산은 점점작아지는데 편향 커진다.

 

적절한 값으로 penalty의 최적값을 잡으면 된다.

 

 

 

'회귀분석' 카테고리의 다른 글

다항함수회귀  (0) 2024.07.13
최소제곱법  (0) 2024.07.09
회귀분석  (0) 2024.05.16