brunch

You can make anything
by writing

C.S.Lewis

by 별똥별 shooting star Nov 02. 2023

차원의 저주 피하기, T-SNE

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


들어가며

T-SNE(T-distributed Stochastic Neighbor Embedding)는 PCA에 이어서 고차원 데이터 공간에서 저차원 공간으로의 차원 축소 기술 중 하나이다. 특히, 데이터 시각화에서 이 방법이 강력한 효과를 발휘한다. 이는 T-SNE가 높은 차원에서 서로 비슷한 데이터 구조를 낮은 차원에서도 가깝게 유지하면서, 다른 데이터 구조는 멀리 배치함으로써 데이터 간의 관계를 사용자가 직관적으로 이해할 수 있도록 돕기 때문이다.



T-SNE의 작동 원리

    유사성의 측정: T-SNE는 고차원에서 각 데이터 포인트의 유사성을 조건부 확률로 계산하여, 한 데이터 포인트 (예: A)가 다른 데이터 포인트 (예: B)를 선택할 확률을 측정한다. 이 과정에서 가우시안 분포(Gaussian distribution)가 사용되어, 포인트 A 주변의 이웃을 정의한다.

    차원 축소와 유사성 유지: 이후, T-SNE는 저차원 공간에서도 이러한 관계를 최대한 유지하도록 점들을 배치한다. 이 과정은 저차원에서의 유사성 또한 확률적으로 계산되며, 이를 위해 t-분포(t-distribution)가 사용된다. t-분포는 더 넓은 꼬리를 가지므로, 고차원 공간의 관계를 저차원에서도 잘 표현할 수 있다.



Kullback-Leibler divergence

T-SNE 알고리즘에서 중요한 개념 하나는 Kullback-Leibler divergence이다. 이는 두 확률 분포 사이의 차이, 즉 원본 고차원 데이터 분포와 T-SNE에 의해 생성된 저차원 분포 사이의 차이를 측정한다. T-SNE는 이 divergence를 최소화하려고 시도함으로써, 고차원 공간의 데이터 구조와 유사성을 저차원에 잘 반영하고자 한다.



실제 적용 사례

T-SNE는 다양한 분야에서 활발하게 사용되고 있다. 예를 들어, 'Olivetti faces datasets'이나 'CalTech-101'과 같은 이미지 인식 분야에서, 이 알고리즘은 다양한 얼굴이나 객체의 고차원 데이터를 저차원으로 축소하여, 비슷한 패턴을 가진 이미지들이 어떻게 그룹화되는지 시각적으로 이해할 수 있게 해준다.



마치며

T-SNE는 데이터의 복잡한 관계를 이해하고, 특히 고차원 데이터를 시각화하는 데 있어 강력한 도구이다. 하지만, 이 알고리즘 또한 실행 시간, 해석의 어려움 등의 제약 사항이 있기 때문에, 사용 전에 목적과 요구 사항을 명확히 이해하는 것이 중요할 것이다.

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