오늘 끝나면
주성분 분석 (PCA)
- ✓주성분 분석 (PCA)의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 주성분이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
변수가 너무 많으니 핵심만 추려라 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
통계 · 21
주성분 분석
(PCA)
변수가 수십 개면 보기도 계산도 어려움.
PCA는 데이터가 가장 많이 퍼진 축만 추려 차원을 줄임.
정보 대부분을 지키면서 변수 개수를 확 낮추는 도구임.
변수가 많으면 중복이 생긴다
변수가 2개면 산점도 한 장으로 봄. 50개면? 못 봄.
변수가 많으면 두 가지가 동시에 터짐.
보기 어려움 — 사람은 2~3차원까지만 그림.
계산 무거움 — 차원이 늘수록 모델이 느려지고 과적합 위험도 커짐.
게다가 변수끼리 중복이 많음.
키가 크면 몸무게도 대개 큼 / 두 변수가 거의 같은 말을 함.
이런 중복을 합쳐 더 적은 축으로 같은 정보를 담을 수 있음.
한 변수만 알면 다른 변수도 대충 앎 = 중복
분산이 가장 큰 방향 = 주성분
PCA의 한 줄 아이디어 — 데이터가 가장 많이 퍼진 방향을 새 축으로 삼음.
많이 퍼졌다 = 분산이 크다 = 정보가 많다.
그래서 분산이 최대가 되는 방향을 찾아 그걸 제1주성분(PC1)이라 부름.
그 다음, PC1에 직교하면서 남은 분산이 가장 큰 방향이 제2주성분(PC2)임.
축들은 서로 직교함 / 새 좌표계가 됨.
x·y 대신 PC1·PC2로 점의 위치를 다시 적는 셈임.
정보는 그대로인데 축만 데이터에 맞게 회전한 것임.
수학으로 한 줄
PC1 방향은 데이터의 공분산행렬 Σ의 가장 큰 고유값에 대응하는 고유벡터임.고유값 λ가 곧 그 축이 담는 분산의 크기임.
즉 PCA = 공분산행렬의 고유분해 / 큰 λ 순서로 축을 줄세우는 것.
PC1 = 가장 퍼진 쪽 / PC2 = 거기 직각
직접 돌려보기 — 축이 따라 돈다
오른쪽에서 점구름 모양을 직접 바꿔봄.
점구름을 길쭉하게 / 회전시켜 보셈.
파란 화살표(PC1)가 항상 가장 길게 퍼진 쪽을 가리키며 따라 돔.
PC2는 거기에 직각으로 붙어 다님 / 직교가 눈에 보임.
[1D로 투영]을 누르면 점들을 PC1 한 축에 내림.
2차원이 1차원으로 줄어드는데도 보존 분산 %는 꽤 높게 유지됨.
길쭉할수록 한 축에 정보가 몰려 손해가 적음 / 둥글수록 줄이면 많이 잃음.
길쭉할수록 PC1 한 축에 정보가 몰림 — 지금 92%. 한 축만 남겨도 거의 안 잃음.
앞 몇 축만 남겨 차원을 줄인다
주성분은 분산 큰 순서로 줄세워져 있음. 앞 몇 개만 남기면 됨.
보통 앞쪽 몇 축이 전체 분산의 대부분을 담음.
예를 들어 PC1+PC2가 90%를 담으면, 뒤 축들은 버려도 정보 10%만 잃음.
50개 변수를 2~3개 축으로 줄이고도 큰 그림은 그대로임.
그래서 PCA의 쓸모는 두 가지임.
시각화 — 고차원 데이터를 2D로 눌러 한 장에 그림.
노이즈 제거 — 분산 작은 뒤 축은 대개 잡음 / 잘라내면 깔끔해짐.
앞 2축만 남겨도 85% 보존 / 나머지 4축은 잘라도 됨
정리 — 회전하고, 자른다
PCA는 두 동작으로 끝남 — 데이터에 맞게 축을 회전하고, 뒤 축을 자름.
1) 분산 최대 방향으로 새 축(주성분)을 찾음 = 회전.
2) 분산 큰 앞 축 몇 개만 남기고 나머지는 버림 = 차원 축소.
남은 축에 점을 사영하면 더 적은 변수로 같은 정보를 담음.
주의 — 분산을 기준 삼으니 변수 단위(스케일)에 민감함.
단위가 다른 변수는 보통 표준화(평균0·분산1) 후 PCA를 돌림.
Q. PCA가 첫 번째 주성분으로 고르는 방향은?
데이터의 분산이 가장 큰(가장 많이 퍼진) 방향임.그 방향이 정보를 가장 많이 담기 때문 / 공분산행렬의 최대 고유값에 대응하는 축임.
회전 → 자르기 / 이게 차원 축소의 전부임