차원의 저주는 데이터의 차원이 증가할 수록 데이터 간의 거리 또한 증가하게되고
희소한 공간을 가지게 된다는 의미로 쓰이는 데 이때 모델 학습 안 좋은 영향을 주어 PCA 같은
차원 축소를 한다는 것은 알겠는데 '정말 그럴까?'라는 생각이 들었습니다.
그 문제들에 대해서 구체적 실험을 바탕으로 작성된 글이 있어 내용을 스크랩 하면서 이해한 만큼 정리해 보고자 합니다.
본 글에서는 차원의 저주의 크게 4가지 특성으로 정리해놓았습니다.
1. 각기 다른 두 점은 높은 차원일 수록 거리가 더 멀어진다.
2. 점은 높은 차원일 수록 중심에서 더 멀어진다.
3. 각기 다른 모든 점들은 거리는 같아진다.
4. 모델이 예측 정확도가 100%에 가까워진다.(과적합)
1. 각기 다른 두 점은 높은 차원일 수록 거리가 더 멀어진다.
두 학생의 키(xi 1), 몸무게(xi 2)라는 피처를 가진 벡터로 표현하고 이 두 벡터 간의 거리를 구합니다.
이때 서로 다른 값을 가진 (xi n)라는 피처가 생기면 생길 수록 두 벡터간의 거리는 무한대의 가깝게 증가하게 됩니다.
이는 결국 두 벡터 사이의 실제 거리를 파악하기 어렵게 됩니다.
2. 점은 높은 차원일 수록 중심에서 더 멀어진다.
이는 차원이 증가할수록 데이터가 중심에서 멀어져 가장 자리에 위치하게 된다는 것을 의미합니다.
때문에, 분포를 추정하고, 가설을 검증하고 신뢰 구간을 계산하는 여타 통계적인
모수 추정 방법론에 큰 영향을 미쳐 분석이 힘들어지게 됩니다.
3. 각기 다른 모든 점들은 거리는 같아진다.
앞에서 모든 점들은 차원이 증가할 수록 거리가 멀어진다고 말했는데 그 거리는 점점 더 같아지게 됩니다.
같은 공간에 거리가 최대였던 각기 다른 두 점 Si,Sj은 같은 공간에 있는 어떤 점과도 거리가 같아지게 됩니다.
극단적인 예시로 dmax == dmin이 성립하게 됩니다.
결론적으로 같은 공간에 서로 다른 두 점은 차원이 높아질 수록 거리가 같아지는 특성이 있기 때문에
KNN 같은 각기 다른 점 사이의 거리를 통해 군집을 형성하는 알고리즘에서 매우 부정적인 영향을 주게됩니다.
4. 모델이 예측 정확도가 100%에 가까워진다.(과적합)
P >> N 즉, Data(N) 수 보다 feature(P) 수가 훨씬 많아 지는 상황이 되면
데이터는 희소한 공간에 놓여지게 됩니다. 때문에 데이터의 각 차원은 하나의 Data의 value 만
가지는 초평면이 되게 됩니다. 그렇게 되면 모델은 각 차원의 하나의 값만 보고 모델을 맞추게 되고 정답을 모두
맞추게 되어 Error가 0에 수렴하는 상황이 오게됩니다. 문제점는 모든 Noise까지 맞춰버리는 과적합 상태된다는 것 입니다.
차원의 저주를 간단히 요약
1. P >> N 이면 데이터들의 거리가 증가하게 됩니다.
2. 데이터들은 중심으로부터 멀어져 가장 자리로 이동하게 되기 때문에 중심을 활용한 통계 분석 기법들은
올바른 판단을 내릴 수 없게 됩니다.(검정, Z-score 등등)
3. 데이터들간의 거리는 모두 같아지기 때문에 KNN 같은 거리 기반 군집 알고리즘은 군집을 만들기 어렵게 됩니다.
4. 모든 데이터에 대해 각 차원은 하나의 value만 같게 되기 때문에 어떤 차원에 값만 있다면 그 답을 맞추게 되어버립니다.
Overfiting 되어 적절한 모델 학습을 수행할 수 없습니다.
https://www.dominodatalab.com/blog/the-curse-of-dimensionality
The Curse of Dimensionality
The 'Curse of Dimensionality' problem applies to data like genomic sequencing, many variables measured on a relatively few number of samples.
www.dominodatalab.com
ps.
- 아직 수학수식을 제대로 이해하지 못하는 나에 대한 반성..
E는 평균인건 알겠는데.. O는..
- 덴드로그램이 어떤 것인지 아직 제대로 모르겠다.
'AI' 카테고리의 다른 글
Optimization 최적화 방법 (1) | 2022.09.12 |
---|---|
[차원축소] EVD, SVD, PCA, LDA (0) | 2022.09.06 |
XGBoost, LightGBM, Catboost (0) | 2022.08.29 |
GradientBoosting 하이퍼 파라미터 (0) | 2022.08.27 |
Gradient Boosting (0) | 2022.08.22 |