많은 경우 머신러닝 문제는 훈련 샘플 각각이 수천 심지어 수백만 개의 특성을 가지고 있다. 이런 많은 특성은 훈련을 느리게 할 뿐만 아니라, 좋은 솔루션을 찾기 어렵게 만든다. 이런 문제를 차원의 저주 라고 한다. 다행히도 실전 문제에서는 특성 수를 줄여서 불가능한 문제를 가능한 범위로 번경할 수 있는 경우가 많다.
훈련 세트의 차원이 클수록 과대적합 위험이 커진다.
차원을 감소시키는 두 가지 주요한 접근법에는 투영과 매니폴드 학습이 있다.
<투영>
<매니폴드 학습>
d차원 매니폴드는 국부적으로 d차원 초평면으로 보일 수 있는 n차원 공간의 일부이다(d<n). 많은 차원 축소 알고리즘이 훈련 샘플이 놓여 있는 매니폴드를 모델링하는 식으로 작동한다. 이를 매니폴드 학습 이라고 한다. 이는 대부분 실제 고차워 ㄴ데이터셋이 더 낮은 저차원 매니폴드에 가깝게 놓여 있다는 매니폴드 가정 또는 매니폴드 가설에 근거한다.
요약하자면 모델을 훈련시키기 전에 훈련 세트의 차원을 감소시키면 훈련 속도는 빨라지지만 항상 더 낫거나 간단한 솔루션이 되는 것은 아니다. 이는 전적으로 데이터셋에 달렸다.
'Machine Learning > Advanced (hands on machine learning)' 카테고리의 다른 글
26. 차원 축소 - 커널 PCA (0) | 2021.05.26 |
---|---|
25. 차원 축소 - PCA (0) | 2021.05.26 |
22. 앙상블 학습과 랜덤 포레스트 - 스태킹 (0) | 2021.05.22 |
21. 앙상블 학습과 랜덤 포레스트 - 부스팅(Ada,Gradient,xgboost) (0) | 2021.05.22 |
20. 앙상블 학습과 랜덤 포레스트 - 랜덤 포레스트 (0) | 2021.05.22 |