[1-4] Dimensionality Reduction : PCA

Principal Component Analysis (PCA)

지난 장까지는 변수 선택을 다루었습니다. 이번 장은 변수 추출에 해당하는 기법들을 소개합니다. 차원을 축소하기 위해서는 원 데이터의 특성을 최대한 잘 보존하는 방향으로 축소되어야 합니다. 좌측보다는 우측의 기저가 분산을 최대화하였으므로 데이터를 잘 표현한 것입니다.

데이터의 어떠한 특성을 보존하는지에 따라 방법론이 달라질 수 있습니다.

PCA 의 핵심 목적

이번 장에서 소개해드리는 변수 추출 방법인 PCA 는 데이터의 분산을 데이터의 특성으로 정의하고 이를 최대한 보존하기 위한 방법론 입니다. PCA 는 특정 기저에 모든 데이터를 사영되었을 시, 사영된 데이터의 퍼진 정도가 최대인 기저를 찾습니다.

PCA Formulation

1) PCA 는 데이터의 분산을 구하기 위하여 평균을 빼어 데이터의 평균을 0으로 조정합니다.

2) 다음, 목적식과 제약식을 아래와 같이 정리할 수 있습니다.

max(wTSw),  s.t  wTw=1max (w^TSw) ,\ \ s.t\ \ w^Tw=1

3) LagrangianMultiplerLagrangian Multipler 를 사용합니다. wwEigenvectorEigenvector이며, λ\lambdaEigenvaluesEigenvalues 입니다.

L=wTSwλ(wTw1)L=w^TSw-\lambda(w^Tw-1)
Lw=0=>(SλI)w=0\frac{\partial L}{\partial w}=0 =>(S-\lambda I)w = 0

4) λ\lambda 는 분산이므로, λ\lambda 를 내림차순으로 정렬합니다. 가장 큰 고유값에 해당하는 고유벡터 ww(0.67790.7352)\quad \begin{pmatrix} 0.6779 \\ 0.7352 \end{pmatrix} \quad 이며, 이는 본 알고리즘이 찾고자 하는 기저입니다.

Eigenvectors=(0.67790.73520.73520.6779),  Eigenvalues=(1.28400.0491)\quad Eigenvectors=\begin{pmatrix} 0.6779& -0.7352 \\ 0.7352 & 0.6779 \end{pmatrix} \quad,\ \ Eigenvalues=\begin{pmatrix} 1.2840 & 0.0491 \end{pmatrix} \quad

고유값이 분산이 되는 풀이 과정입니다.

따라서, 위 기저에 데이터를 사영하면 축소된 차원을 얻을 수 있습니다. 그리고 이 기저는 원 데이터의 1.28401.2840+0.0491=96.0%\frac{1.2840}{1.2840+0.0491} = 96.0\% 의 분산을 보존한다고 볼 수 있습니다.

용어를 다시 정리해보도록 하겠습니다.

Bases = Eigenvector = PC = 주성분

몇개의 기저를 사용할 것인지에 관해서 정성적 방법과 정량적 방법으로 나눌 수 있습니다.

  • 정성적 방법 : 도메인 전문가의 개입

  • 정량적 방법 : 주성분이 증가할 수록 원 데이터의 보존되는 분산이 감소되는 때 이 때 급격하게 감소되는 시점을 Elbow point 라고 한다. 이 Elbow point 를 기준으로 주성분의 수를 결정하거나, 최대 80% 의 분산을 보존해야 한다는 가정을 세울 수 있다.

PCA Limitation

PCA 는 최대 분산량을 보존하는 알고리즘이지, 분류 목적은 아니다. 분류를 위한 최적의 기저를 찾는 것은 2-4장에서 설명드리도록 하겠습니다.

Reference

https://www.khanacademy.org/math/linear-algebra/alternate-bases/orthogonal-projections/v/lin-alg-a-projection-onto-a-subspace-is-a-linear-transforma

Last updated