A = matrix, v1=eigen vector, λ=eigen value(constant)
A가 어떤 행렬 m x n일 때, v1는 n x 1입니다
Av1 = m x 1 인데 우변에 있는 v1은 n x 1 이니까 결국 m = n이죠.
그래서 A는 square matrix임을 알 수 있습니다.
Av1 = λ1v1, Av2 = λ2v2, Av3 = λ3v3
A[v1v2v3] = [λv1λv2λv3]=[v1v2v3]⎣⎢⎡λ1000λ2000λ3⎦⎥⎤
이렇게 표현하고 좌변에 있는 vectors도 우변으로 넘겨주고!.
=[v1v2v3]⎣⎢⎡λ1000λ2000λ3⎦⎥⎤[v1v2v3]−1 = VΛV−1 = A
근데 여기서 람다만 남겨주고 다 넘기면 Λ = V−1AV
diagonalizable이라고 합니다.
또 symmetric matrix면 diagonalizable함
symmetrix matrix는 자기 자신과 transpose한 값과 동일하기 때문에 A=AT A=VΛV−1를 transpose하면 V−TΛVT V−1 = VT
PCA란?
Principal Component Analysis의 약자로 주성분 분석입니다.
쉽게 데이터 포인트들이 각각 존재할 때 각 데이터들의 분산이 가장 큰 방향이 주성분입니다.
왜 분산이 가장 큰 방향이 주성분인가?
어떤 데이터와 데이터를 잇는 방향과 다른 데이터들을 내적을 했을 때 오차값이 가장 작아야지 잘 설명하는 것인데 그 방향이 분산이 가장 큰 방향입니다.
uminN1i∑(di−diTu⋅u)T(di−diTu⋅u)uT⋅u=1
길이는 1로 기준으로 보자.
위식을 전개하며 u를 최소화하는 것이기 때문에 필요한 것만 보면
−N1i∑uTdidiTu
di=d~i-dˉ dˉ = 데이터들의 평균
−uTN1∑i(d~i−dˉ)(d~i−dˉ)Tu
빨간색으로 칠한 부분이 sample covariance matrix입니다.
빨간 부분은 Rd라고 하고 식을 보면 −uTRdu인데 마이너스가 붙어있으니까 가장 크게 만드는 것이 가장 작아지니까 maximize하는 것입니다
umaxuTRdu
Lagrange multiplier
최적화 문제에서 사용하는 방법인데 최대 최소값을 찾으려는 문제 해결방법입니다
objective function과 constraints을 λ를 이용하여 편미분 값이 0이 되는 변수의 해를 찾는 것.
uTRd=λuT =(uTRd)T=(λuT)T =Rdu=λu
위 람다는 eigen value!!
위 식을 eigen decomposition 하면 uTRdu = uT(λ1q1q1T+λ2q2q2T+λ3q3q3T+⋯)u u가 가장 큰 값이 λ1 다음으로 큰 값이 λ2 eigendecomposition에서 projection한 것과 같기 때문에 람다 하나하나의 값들은 전부 orthogonal하기 때문에 다음으로 큰 값은 수직입니다!