Etc/Deep Learning

3장 머신러닝 - 비지도 학습(2) : 주성분 분석(PCA)

z.zzz 2021. 7. 27. 15:13

3.2.3 주성분 분석(PCA)

PCA란?

 고차원 데이터를 저차원(차원 축소) 데이터로 축소시키는 알고리즘

 

PCA를 사용하는 이유와 적용 환경

사용하는 이유: 주어진 데이터의 간소화(변수가 많은 고차원 데이터의 경우, 중요하지 않은 변수로 처리해야 할 데이터 양이 많아지고 성능이 나빠지는 경향 有

→ 해결방법 : 고차원 데이터를 저차원으로 축소시켜, 데이터가 가진 대표 특성만 추출

→ 효과 : 성능 향상, 작업은 좀 더 간편해짐

적용 환경 : 현재 데이터 특성(변수)가 너무 많을 땐, 데이터를 하나의 plot에 시각화해서 보기 어렵기 때문에 ,특성 p를 두 세개 정도로 압축해서 데이터를 시각화하고 싶을 때 유용

 

차원 축소 방법

① 데이터들의 분포 특성을 잘 설명하는 벡터를 두 개 선택

    다음 그림의 벡터 e1과 e2는 데이터 분포를 잘 설명함(각 벡터의 방향과 크기를 알면 데이터 분포 형태를 알 수 있음)

벡터 두 개를 위한 적정한 가중치를 찾을 때까지 학습을 진행

2D에서 PCA 예시

 

즉, PCA란 데이터 하나하나에 대한 성분 분석(X)

     여러 데이터가 모여 하나의 분포를 이룰 때, 이 분포의 주성분을 분석하는 방법(O)   

//분포의 주성분 : 전체 데이터(독립 변수들)의 분산을 가장 잘 설명하는 성분(전체 독립변수가 네 개 있는데, 두 개의 변수로도 전체 데이터에 대한 분산을 충분히 설명할 수 있다면, 두 개의 변수만 사용하겠단 의미), 주성분(변환된 데이터) ≠ 원래 데이터

 

예제 - 데이터를 정확히 클러스터링하기

(밀도 기반 군집 분석을 이용한 클러스터링, PCA를 이용한 시각화)