스킬캠퍼스

오늘 끝나면

주성분 분석 (PCA)

  • 주성분 분석 (PCA)의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 주성분이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

변수가 너무 많으니 핵심만 추려라 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

통계 · 21

주성분 분석
(PCA)

변수가 수십 개면 보기도 계산도 어렵다.
PCA는 데이터가 가장 많이 퍼진 축만 추려 차원을 줄인다.
정보 대부분을 지키면서 변수 개수를 확 낮추는 도구다.

P.01통계 · 21

변수가 많으면 중복이 생긴다

변수가 2개면 산점도 한 장으로 본다. 50개면? 못 본다.

변수가 많으면 두 가지가 동시에 터진다.
우선 보기 어렵다. 사람은 2~3차원까지만 그린다.
계산도 무겁다. 차원이 늘수록 모델이 느려지고 과적합 위험도 커진다.

게다가 변수끼리 중복이 많다.
키가 크면 몸무게도 대개 크니, 두 변수가 거의 같은 말을 한다.
이런 중복을 합쳐 더 적은 축으로 같은 정보를 담을 수 있다.

키·몸무게처럼 서로 닮은 변수들
변수 둘이 거의 같은 말
키 →몸무게

한 변수만 알면 다른 변수도 대충 안다. 이게 중복이다

P.02통계 · 21

분산이 가장 큰 방향이 주성분이다

PCA의 아이디어는 한 줄이다. 데이터가 가장 많이 퍼진 방향을 새 축으로 삼는다.

많이 퍼졌다는 건 분산이 크다는 뜻이고, 분산이 크면 정보가 많다.
그래서 분산이 최대가 되는 방향을 찾아 그걸 제1주성분(PC1)이라 부른다.
그 다음, PC1에 직교하면서 남은 분산이 가장 큰 방향이 제2주성분(PC2)이다.

축들은 서로 직교하고, 새 좌표계가 된다.
x·y 대신 PC1·PC2로 점의 위치를 다시 적는 셈이다.
정보는 그대로인데 축만 데이터에 맞게 회전한 것이다.

수학으로 한 줄PC1 방향은 데이터의 공분산행렬 Σ의 가장 큰 고유값에 대응하는 고유벡터다.
고유값 λ가 곧 그 축이 담는 분산의 크기다.
즉 PCA는 공분산행렬의 고유분해이고, 큰 λ 순서로 축을 줄세우는 것이다.
가장 길게 퍼진 쪽으로 새 축을 놓음
제1·제2주성분
PC1PC2

PC1은 가장 퍼진 쪽, PC2는 거기 직각이다

P.03통계 · 21

직접 돌려보면 축이 따라 돈다

점구름 모양을 바꾸면 주성분 축이 따라 돈다.

점구름을 길쭉하게 늘리거나 회전시켜 보자.
파란 화살표(PC1)가 항상 가장 길게 퍼진 쪽을 가리키며 따라 돈다.
PC2는 거기에 직각으로 붙어 다니니, 직교가 눈에 보인다.

PC1 한 축에 사영하면 2차원이 1차원으로 줄어든다.
그런데도 보존 분산 비율은 꽤 높게 유지된다.
길쭉할수록 한 축에 정보가 몰려 손해가 적고, 둥글수록 줄이면 많이 잃는다.

점구름 모양 바꾸면 주성분이 회전
PCA · 분산 최대 방향 찾기
PC1PC2
입력, 점구름 모양 바꾸기
납작함(둥긂 ← → 길쭉)3.2×
회전각25°
출력, 보존되는 분산
PC1 보존 분산
92.1%
PC2로 버려지는 분산
7.9%

길쭉할수록 PC1 한 축에 정보가 몰린다. 지금 92%. 한 축만 남겨도 거의 안 잃는다.

P.04통계 · 21

앞 몇 축만 남겨 차원을 줄인다

주성분은 분산 큰 순서로 줄세워져 있다. 앞 몇 개만 남기면 된다.

보통 앞쪽 몇 축이 전체 분산의 대부분을 담는다.
예를 들어 PC1+PC2가 90%를 담으면, 뒤 축들은 버려도 정보 10%만 잃는다.
50개 변수를 2~3개 축으로 줄이고도 큰 그림은 그대로다.

그래서 PCA의 쓸모는 두 가지다.
하나는 시각화다. 고차원 데이터를 2D로 눌러 한 장에 그린다.
다른 하나는 노이즈 제거다. 분산 작은 뒤 축은 대개 잡음이라, 잘라내면 깔끔해진다.

누적 분산, 앞 몇 개가 대부분
분산 기여도 (스크리)
PC1
62%
PC2
23%
PC3
8%
PC4
4%
PC5
2%
PC6
1%
PC1+PC2 누적85%

앞 2축만 남겨도 85% 보존하니, 나머지 4축은 잘라도 된다

P.05통계 · 21

정리하면 회전하고 자른다

PCA는 두 동작으로 끝난다. 데이터에 맞게 축을 회전하고, 뒤 축을 자른다.

1) 분산 최대 방향으로 새 축(주성분)을 찾는다. 이게 회전이다.
2) 분산 큰 앞 축 몇 개만 남기고 나머지는 버린다. 이게 차원 축소다.
남은 축에 점을 사영하면 더 적은 변수로 같은 정보를 담는다.

한 가지 주의할 점이 있다. 분산을 기준 삼으니 변수 단위(스케일)에 민감하다.
단위가 다른 변수는 보통 표준화(평균0·분산1)한 뒤 PCA를 돌린다.

Q. PCA가 첫 번째 주성분으로 고르는 방향은?데이터의 분산이 가장 큰(가장 많이 퍼진) 방향이다.
그 방향이 정보를 가장 많이 담기 때문이고, 공분산행렬의 최대 고유값에 대응하는 축이다.
PCA 한눈에
PCA 두 동작
원본변수 50개 · 중복 많음
회전분산 최대 축(주성분) 찾기
자르기앞 2~3축만 남김
결과적은 차원 · 정보 대부분 보존

회전한 다음 자른다. 이게 차원 축소의 전부다

3줄 요약

  1. 1변수가 너무 많으니 핵심만 추려라
  2. 2주성분 분석 (PCA)은 분포 → 표본 → 검정 → 회귀 → 모델 선택 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

주성분

변수가 너무 많으니 핵심만 추려라

분포

데이터가 어떤 모양으로 퍼져 있는지 나타낸 것

표본

전체를 알기 위해 뽑아 본 일부 데이터