2021년 10월 4일 월요일

PCA

 PCA


PCA는 차원축소를 배우면서 처음 접한 알고리즘이다.

PCA에 대한 간단한 정리를 해 보려고 한다.

 

1. PCA는 공분산 행렬을 이용한다.

 

 PCA는 원본 데이터에 계수 알파를 곱하여 만들어진 선형 결합으로 만들어지는데 이떄 이 계수 알파가 선형결합의 분산이 최대가 되는 쪽으로 최적화를 해야한다.

 

2. 고유값 고유벡터 사용

 

위의 최적화를 위해 고유값과 고유벡터를 원본데이터에서 분해하고 가장 큰 고유값을 갖는 고유벡터 순으로 선택된다.

 

3. PCA를 한 후의 변수들은 서로 독립이다.

 

4. PCA는 가우시안 분포가 아닌 데이터에 대해서는 적용하기 어렵고, 분류가 잘 되도록 차원을 축소해주지 않는다.

 

5. PCA는 분산을 사용하기 때문에 스케일링에 영향이 크다.

 

<PCA의 순서>

 

1. 데이터 정규화 (Standard Scaling 사용)

2. 공분산 행렬 생성

3. 고유값과 고유벡터 분해

4. 고유값의 크기 순으로 고유벡터를 정렬

5. 정렬된 고유벡터를 이용해서 원본데이터를 변환



<직접 구현한 PCA 코드>

https://github.com/YongJaeJung/Data_Analysis/blob/master/%EC%B0%A8%EC%9B%90%EC%B6%95%EC%86%8C/PCA.ipynb

Share:

0 comments:

댓글 쓰기