클라우드의 데일리 리포트

주성분분석(Principal Component Analysis) 본문

카테고리 없음

주성분분석(Principal Component Analysis)

클라우드의 데일리 리포트 2023. 8. 8. 09:41
728x90
반응형

1. 개요

주성분 분석(主成分分析, Principal component analysis; PCA)은 고차원의 데이터를 저차원의 데이터로 환원시키는 기법을 말한다. 이 때 서로 연관 가능성이 있는 고차원 공간의 표본들을 선형 연관성이 없는 저차원 공간(주성분)의 표본으로 변환하기 위해 직교 변환을 사용한다. 데이터를 한개의 축으로 사상시켰을 때 그 분산이 가장 커지는 축을 첫 번째 주성분, 두 번째로 커지는 축을 두 번째 주성분으로 놓이도록 새로운 좌표계로 데이터를 선형 변환한다. 주성분 분석(Principal Component Analysis, PCA)은 기존의 변수를 조합하여 서로 연관성이 없는 새로운 변수, 즉 주성분(principal component, PC)을 만들어 낸다.

1) 주성분 분석 방법

PCA는 분포된 데이터들의 주성분(Principal Component)를 찾아주는 방법이다. 좀더 구체적으로 보면 아래 그림과 같이 2차원 좌표평면에 n개의 점 데이터 (x1,y1), (x2,y2), ..., (xn,yn)들이 타원형으로 분포되어 있을때, 이 데이터들의 분포 특성을 2개의 벡터로 가장 잘 설명할 수 있는 방법은 무엇일까? 그건 바로, 그림에서와 같이 e1, e2 두 개의 벡터로 데이터 분포를 설명하는 것이다. e1의 방향과 크기, 그리고 e2의 방향과 크기를 알면 이 데이터 분포가 어떤 형태인지를 가장 단순하면서도 효과적으로 파악할 수 있다.

PCA는 다음과 같은 단계로 이루어집니다:

데이터 표준화: 각 변수를 평균이 0, 표준편차가 1이 되도록 표준화합니다. 이는 데이터의 스케일이 다를 경우 올바른 주성분을 추출하기 위해 필요합니다.

공분산 행렬 계산: 표준화된 데이터를 기반으로 공분산 행렬을 계산합니다. 이 행렬은 데이터 변수들 간의 상관관계를 나타냅니다.

공분산 행렬의 고윳값과 고유벡터 계산: 공분산 행렬의 고윳값과 고유벡터를 계산합니다. 고유벡터는 주성분을 나타내며, 고윳값은 주성분의 중요도를 나타냅니다.

주성분 선택: 고윳값을 크기순으로 정렬하여 주성분을 선택합니다. 가장 큰 고윳값에 해당하는 주성분이 가장 중요한 주성분입니다.

주성분으로 데이터 변환: 선택한 주성분으로 데이터를 새로운 공간으로 변환합니다. 이를 통해 데이터의 차원을 축소하거나 패턴을 파악할 수 있습니다.

 

2. 주성분 계산

PCA의 목표는 데이터의 원래 변수(차원)를 선형적으로 변환하여 새로운 변수, 즉 주성분으로 변환하는 것입니다. 주성분은 원본 데이터에서 가장 많은 정보를 포함하고 있으며, 더 적은 차원으로 표현됩니다. 주성분은 데이터의 분산을 최대화하는 방향으로 정의됩니다.

1) 주성분 선택

PCA는 데이터 하나 하나에 대한 성분을 분석하는 것이 아니라, 여러 데이터들이 모여 하나의 분포를 이룰 때 이 분포의 주 성분을 분석해 주는 방법이다. PCA에서 찾은 제 1 주성분 벡터는 데이터 분포의 분산이 가장 큰 방향을 나타낸다. 

 

데이터들을 zi = (x1, ..., xp), i = 1, ..., n라 하자 (데이터의 차원은 p, 개수는 n). 이 때, 크기가 1인 임의의 단위벡터 w에 대해 zi들을 w에 투영시킨(projection) 벡터 hi = (zi·w)w 들을 생각해 보면 입력 데이터 zi들의 분산을 최대화하는 방향은 결국 프로젝트된 벡터 hi의 크기인 (zi·w)의 분산을 최대화시키는 w를 찾는 문제와 동일하다.

 

PCA란 한마디로 말하면 입력 데이터들의 공분산 행렬(covariance matrix)에 대한 고유값분해(eigendecomposition)로 볼 수 있다. 이 때 나오는 고유벡터가 주성분 벡터로서 데이터의 분포에서 분산이 큰 방향을 나타내고, 대응되는 고유값(eigenvalue)이 그 분산의 크기를 나타낸다. 

 

3. 주성분분석의 특징

주성분 분석(Principal Component Analysis, PCA)의 특징은 다음과 같습니다.

특징 설명
차원 축소 고차원 데이터를 저차원으로 변환하여 데이터의 크기를 줄임
정보 보존 데이터의 분산을 최대화하는 방향으로 주성분을 선택하여 정보를 보존
상관관계 고려 데이터의 상관관계를 고려하여 주성분을 계산
데이터의 잡음 제거 주요 정보를 나타내는 주성분들로 데이터를 투영하여 잡음과 불필요한 변동성을 제거
데이터 시각화 데이터의 차원을 축소하여 2차원 또는 3차원으로 표현하여 시각화
선형 변환 선형 변환에 기반하여 주성분을 계산하므로 선형적인 데이터에 적합
비선형 데이터 처리 불가능 비선형 데이터에는 적합하지 않으며, 비선형 차원 축소 기법을 고려해야 함
고유값과 고유벡터 주성분은 공분산 행렬의 고유값과 고유벡터를 이용하여 정의됨
특이값 분해(SVD)와 관련 PCA는 SVD를 통해 구현되며, SVD를 이해하면 PCA를 이해하는 데 도움이 됨

PCA는 영상인식, 통계 데이터 분석(주성분 찾기), 데이터 압축(차원감소), 노이즈 제거 등 다양한 활용을 갖는다.

 

반응형