brunch

You can make anything
by writing

C.S.Lewis

by 별똥별 shooting star Oct 31. 2023

차원의 저주에 대해 이해하기

출퇴근길에 공부하는 머신러닝


들어가며

이번편부터는 '차원의 저주(Curse of Dimensionality)'에 대해 이야기해보려고 한다. 차원의 저주란 고차원 데이터를 다룰 때 발생하는 다양한 문제들을 설명하는 것이다.



차원의 저주란?

차원의 저주는 공간의 차원이 증가함에 따라 데이터의 밀도가 급격히 감소하고, 이로 인해 데이터 분석이나 머신러닝 모델의 성능에 부정적인 영향을 미치는 현상을 말한다. 예를 들어, 1차원 데이터를 표현하기 위해 필요한 데이터 수는 매우 적지만, 차원이 증가할수록 (4차원, 5차원 등) 그에 필요한 데이터 수는 기하급수적으로 증가한다. 이는 모델이 학습을 제대로 진행하기 위해 필요한 데이터 양이 많아진다는 것을 의미하며, 이는 연산 비용 증가, 과적합, 그리고 예측 성능 저하를 가져올 수 있다.



고차원 데이터의 문제점  

데이터 내 노이즈: 차원이 높아질수록 데이터 내 노이즈가 증가하고, 이는 모델의 일반화 능력을 저하시킨다.

계산적 부담: 더 많은 차원은 더 많은 계산을 필요로 하므로, 모델 훈련 및 예측 시간이 길어진다.

차원의 저주를 해결하는 방법: Domain Knowledge 사용, Regularization, Feature Selection 등 다양한 차원 축소 기법이 필요하다.



차원 축소 기법

고차원 데이터를 다루는 데 있어서, 차원 축소는 필수적인 과정이다. 차원 축소에는 크게 Feature Selection과 Feature Extraction 두 가지 방법이 있습니다.  

Feature Selection: 가장 중요한 특성만을 선택하여 데이터의 차원을 줄인다. 이 방법에는 필터 방법, 래퍼 방법 등이 있다.

Feature Extraction: 기존 특성을 기반으로 새로운 특성을 생성한다. 주성분 분석(PCA)나 선형 판별 분석(LDA) 등이 이에 해당한다.

또한, LightGBM과 같은 알고리즘은 Exclusive Feature Bundling (EFB) 같은 고유한 기법으로 차원의 저주 문제를 완화할 수 있다.



마치며

차원의 저주는 머신러닝에서 피할 수 없는 문제 중 하나이다. 이를 해결하기 위한 다양한 기법들이 존재하지만, 가장 적합한 방법은 사용하는 데이터의 특성과 문제의 복잡성에 따라 달라진다.. 따라서, 적절한 차원 축소 기법의 선택과 적용이 모델의 성능을 크게 향상시킬 수 있다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari