본문 바로가기
데이터 분석

차원축소 - 투영과 매니폴드(manifold) 학습은 어떻게 다른가?

by Data Lib 2023. 10. 10.

이번 포스팅에서는 투영(projection)과 매니폴드 학습(manifold learning)에 대해 알아보겠습니다. 차원 축소를 설명할 때 이 두개의 개념은 빠질수 없는 원리입니다. 이 두개의 개념이 차원을 추출하는 원리의 근간입니다. 

 

 

투영(projection)

투영(projection)이란 물체의 그림자를 어떤 물체 위에 비추는 일 또는 그 비친 그림자를 말합니다. 어떤 물체든 그림자는 2차원으로 표현이 될 수 있다는 원리입니다. 용어는  투영, 사영 등 여러가지로 불려집니다.  우리가 분석하려는 대부분의 훈련 샘플은 고차원 공간 안의 있습니다. 그리고 그 그림자가 저차원 부분 공간(subspace)에 놓여 있다고 할 수 있습니다. 이런 경우 투영을 통해 데이터셋의 차원을 줄일 수 있습니다. 물론 모든 데이터에 대해 유효한 것은 아닙니다. 부분 공간이 뒤틀리거나 휘어있는 경우에는 그런 부분을 그림자가 표현할 수 없기 때문에 최선의 방법이 아닙니다. 예를 들어, 스위스 롤과 같은 형태를 이야기 할 수 있겠습니다. 투영의 개념을 통해 구현된 알고리즘은 대표적으로 PCA(주성분 분석), LDA(선형판별분석)이 있습니다. 

 

투영(Projection)
투영(Projection)

매니폴드 학습(manifold learning)

매니폴드란 데이터는 다양한 차원, 즉 n차원에서 존재할 수 있는데 차원을 축소시키서 작은 차원으로 데이터를 분석하게 되면 필요한 매개변수가 적어져 분류가 쉬워진다는 내용입니다. n차원을 d차원으로 공간을 축소한다고 예를 들겠습니다. (d < n) d차원의 매니폴드는 특정 부분에서 d차원 초평면으로 보일 수 있는 n차원 공간의 일부입니다. 앞에서 투영이 스위스 롤에는 적합하지 않다고 이야기 했습니다. 매니폴드는 스위스 롤(Swiss roll)에 적용할 수 있는데 이것은 2d 매니폴드라고 볼 수 있습니다. 스위스 롤은 투영(projection)이 맞지 않아 매니폴드 학습 같은 비선형 축소 방법을 사용한다고 보시면 됩니다. 

 

그렇다면 매니폴드 학습은 무엇일까요?

많은 차원 축소 알고리즘이 훈련 샘플이 놓여 있는 매니폴드를 모델링하는 식으로 작동합니다. 매니폴드 가정(가설)은  대부분 실체 고차원 데이터셋(dataset)이 더 낮은 저차원 매니폴드에 가깝게 놓여 있다라고 가정하는 것입니다. 종종 암묵적으로 분류와 회귀 등 작업이 저차원의 매니폴드 공간에 표현되면 더 간단해질 것이라는 아이디어 입니다. 하지만 투영(projection)에서도 그랬듯이 이러한 가설이 항상 유효하지 않습니다. 알고리즘 훈련 전에 차원을 감소하게 되면 훈련 속도는 빨라지는 이점이 있습니다. 하지만 항상 더 나은 솔루션이 되지는 않으며 이것은 데이터셋이 어떤 형태냐에 따러 달려질 수 있음을 명심해야 합니다. 대표적인 알고리즘으로는 LLE, t-SNE, Isomap, Autoencoer 등이 있습니다. 

 

투영 vs 매니폴드 학습
투영 vs 매니폴드 학습