차원의 저주 (Curse of Dimensionality)

컴퓨터과학·AI
한 줄 정의: 데이터를 표현하는 변수(차원)의 수가 늘어날수록 데이터가 공간에 희박하게 퍼져, 거리 계산이나 학습이 급격히 어려워지는 현상입니다.

쉽게 풀면

선 위에 점 10개를 촘촘히 채우려면 10개만 있으면 되지만, 같은 밀도로 사각형(2차원) 전체를 채우려면 100개, 정육면체(3차원)를 채우려면 1000개가 필요합니다. 변수(차원)가 하나씩 늘어날 때마다 필요한 데이터의 양이 기하급수적으로 늘어나는 것입니다. 차원의 저주는 바로 이 현상을 가리킵니다. 변수가 많아질수록 같은 개수의 데이터로는 공간을 거의 채우지 못해 데이터끼리 서로 멀리 떨어져 보이게 되고, 그 결과 "가장 가까운 이웃"을 찾거나 유사도를 비교하는 알고리즘의 성능이 크게 떨어집니다. 논문에서 변수가 매우 많은 고차원 데이터를 다룰 때 주성분분석과 같은 차원 축소 기법을 함께 언급하는 이유가 바로 이 때문입니다.

왜 중요한가

차원의 저주는 머신러닝, 통계학, 유전체학 등 변수의 수가 표본 수보다 훨씬 많은 상황을 다루는 거의 모든 분야에서 모델 설계의 출발점이 되는 문제입니다. 거리 기반 알고리즘의 신뢰도 저하뿐 아니라 과적합 위험 증가, 필요한 표본 크기의 급격한 증가 등과도 직결되기 때문에, 차원 축소나 특징 선택, 정규화 기법을 도입하는 근거로 논문에서 자주 언급됩니다. 최근에는 고차원 이미지·텍스트·유전자 데이터를 다루는 딥러닝 연구에서도 표현 학습이나 임베딩 설계의 배경 논리로 등장합니다.

논문에서는 이렇게 쓰입니다

"변수가 200개에 달하는 고차원 특징 공간에서는 차원의 저주로 인해 K-최근접 이웃 모델의 성능이 저하되었으며, 이에 주성분분석을 통해 차원을 20개로 축소한 후 재학습하였다."

이 문장은 변수가 지나치게 많아 데이터 간 거리 기반 비교가 잘 작동하지 않는 문제가 발생했고, 이를 해결하기 위해 중요한 정보만 남기고 변수의 수를 줄이는 전처리를 거쳤다는 뜻입니다.

"유전자 발현 데이터는 표본 수에 비해 측정된 유전자 수가 훨씬 많아 차원의 저주 문제가 심각하며, 이에 따라 유의미한 유전자만 선별하는 특징 선택 절차를 선행하였다."

실험 대상 수는 적은데 측정 항목(유전자)은 매우 많은 전형적인 고차원-저표본 상황에서, 관련성이 높은 항목만 골라내는 작업을 먼저 수행했다는 뜻입니다.

"강화학습에서 상태 공간의 차원이 커질수록 차원의 저주로 인해 탐색해야 할 상태-행동 조합이 폭발적으로 증가하여, 함수 근사 기법을 통해 이를 완화하였다."

가능한 상황의 조합 수가 변수 증가에 따라 감당할 수 없을 만큼 늘어나는 문제를, 모든 경우를 일일이 저장하지 않고 근사적으로 추정하는 방법으로 해결했다는 뜻입니다.

조금 더 깊게 보면

차원의 저주는 흔히 두 가지 현상으로 나타납니다. 하나는 데이터 점들 사이의 거리가 차원이 커질수록 서로 비슷해져 최근접 이웃과 가장 먼 이웃의 거리 차이가 상대적으로 무의미해지는 것이고, 다른 하나는 동일한 데이터 밀도를 유지하는 데 필요한 표본 수가 차원에 비례해 기하급수적으로 늘어나는 것입니다. 이를 완화하기 위한 접근으로는 주성분분석 같은 선형 차원 축소, t-SNE·UMAP 같은 비선형 임베딩, 그리고 불필요한 변수를 제거하는 특징 선택 등이 있으며, 어떤 방법이 적절한지는 데이터의 구조와 이후 분석 목적에 따라 달라집니다.

주의할 점

차원의 저주는 변수 수가 많다고 무조건 나타나는 것이 아니라, 표본 크기에 비해 변수 수가 상대적으로 많을 때 두드러집니다. 따라서 데이터 표본을 늘리거나, 불필요한 변수를 제거하는 특징 선택, 혹은 차원 축소 기법을 함께 검토하는 것이 일반적인 대응 방법입니다.

관련 용어