brunch

You can make anything
by writing

C.S.Lewis

by 별똥별 shooting star Nov 01. 2023

차원의 저주 피하기, PCA(주성분 분석)

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


들어가며

오늘은 차원의 저주를 해결하는 방법 중 하나인 PCA(주성분 분석)에 대해서 알아보도록 하겠다. PCA는 많은 양의 데이터에서 가장 핵심적인 정보를 추출해 내는 데 사용되는 강력한 기술이다. 이를 통해 데이터의 차원을 축소하고, 시각화 및 분석을 용이하게 할 수 있다.



PCA(주성분 분석)란?

PCA는 고차원 데이터의 복잡성을 줄이고, 가장 중요한 특징을 강조하여 데이터를 이해하기 쉽게 만들어주는 기법이다. 이 과정에서 데이터의 분산을 최대한 보존하려는 시도가 이루어진다.



분산과 공분산

먼저, 데이터의 분산(variance)과 공분산(covariance)을 이해해야 한다. 분산은 데이터가 평균으로부터 얼마나 떨어져 있는지를 나타내는 척도이며, 공분산은 두 변수 간의 변동성이 어떻게 연관되어 있는지 보여줍니다. 이 두 개념은 PCA에서 데이터의 구조를 이해하는 데 필수적인 역할을 한다.


공분산 행렬 (Covariance Matrix)

PCA를 적용하기 전에는 데이터의 공분산 행렬을 계산한다. 이 행렬은 각 변수 간의 공분산 값을 포함하며, 이를 통해 데이터가 어떤 방향으로 가장 많이 분산되어 있는지 파악할 수 있다.


고유벡터 (Eigenvectors) 및 고유값 (Eigenvalues)

공분산 행렬을 분석하면, 여기서 고유벡터와 고유값을 찾을 수 있다. 고유벡터는 데이터가 어느 방향으로 분산되어 있는지를 나타내고, 고유값은 그 분산의 정도를 나타낸다. 여기서 중요한 점은, 고유값이 큰 고유벡터가 데이터의 주요 특성을 나타낸다는 것이다.


차원 축소

고유값을 내림차순으로 정렬하여 가장 큰 값부터 몇 개를 선택하고, 이에 해당하는 고유벡터를 사용하여 데이터를 새로운 공간으로 투영한다. 이렇게 하면 차원이 축소된 데이터를 얻을 수 있다. 만약 데이터를 시각화하기 위해 사용한다면, 일반적으로 처음 두 세 개의 주성분만을 사용한다.



마치며

PCA는 레이블이 지정되지 않은 데이터에 적용할 수 있는 비지도 학습 방법이다. 즉, 레이블이 없어도 데이터의 내재된 구조를 파악하는 데 도움을 줄 수 있다는 것이다.

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