머신러닝 알고리즘에 사용되는 입력 데이터에 해당하는 Features들을 처리하는 프로세스를 의미한다.
특성공간 차원축소의 필요성
Features 중에서 예측 모델에 영향력이 큰 Feature의 조합을 선택한다. 즉 불필요한 Features를 제거한다.
1) Filtering
Features의 우선순위를 매겨 상위 n개를 선택한다. 즉 각 Features()와 목표()의 연관성을 측정하여, 상관관계가 높은 Features() n개를 선택하는 것이다. 연관성을 측정할 때는 t-test, chi-square test(카이제곱), information gain 등의 통계 개념을 사용한다.
2) Wrapper
Features를 랜덤하게 n개 선택하여 모델에 학습시켜보며 가장 좋은 조합은 선택한다. 예컨대 Features가 이 있다면,
총 7개의 조합이 존재하며 각 조합을 모델에 학습시켜 Y값을 가장 잘 예측한 조합을 선택하는 방식이다. 따라서 Features가 n개 있으면 조합의 개수는 개다.
따라서 계싼 시간이 매우 오래 소요된다는 단점이 있다. 또 과적합 가능성이 존재한다.
- Forward selection
연관성이 높은 Feature를 하나씩 추가하면서 모델을 학습시키는 방식이다.- backward selection
연관성이 낮은 Feature를 하나씩 제거하면서 모델을 학습시키는 방식이다.- stepwise selection
Forward selection와 backward selection를 동시에 하는 방식이다.
3) Embedded
머신러닝 알고리즘(모델) 내부에서 Feature를 선택하는 프로세스가 내장되어 있는 모델 학습 과정에서 최적화된 Features를 선택한다.
특성 변수에 규제를 가하는 방식
- Ridge
- Lasso
- Elastic net
Features를 결합하여 보다 유용한 Features를 새롭게 생성한다.
예컨대 Features가 일 때 새로운 Features
은 로,
는 로 계산된다.
1) PCA(Principal component analysis)
주성분 분석,
2) SVD(Singular Value Decomposition)
3) LDA(Linear discriminant analysis)
4) NMF(Non-negative matrix factorization)