Programmers/데브코스 인공지능

[프로그래머스 스쿨 AI] Weak 2 SVD,PCA

 

1. 특이값 분해(Singular Value Decomposition)

$ A (= UDV^T) $

1. U

입력 차원인 $R^m$ 공간에서의 회전

2. D

입력차원인 $R^n $ 공건에 대해 축방향으로의 확대축소한 후, $R^n$ → $R^m$ 으로 차원 변환 

3. V

입력 차원인 $R^n 공간에서의 회전

2. 주성분분석(Prinncipal Component Analysisi)

공분산행렬에대한 고유값 분해에 기반을 둔 직교분해

즉 차원을 하나씩 줄이며 간다

$m = \frac{1}{K}\sum ^k_{i=1}x_i \\
C = \frac{1}{K}\sum ^k_{i=1}(x_i - m)(x_i - m)^T$

 

$C_{n \times n} = W_{n \times n} D_{n times n} W^T_{n \times n}$

 

$\begin{bmatrix}* & * &* \\ * & * &* \\  *& * &* \end{bmatrix} =
\begin{bmatrix}* & * &* \\ * & * &* \\  *& * &* \end{bmatrix} 
\begin{bmatrix}\lambda_1  &  & \\  & \ddots  & \\  &  &\lambda_n \end{bmatrix}
\begin{bmatrix}* & * &* \\ * & * &* \\  *& * &* \end{bmatrix} 
$

(용어 W : n 차원 회전행렬 =정규 직교 행렬

D: n차원 확대축소= 확대축소 크기에 따른 정렬 형태)

3 차원 링크링크(www.geogebra.org/3d/yjmcvqwf)

 

이렇게 근사값의 차원이 낮은 축을 만들어 거리값을 따로 뺴어 차원수를 줄이는 방법이다

(실제 이미지는 z축도 떠있어야 하는데 잘 못하여 이동 시키지 못하였습니다)