아이공의 AI 공부 도전기

컴퓨터비전, 머신러닝, 딥러닝을 이용한 의료영상분석 7-4. Principle Component Analysis(PCA)

본 내용은 Edwith의 컴퓨터비전, 머신러닝, 딥러닝을 이용한 의료영상분석을 요약 정리한 내용으로 DGIST 박상현 교수님과 Edwith, STAR-MOOC에 그 저작권이 있음을 미리 공지합니다.


URL : https://www.edwith.org/medical-20200327/lecture/63158/

Dimensionality Reduction

PCA : 데이터의 차원을 줄일 때 많이 사용

데이터를 투영했을 때 분산을 Maximize하는 분포를 찾는 것이 주 목적입니다.

때문에 단순히 축에 대한 투영뿐 아니라 벡터에 대한 Maximize하는 분포를 찾는 것이 일반적입니다.

Projection을 통한 Data compression

ex) 2차원 -> 1차원

Principal Component Analysis(PCA)

X : 데이터

$\vec{e}$ : variance가 큰 벡터 e


Maximize $\vec{e}^T C \vec{e}$

라그랑지 승수법을 이용해서 풉니다.

(편미분=0을 통해 구합니다. covariance matrix에서 고유값과 고유벡터를 구하는 값으로 구하는 방법으로 나옵니다.)


ex) 2D의 경우 eigenvalue와 eigenvector가 각 2개씩 나올 것입니다.

eigenvector로 얻어낸 2개의 축을 이용하여 1D로 projection시킵니다.

PCA Implementation



평균을 구하고 평균에서 각 데이터 세트별 x가 뺀 값을 구합니다.

그 후 covariance matrix를 구합니다.

$C=\frac{1}{m}\sum_{i=1}^m (dx^{(i)})(dx^{(i)})^T$

2차원이라면 C가 2 X 2가 될 것입니다.



eigenvector들을 구하기 위해 Singular Value Decomposition(SVD)를 사용합니다. 이 내용은 선형대수학에서 사용하는 기법으로 다른 matrix 행과 열을 사용할 때 정방행렬로 만들어서 값을 구하는데 좋은 기법입니다.

차원 수와 같은 eigenvector를 얻을 것

얻은 eigenvector로 데이터를 변환합니다.

PCA Reconstruction


eigenvector를 사용하여 복원이 가능합니다만 복원을 하더라도 완벽하게는 되지 않습니다. 왜냐하면 나머지 eigenvector가 생략된 상태이기 때문입니다.

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading