Dimensionality Reduction

이진·2024년 8월 26일

Aiffel

목록 보기
7/7

차원 축소

비지도 학습의 대표적인 방법으로 Clustering과 Dimensionality Reduction을 들 수 있습니다.
이번에는 그 중 하나인 차원 축소에 대해 알아보겠습니다.

왜 사용할까?

예전과 달리 현재는 모르는 것이 있을 때, 모르는 내용을 바로 찾아볼 뿐만 아니라 개인의 성향에 맞추어 추천 알고리즘이 적용된 서비스들도 많습니다. 때로는 불필요한 정보들을 너무 많이 제공하기도 하여 원하는 정보와 원치 않는 정보를 분류하기 힘든 경우도 있죠

차원 축소는 이처럼 수 많은 정보 속에서 무엇이 더 중요한 지 알게 해주는 방법입니다.
특히, 비지도학습에서는 데이터를 나타내는 여러 특징들 중에서 어떤 특징이 가장 그 데이터를 잘 표현하는 지 알게 해주는 특징 추출(Feature Extraction)의 용도로도 사용됩니다.

자세한 설명은 https://www.youtube.com/watch?v=C21GoH0Y9AE&list=PL_iJu012NOxdZDxoGsYidMf2_bERIQaP0&index=26&t=1027s 를 봐주시면 좋을 것 같습니다.

👏 간단하게!
PCA는 데이터의 분산이 가장 큰 방향벡터인 주성분을 찾아주는 방법입니다.
PCA는 데이터들의 분산을 최대로 보존하면서 서로 직교(Orthogonal)하는 기저(Basis)들을 찾아 고차원 공간을 저차원 공간으로 사영(Projection)합니다. 그리고 PCA에선 기존 feature 중 중요한 것을 선택하는 방식이 아닌 기존의 feature를 선형 결합(Linear Combination)하는 방식을 사용합니다.
즉, PCA는 차원 축소를 시도하되 주어진 좌표축 방향이 아닌 가장 분산이 길게 나오는 기저 방향을 찾아 그 방향의 기저만 남기고 덜 중요한 기저 방향을 삭제하는 방식으로 진행됩니다.
이렇게 찾은 가장 중요한 기저를 주성분(Principal Component)방향이라 합니다.

T-SNE

T-SNE는 T-Stochastic Neighbor Embedding이라는 시각화에 많이 쓰이는 알고리즘입니다.
현실 세계는 3차원이며 우리는 그 이상의 차원을 표현하거나 눈으로 보고 인지하기 어렵기에 고차원의 데이터를 1 ~ 3차원으로 불러들여와야 비로소 데이터를 시각적으로 이해할 수 있게 됩니다.

PCA로 시각화하면 되는거 아니야? 라고 생각할 수 있지만 차원 축소를 진행하는 목적에 따라 데이터의 어떤 정보를 보존할 것인 지 적합한 알고리즘이 따로 있습니다.

PCA는 주로 선형적인 데이터의 분포를 가지고 있을 때 정보의 보존이 가장 잘 되며
방사형, 비선형적 데이터에서는 많은 정보량을 담기 위한 주성분으로 잡을 선형적인 축을 찾기가 어렵기에
이러한 데이터를 PCA를 이용해 2차원으로 표현하게 되면 멀리 있는 데이터가 가까이 있도록 차원 축소가 이루어지게 될 것입니다.

T-SNE는 기존 차원의 공간에서 가까운 점들은 차원 축소된 공간에서도 여전히 가깝게 유지되는 것을 목표로 하고 있습니다.

👏 즉, PCA는 데이터가 가진 고유한 물리적 정보량을 보존하는 데 주력하지만 T-SNE는 고유한 물리적 정보량보다는 데이터들 간의 상대적 거리를 보존하는데 주력합니다.

profile
Victoria Concordia Crescit

0개의 댓글