PCA
PCA는 차원축소를 배우면서 처음 접한 알고리즘이다.
PCA에 대한 간단한 정리를 해 보려고 한다.
1. PCA는 공분산 행렬을 이용한다.
PCA는 원본 데이터에 계수 알파를 곱하여 만들어진 선형 결합으로 만들어지는데 이떄 이 계수 알파가 선형결합의 분산이 최대가 되는 쪽으로 최적화를 해야한다.
2. 고유값 고유벡터 사용
위의 최적화를 위해 고유값과 고유벡터를 원본데이터에서 분해하고 가장 큰 고유값을 갖는 고유벡터 순으로 선택된다.
3. PCA를 한 후의 변수들은 서로 독립이다.
4. PCA는 가우시안 분포가 아닌 데이터에 대해서는 적용하기 어렵고, 분류가 잘 되도록 차원을 축소해주지 않는다.
5. PCA는 분산을 사용하기 때문에 스케일링에 영향이 크다.
<PCA의 순서>
1. 데이터 정규화 (Standard Scaling 사용)
2. 공분산 행렬 생성
3. 고유값과 고유벡터 분해
4. 고유값의 크기 순으로 고유벡터를 정렬
5. 정렬된 고유벡터를 이용해서 원본데이터를 변환
<직접 구현한 PCA 코드>
0 comments:
댓글 쓰기