코드스테이츠 AI 부트캠프/Section 1

AIB_133_복습정리 : 선형변환, 고유값, 고유벡터, PCA

yourhm 2021. 12. 4. 21:55

차원 축소

변수(피쳐)가 많다고 모든 변수를 다 활용하여 모델을 만드는 것이 꼭 좋은 것만은 아니다. 모든 변수중에서 설명력이 높은 변수만 선택해서 사용할 수도 있고, 특정 분석기법을 활용하여 설명력 높은 모델을 만드는 데 도움이 되게끔 차원을 축소할 수도 있다.

 

[참고] 차원 축소를 목표로 하여 개발된 분석 기법

1. 주성분 분석
2. 요인 분석
3. 판별 분석
4. 군집 분석
5. 정준 상관 분석
6. 다차원 척도법

 

 

차원 축소를 위한 접근 방법

차원 축소 알고리즘을 이해하기 위해서는 투영과 매니폴드 학습 두가지 접근법을 이해해야 한다.

 

1. 투영

2. 매니폴드

 

 

주성분 분석 (PCA, Principal Component Analysis)

- 가장 보편적인 차원 축소 알고리즘 중 하나.

- 데이터의 분포를 최대한 유지하려 하면서 저차원에 투영시킨다.

- 공분산행렬 또는 상관계수행렬을 사용하여 모든 변수들을 가장 잘 설명해주는 주성분을 찾는 방법

- 상관관계가 있는 변수들을 선형 결합하여 상관관계가 없는 새로운 변수(주성분)로 만들어 분산을 극대화하는 변수로 축약한다. 즉, 주성분은 변수들의 선형 결합으로 이루어져 있음!

- 주성분 분석은 독립변수들과 주성분과의 거리인 '정보손실량'을 최소화하거나 분산을 최대화한다.

 

 

주성분 분석을 할 때 고민해야 할 사항

1. 공분산행렬 또는 상관계수행렬 중에서 어떤 것을 선택하여 사용할 것인가?

2. 주성분의 개수를 몇 개로 할 것인가?

3. 주성분에 영향을 미치는 변수로 어떤 변수를 선택할 것인가?

 

공분산행렬 vs. 상관계수행렬

주성분 분석은 거리를 사용하기 때문에 척도에 영향을 받는다. (따라서 normalization 전후 주성분 분석 결과다르다)

• 공분산행렬은 변수의 측정단위를 그대로 반영함.

     - 설문조사처럼 모든 변수들이 같은 수준으로 점수화된 경우 공분산 행렬을 사용한다.

상관계수행렬은 모든 변수의 측정단위를 표준화함.

     - 변수들의 측정단위, scale이 많이 다른 경우 상관계수 행렬을 사용한다.

 

주성분 결정 기준 및 해석

성분들이 설명하는 분산의 비율

     - 분산 비율(Proportion of Variance): 각 분산이 전체 분산에서 차지하는 비중

     - 누적 분산비율(Cumulative Proportion): 분산의 누적 비율

     - 누적 분산 비율을 확인하면 주성분들이 설명하는 전체 분산 양을 알 수 있다.

     - 누적 분산 비율이 70~90% 사이가 되는 주성분 개수 선택

고윳값(Eigenvalue)

     - 분산의 크기를 나타내며, 고윳값이 1보다 큰 주성분만 사용한다.

스크리 플롯(Scree Plot)

     - 고윳값을 가장 큰 값부터 순서대로 정렬하여 보여준다.

 

 

 

[참고자료]

핸즈온 머신러닝 2 차원축소란?

https://box-world.tistory.com/61