컴퓨터공학

[머신러닝] Model Selection

TaeGyeong Lee 2023. 6. 12. 19:47

Model Selection Problem

데이터의 갯수 n이 predictor p의 갯수와 비슷한 경우 Least Square 는 무용 -> p의 갯수를 의도적으로 줄일 필요가 있음 (불필요한 복잡성 및 true relationship 잘 보이게)

 

Subset Selection

  • 모든 경우의 수 다 해보기(O(2^p) : exponential) -> 비효율적 
  • greedy 정책 활용(O(p^2) : polynomial)
    • forward stepwise : p 없 -> p 추가
    • backward stepwise : p 풀 -> p 제거

이때, RSS 및 R square는 p의 갯수가 많을 수록 계속 감소 -> 적절한 p의 갯수를 찾을 수 없음

이를 대처하기 위한 다양한 수치식 존재

  • Cp, AIC, BIC = 작을 수록 좋음
  • Adjusted R Squared = 클수록 좋음

CV로 근사 test error 추정도 좋은 방법

 

Shrinkage

  • 모든 p 중요 -> Ridge
  • 일부 p 중요 -> Lasso
  • 모두 regulation 작업임

 

Ridge

RSS에 penalty 적용 (제곱 : L2), coef 들을 0에 근사화, OLS의 문제를 해결

  • 장점 : 학습을 개선(오버핏 방지) -> var 감소, 학습 속도 매우 빠름 (이론 상 한번만 계산하면 됨), p갯수가 많을 때 적절
  • 단점 : bias 높음 -> trade-off 가 필요함, 0으로 근사만 함 -> 해석하기 쉽지 않음

 

Lasso

RSS에 penalty 적용 (절댓값 : L1), coef 들을 0로 변환

기하학적 해석 상 하나의 coef 축 위에 최적의 coef 값이 존재함.

 

Dimension Reduction

모든 coef이 중요할 때, 앞선 Lasso 를 사용하기 어렵다 -> predictor를 Z개로 '축소'

PCR (Principal Component Regression)

PCA + Least Square (차원축소를 통해 충분히 p(Z)갯수가 줄어듦으로 계산이 유의미해짐)

  • Z1 : 분산성을 최대한 보장하는 First Principal Compoenent 축 -> 이 축을 기준으로 차원 축소가 가능함
  • Z2 : Z1의 직교 & 분산성 최대 보장 Second Principal Component 축