출퇴근길에 공부하는 머신러닝
T-SNE(T-distributed Stochastic Neighbor Embedding)는 PCA에 이어서 고차원 데이터 공간에서 저차원 공간으로의 차원 축소 기술 중 하나이다. 특히, 데이터 시각화에서 이 방법이 강력한 효과를 발휘한다. 이는 T-SNE가 높은 차원에서 서로 비슷한 데이터 구조를 낮은 차원에서도 가깝게 유지하면서, 다른 데이터 구조는 멀리 배치함으로써 데이터 간의 관계를 사용자가 직관적으로 이해할 수 있도록 돕기 때문이다.
유사성의 측정: T-SNE는 고차원에서 각 데이터 포인트의 유사성을 조건부 확률로 계산하여, 한 데이터 포인트 (예: A)가 다른 데이터 포인트 (예: B)를 선택할 확률을 측정한다. 이 과정에서 가우시안 분포(Gaussian distribution)가 사용되어, 포인트 A 주변의 이웃을 정의한다.
차원 축소와 유사성 유지: 이후, T-SNE는 저차원 공간에서도 이러한 관계를 최대한 유지하도록 점들을 배치한다. 이 과정은 저차원에서의 유사성 또한 확률적으로 계산되며, 이를 위해 t-분포(t-distribution)가 사용된다. t-분포는 더 넓은 꼬리를 가지므로, 고차원 공간의 관계를 저차원에서도 잘 표현할 수 있다.
T-SNE 알고리즘에서 중요한 개념 하나는 Kullback-Leibler divergence이다. 이는 두 확률 분포 사이의 차이, 즉 원본 고차원 데이터 분포와 T-SNE에 의해 생성된 저차원 분포 사이의 차이를 측정한다. T-SNE는 이 divergence를 최소화하려고 시도함으로써, 고차원 공간의 데이터 구조와 유사성을 저차원에 잘 반영하고자 한다.
T-SNE는 다양한 분야에서 활발하게 사용되고 있다. 예를 들어, 'Olivetti faces datasets'이나 'CalTech-101'과 같은 이미지 인식 분야에서, 이 알고리즘은 다양한 얼굴이나 객체의 고차원 데이터를 저차원으로 축소하여, 비슷한 패턴을 가진 이미지들이 어떻게 그룹화되는지 시각적으로 이해할 수 있게 해준다.
T-SNE는 데이터의 복잡한 관계를 이해하고, 특히 고차원 데이터를 시각화하는 데 있어 강력한 도구이다. 하지만, 이 알고리즘 또한 실행 시간, 해석의 어려움 등의 제약 사항이 있기 때문에, 사용 전에 목적과 요구 사항을 명확히 이해하는 것이 중요할 것이다.