Feature Selection
Part 1. Feature Selection의 본질
1.1 정의
Feature Selection은 주어진 입력 변수 집합 X=x1,x2,…,xp 중에서 예측 목표 y에 유의미한 일부 S⊆X를 선택하는 과정이다.
이는 새로운 변수를 생성하는 Feature Engineering과 구분된다.
- Feature Selection: X→S⊆X
- Feature Engineering: X→X′ (차원, 의미 변경)
1.2 왜 필요한가
-
차원의 저주 (Curse of Dimensionality)
차원 p가 증가할수록 샘플 공간의 부피는 지수적으로 증가한다.
모델은 제한된 샘플로 고차원 공간을 일반화해야 하므로 분산이 급격히 증가한다.
-
분산 증가 (Variance Inflation)
선형 회귀에서 추정 분산은 다음과 같이 표현된다.
Var(β^)=σ2(XTX)−1
불필요하거나 상관된 feature가 많아질수록 XTX는 ill-conditioned가 되며, 추정치 분산이 커진다.
- 해석 가능성
모델이 사용하는 변수의 수가 줄어들수록 각 변수의 역할을 설명할 수 있다.
Part 2. Filter Method
2.1 개념
Filter Method는 모델과 독립적으로 feature와 target 사이의 통계적 관계만을 이용해 변수를 선택한다.
핵심 가정:
좋은 feature는 target과 개별적으로도 강한 연관성을 가진다.
2.2 주요 기법
2.2.1 분산 기반 선택 (Variance Threshold)
분산이 0 또는 매우 작은 feature는 모든 샘플에서 거의 동일한 값을 가지므로 정보량이 적다.
Var(xj)=n1i=1∑n(xij−xˉj)2
임계값 τ보다 작은 feature는 제거한다.
한계:
- target과의 관계를 전혀 고려하지 않는다.
2.2.2 상관계수 기반 선택
연속형 변수에서 Pearson 상관계수:
ρ(xj,y)=σxjσyCov(xj,y)
∣ρ∣가 큰 feature를 선택한다.
주의점:
- 비선형 관계를 포착하지 못함
- 다중공선성 문제 미해결
2.2.3 통계적 가설 검정
- 회귀: t-test, F-test
- 분류: Chi-square test
귀무가설 H0: feature와 target은 독립이다.
p-value가 작을수록 해당 feature는 target과 유의미한 관계를 가진다.
Part 3. Wrapper Method
3.1 개념
Wrapper Method는 feature subset을 직접 모델에 적용하여 성능을 기준으로 선택한다.
S∗=argS⊆XmaxScore(fS)
여기서 fS는 subset S로 학습한 모델이다.
3.2 알고리즘
3.2.1 Forward Selection
- S=∅
- 모든 xj∈/S에 대해 S∪xj 평가
- 성능 최대 feature 추가
- 개선이 없을 때 종료
복잡도:
3.2.2 Backward Elimination
- S=X
- 하나씩 제거하며 성능 평가
- 성능 저하 최소 feature 제거
전제:
3.2.3 RFE (Recursive Feature Elimination)
모델의 feature 중요도를 이용해 반복적으로 제거한다.
선형 모델 기준:
importance(xj)=∣β^j∣
Part 4. Embedded Method
4.1 개념
Embedded Method는 모델 학습 과정 내부에 feature 선택이 포함된다.
4.2 L1 정규화 (Lasso)
목적 함수:
βmin∣y−Xβ∣22+λ∣β∣1
L1 penalty는 계수를 정확히 0으로 만들 수 있다.
기하학적 해석 없이 보면:
- 절댓값 패널티 → 작은 계수는 비용 대비 이득이 없어 제거됨
4.3 Tree 기반 모델
Decision Tree, Random Forest, Gradient Boosting은 분할 과정에서 feature를 선택한다.
불순도 감소 기준:
ΔI=I(parent)−k∑nnkI(childk)
중요한 feature는 더 자주, 더 큰 불순도 감소를 만든다.
주의:
- 제거가 아닌 "사용 빈도" 기반
- 고유값 많은 feature 편향
Part 5. 실무 적용 전략
- Variance / Correlation Filter로 1차 제거
- L1 또는 Tree 기반 Embedded로 압축
- 필요 시 Wrapper로 미세 조정
Feature Selection은 정확도를 올리는 기법이 아니라, 일반화와 해석을 통제하는 기법이다.