////
Search

차원의 저주

태그
머신러닝 일반
목차

1. 정의

데이터(n×p)의 차원이 증가함에 따라 데이터 개수(n)가 차원의 크기(p)보다 작아져 학습 효율이 떨어지는 현상을 의미한다.
차원이 커짐에 따라 데이터가 차지하는 공간이 작아지기 때문에 모델을 학습함에 있어 필요한 데이터가 기하급수적으로 늘어나는 문제를 말한다. 예컨대 1차원에서 6%의 공간을 설명하고 싶다면 전체 데이터의 6%만 확보하면 된다. 하지만 2차원에서는 25%의 데이터(0.25²=0.06)가 필요하다. 변수 개수로 풀어 말하자면 고차원 데이터를 설명하는 변수의 개수에 비해 데이터 수가 적은 상황에 해당한다. 이렇게 되면 실제 데이터 차원은 어마어마하게 큰 데 반해 이를 확인할 수 있는 데이터는 현저히 적기 때문에 과적합이 될 위험이 있다.
이때 주의할 점은 변수가 증가한다고 반드시 차원의 저주가 발생하는 것은 아니다. 관측치보다 변수 수가 많아지는 경우에 차원의 저주 문제가 발생한다.

2. 해결방법

1.
훈련 샘플의 밀도가 충분히 높아질 때까지 데이터를 모아서 훈련 세트의 크기를 키운다.
2.
PCA와 같은 차원 축소 기법을 사용하여 차원을 축소한다.
→ PCA 등을 통해서 발견해낸 저차원의 공간을 manifold라고 부른다.