Principal Component Analysis (PCA, 주성분 분석)
PCA: 고차원 데이터를 저차원으로 변환하여 중요한 정보만 유지하는 차원 축소 기법으로, 데이터의 분산이 가장 큰 방향을 따라 새로운 축(주성분)을 생성
Principal Component Analysis (PCA)
- 전체 데이터의 variance 를 가장 잘 explainable 한 주 성분을 찾아주는 method
- Principal Component (주 성분)이란, 해당 direction 으로의 데이터들의 variance 가 가장 큰 vector of direction
- Variance(분산) 가 가장 크다는 말은, data 가 가장 widely spread 되어있어 classification 이 쉽다
-
Principal component vector of direction 을 찾아서, 데이터를 overlap 하도록 projection 시켜 dimension 을 한 단계 낮춤
Covariance Matrix
Covariance (공분산)
-
두 var x, y 의 covariance 는 다음과 같이 define 된다.
$\textrm{cov}(x,y)=E[(x-\overline x)(y-\overline y)]=E[xy]-\overline{xy}$
- 한 쪽 var 의 값이 커짐에 따라, 다른 변수 또한 커지면 양(+)의 상관관계를, 작아지면 음(-)의 상관관계를 갖는다.
- 서로 상관관계가 없는 independent 관계에서는 covariance 가 0이 된다.
Covariance Matrix
- 각각의 data feature 사이의 covariance value 를 element 로 하는 matrix.
- $x=[x_1,x_2,…,x_N]$
- $C = E[(x-\overline x)(x-\overline x)^T]:\textrm{N}\times \textrm {N Matrix}$
- $C_{ij}=E[(x_i-\overline x)(x_j-\overline x)^T]$
- 열 (Row) 에 대한 부분이 feature 가 되며, feature 사이의 covariance 가 element 로 된다.
- Covariance Matrix 는 Symmetric 성질을 만족한다.
Eigenvalue & Eigenvector
고유값 & 고유벡터
- Matrix A 를 linear transformation 으로 봤을 때, linear transformation A 이후에도 자기 자신이 constant multiplier (상수 배수)가 되는 vector 를 eigenvector (고유 벡터)라고 부르고, 이 때의 constant multiplier value 를 eigenvalue 라고 한다.
- $Av=\lambda v$
- i.e., Linear transformation A 에 의해 direction 이 maintain 되고, scale 만 conversion 되는, direction vector 와 scale value 를 의미한다.
- e.g., A 가 Rotational transform 이라 가정했을 때, rotation axis vector 가 eigenvector, eigenvalue 는 1이 된다.
Eigen Decomposition
고유값 분해
- Matrix A 를 eigenvector 를 ColumnVector(열 벡터0 로 하는 matrix 과 eigenvalue 을 diagonal element(대각원소) 하는 matrix 의 multiply 로 decomposition 분해)
- Eigenvector 와 eigenvalue 는 square matrix (정방행렬; n x n)에 대해서만 define 된다.
- 단, matrix A 가 n 개의 linear independence 인 eigenvector 를 가져야 한다.
- linear independence (일차 독립) : 어느 한 벡터도 다른 벡터들의 linear combination (일차 결합)으로 표현 불가능
- Symmetric matrix (대칭 행렬) 은 항상 eigen decomposition 가능
- Eigenvalue and Eigenvector 를 $\lambda_i, v_i(i=1,2,…,n. \textrm{ and }$ ${v\neq0}$ $,v_i:n\times1 \textrm{ matrix})$ 라고 할 때,
- 실제 계산은 다음과 같이 진행한다.
- $Av= \lambda v$
- $Av-\lambda v = 0$
- $(A-\lambda I)v=0$
- If, $(A-\lambda I)^T$ 가 exist 한다면, $v=0$ 의 해를 항상 갖게 되지만, 이는 definition 에 부합하지 않음
- ${det(A-\lambda I)=0}$
- Determinant (행렬식) : 어느 matrix 의 inverse matrix (역행렬) 의 존재 여부에 대한 판별값 역할
-
Characteristic equation (특성 방정식) : 위 형태의 determinant 에 대한 방정식을 의미.
- $\lambda=1,2$ 의 Eigenvalue 에 대한 두 가지 해가 존재한다.
- 참고 : 이중근은 2개, 삼중근은 3개의 고유 벡터를 얻을 수 있음
- $v_z=0, v_x=v_y$를 만족해야 하고, 이를 만족하는 벡터는 무수히 많다.
- matrix 에 대한 eigenvalue 는 only have one value 이지만, 고유벡터는 유일하지 않음.
- $Av=\lambda v, A(cv)=\lambda (cv), A(v_1+v_2)=\lambda(v_1+v_2),…$
- Normally, Vector 의 크기가 1인 unit vector 을 사용한다.
-
$v_1=[\frac1 {\sqrt 2},\frac1 {\sqrt 2},0]^T$
- $v_x=2v_z$ 를 만족하는 unit vector 를 찾아야 한다.
- ${v=[2t,s,t]^T}$ $=t[2,0,1]^T +s[0,1,0]^T$ 의 linear combination 으로 표현 가능
- $v_2=[\frac2{\sqrt5},0,\frac1{\sqrt5}]^T, v_3=[0,1,0]^T$
What is Principal Component Analysis?
- 전체 data 의 variance 를 가장 잘 explainable 할 수 있는 principal component 를 찾아주는 method
- 이를 data 의 covariance matrix 에 대한 eigen decomposition(고유값 분해) 을 통해 얻을 수 있다.
- Covariance matrix 는 symmetric matrix 이기 때문에 eigen decomposition 이 항상 가능하다.
Question!
Why eigenvalue and eigenvector of covariance matrix is dispersion and direction vector for variance?
공분산 행렬의 고유값, 고유 벡터가 분산과 분산에 관한 방향벡터인 이유
- Data 를 $X=[x_1,x_2,…,x_n]^T$ 라고 하고, average 가 0 (원점) 이라고 assume
- Assume $v$ is any unit vector.
-
Unit vector $v$ 로 데이터를 projection 했을 때의 vector 를 $h_i$ 라고 assume.
- $h_i=(||x_i||\cos\theta)v=(||x_i||\frac{x_i\cdot v}{||x||||v||})v=$ ${(x_i\cdot v)}$ $v$
- 데이터들의 variance 가 maximize 되는 direction 이란, $h_i$ 의 크기에 대한 variance 가 maximize 된 것이다.
- $\sigma_{||h_i||}^2$ 를 최대화 시키는 $v$ 를 찾는 것이다.
- ${\sigma^2_{||h_i||}}$
- $=\frac1n(\sum_i(x_i\cdot v)^2)-(\frac1n\sum_i(x_i\cdot v))^2=\frac1n\sum_i(x_i\cdot v)^2 = \frac1n(Xv)^T(Xv)=\frac1nv^TX^TXv$
- $=$ ${v^T\frac{X^TX}nv=v^TCv}$
- $\underset{v}{\max}v^TCv,\textrm{ subject to : }v^Tv=1$
- 위의 문제는 Lagrange multiplier method vector 를 통해 다음과 같이 표현 할 수 있다.
-
$\frac{\partial L}{\partial v}=2Cv-2\lambda v=0 \Rightarrow$ ${Cv=\lambda v}$
- ${Cv=\lambda v}$ : Covariance matrix, C 에 대한 eigenvector 가 variance 를 maximize 시키는 direction vector.
- Also, 그 size of the variance at that instant state 가 eigenvalue 이 된다.
- Covariance matrix 에 대한 eigenvalue $\lambda_i$ 를 정렬해, 데이터를 projection 할 direction vector 의 sequence 를 결정한다.
- And then, 원하는 dimension size 까지 sequence 하여 projection 한다.
Why are the principal component vectors obtained from pca perpendicular?
PCA 로부터 얻은 주성분 벡터들의 관계가 수직인 이유.
- Eigen decomposition 이 가능한 square matrix, n 은 n 개의 linear independence 인 eigenvector 를 가져야 한다.
- Due to independent of relationship each other, principal component vectors are perpendicular each them
Leave a comment