차원의 저주
- 특성수가 많을수록 훈련은 느리고 모델의 성능은 나빠진다.
- 그런데 특성수가 많을 수록 데이터의 밀도가 낮아진다 --> 과대 적합.
- 중요한 데이터는 특정 영역에 집중된다.
- 차원의 저주를 해결하기 위해...
- 데이터를 늘려 밀도를 높인다.
- 차원을 낮춘다.
데이터를 늘려 밀도를 유지하는것은 고차원에서는 사실상 불가능하다. 따라서 차원을 낮추는 차원 축소가 유용하다.
차원 축소 원리
투영
- D 차원의 데이터를 낮은 차원인 N 차원에 맵핑하는 것.
- 대부분의 데이터는 일부 공간(부분 공간)에 모여 있으므로 차원을 낮추더라도 식별이 가능하다.
- 하지만 반드시 차원을 낮춘다고 식별이 용이해 지는것은 아님.
예. 스위스롤을 절반으로 나누는 문제는 고차원에서 식별이 더 쉽다. 차원을 낮추면 말린 부분이 오버랩 되기 때분이다.
매니 폴드
- D 차원의 데이터를 N 차원의 초 평면으로 펼치는 것.
- 매니폴드 가정 : 인접한 데이터는 국부적으로 저차원 매니폴드에 가깝게 놓여있다.
- 공의 표면을 부분부분 잘라 평면으로 근사할 수 있는 원리.
- "펼쳐서 해결" 할 수 있는 문제에 유리하다.
주요 차원 축소 기법
PCA
방법
- 주어진 데이터의 분산을 가장 잘 보존할 수 있는 주성분 (=축 벡터)를 찾는다.
- 1번 축에 직교하고 남은 분산을 최대한 보존하는 두번째 축을 찾는다.
- 남은 분산이 의미가 없는 수준이 될 때 까지 또는 D-1 차원에 도달할 때 까지 이 과정을 반복한다.
여기서 데이터의 분산을 가장 잘 보존할 수 있는 주성분이란 ( 데이터를 mean 기준으로 정규화 했을때 ) 원점에서 시작하여 MSE 가 가장 적어지는 벡터 이다.
특잇값 분해 SVD
$\textbf{X}=\textbf{U}\sum\textbf{V}^T$ 식을 풀어 주성분 행렬인 $\textbf{V}$ 를 구할 수 있다. 여기서 충분한 정보를 포함하고 있는 (=큰 분산값을 가지는, 데이터 분산 비율) 1~i 개의 축을 이용하여 i 차원의 초평면에 데이터를 투영한다.
커널 PCA
PCA 를 수행하되, i 차원의 초 평면을 사용하는 대신 커널 공간으로 사상할 수 있다.
LLE
지역 선형 임베딩, 또는 비선형 차원 축소이다. 특정 데이터의 가장 가까운 k 개의 데이터에 대하여 지역적으로 선형 관계를 구한다. 이 과정을 모든 데이터에 대하여 수행하면 비선형 공간을 지역적으로 선형으로 해석하여 차원을 축소할 수 있다. 매니 폴드 기법이다.
'개발 > 머신러닝' 카테고리의 다른 글
[요약] 핸즈온 머신러닝 - 10. 케라스를 사용한 인공 신경망 소개 (0) | 2022.06.09 |
---|---|
[요약] 핸즈온 머신러닝 - 09. 비지도 학습 (0) | 2022.05.31 |
[요약] 핸즈온 머신러닝 - 07. 앙상블 학습과 랜덤 포레스트 (0) | 2022.05.29 |
[요약] 핸즈온 머신러닝 - 06. 결정 트리 (0) | 2022.05.27 |
[요약] 핸즈온 머신러닝 - 05. SVM (0) | 2022.05.24 |