통계 실험실 차트
넘스탯 로고
넘스탯
LEARN · SIMULATE · VERIFY

확률부터 LLM까지, 원리부터 제대로 배우는 자기주도 학습 플랫폼

로그인
학습 메뉴
도움말

PCA 실습실 — 주성분 분석

"100차원을 2차원으로 squeeze, 변동성 큰 축만 살려" — 차원 축소의 표준

원하는 개념·랩·가이드를 검색해보세요

Ctrl K
기계학습 이론으로상세 이론 학습

수십 개 특징을 2개로 줄여도 그림이 보인다

특징이 수십 개인 데이터는 눈으로 볼 수도, 다루기도 어렵습니다. PCA는 정보를 최대한 보존하는 새 축을 찾아 차원을 줄입니다 — 덕분에 고차원 데이터를 2차원 그림으로 볼 수 있게 되죠. 단, 줄이는 만큼 잃는 것도 있습니다. 직접 확인해 보세요.
이 페이지에서 배우고 나면
  • 여러 특징을 분산이 가장 큰 방향으로 압축하는 과정을 직접 볼 수 있습니다.
  • 몇 개 축으로 원본 정보의 얼마를 보존하는지(설명 분산) 확인할 수 있습니다.
  • 차원을 줄이면 정보가 일부 손실된다는 점을 실험으로 이해할 수 있습니다.
주성분 = 분산이 최대가 되는 새 축

PCA의 핵심 아이디어는 단순합니다 — 데이터를 새로운 좌표계로 회전했을 때 각 축의 분산이 최대가 되는 방향을 찾는 것입니다. 빨간 화살표(PC1)는 가장 많이 흩어지는 방향, 주황 화살표(PC2)는 그에 수직이면서 두 번째로 많이 흩어지는 방향입니다.

PC1·PC2는 데이터의 분산이 최대가 되는 직교 축PC1·PC2는 데이터의 분산이 최대가 되는 직교 축
PCA의 수학 — 공분산 행렬의 고유분해

PCA는 데이터의 공분산 행렬 Σ고유분해합니다. 고유벡터가 주성분 방향이고, 고유값 λ가 해당 축의 분산입니다. 큰 순으로 정렬된 고유값들의 누적 합이 설명 분산이 됩니다.

공분산 행렬 → 고유분해 → 분산이 큰 순으로 정렬공분산 행렬 → 고유분해 → 분산이 큰 순으로 정렬
예측 먼저 — 실험 전에 답을 정해 보세요
예측 → 실험 → 확인

정답을 몰라도 괜찮습니다 — 먼저 예측을 정해야 시뮬레이션 결과가 기억에 남습니다. 예측을 고른 뒤 아래 시뮬레이션으로 직접 확인하고, 그다음 결과를 열어 보세요.

1. PCA의 첫 번째 주성분(PC1)은 어떤 방향일까요?
2. 2차원 데이터를 PCA로 1차원에 투영하면 정보는 어떻게 될까요?
로그인하면 예측 기록이 계정에 저장됩니다

어느 기기에서든 이어서 학습하고, 오답 기반 복습 추천을 받을 수 있습니다.

카카오로 시작하기네이버로 시작하기구글로 시작하기
회원가입 절차 없음 — 닉네임만 저장하며, 이메일·연락처는 수집하지 않습니다.
PCA 인터랙티브 — 주성분 시각화

2D 데이터의 회전·잡음을 조정하며 주성분 PC1·PC2가 어떻게 결정되는지 실시간으로 관찰하세요. 공분산 행렬의 고유분해 결과가 빨간 화살표(PC1)·주황 화살표(PC2)로 표시됩니다.

데이터셋
회전 각도 = 35°
잡음 σ = 0.30
2D 데이터 + 주성분 축
PC1 (분산 91%)PC2 (분산 9%)평균 μ
분산 설명 비율 (Scree)
PC1 위로 1D 사영 (히스토그램)
λ₁ (PC1 분산) = 5.206
λ₂ (PC2 분산) = 0.539
평균 μ = (0.37, 0.24)
실측 요약 — 이 실습이 보여주는 것

시드 고정 2D 합성 데이터 200점의 회전 각도와 잡음을 슬라이더로 조절하면, 공분산 행렬의 고유분해로 PC1(빨강)·PC2(주황) 축과 1σ·2σ 타원, PC1 위로의 1D 사영 히스토그램, 분산 설명 비율이 실시간 재계산되는 실험입니다. 동심원 데이터로 선형 PCA의 한계까지 확인합니다.

  • 기본 설정('상관 있는 정규', 회전 35°, 잡음 0.3)의 실측 고유값: λ₁ = 5.21, λ₂ = 0.54 — PC1이 전체 분산의 90.6%를 설명하고, PC1의 방향(36.4°)은 데이터를 생성할 때 돌린 각도 35°를 그대로 따라간다. 좌표축이 아니라 데이터가 축을 정한다
  • 잡음 σ를 0.05 → 1.5로 키우면 PC1 설명 비율이 96.3% → 54.8%로 무너진다(λ₂가 0.20 → 4.41) — 데이터가 둥글수록 "정보가 많은 방향"이라는 것 자체가 사라져 차원 축소의 이득이 없어진다
  • '동심원' 데이터에서는 어느 방향으로 사영해도 안쪽 원과 바깥 원이 겹친다 — 반지름이라는 비선형 구조는 선형 사영이 볼 수 없기 때문으로, Kernel PCA나 t-SNE 같은 비선형 기법이 존재하는 이유다

바로잡는 오개념: "PC1은 클래스를 가장 잘 구분하는 방향"이라는 오해 — PCA는 라벨을 전혀 보지 않는 비지도 기법으로, 오직 분산이 최대인 방향을 찾을 뿐이다. 그리고 차원 축소는 공짜가 아니다 — 분산이 작은 방향의 정보를 버리는 타협이며, 설명 분산 비율이 그 영수증이다.

AI 튜터에게 물어보기
베타

— 정답 대신 힌트로 유도합니다. 지금 화면의 실험 상태를 알고 답해요.

예: “방금 결과가 이론과 다른데 왜죠?”, “이 값을 올렸는데 왜 반대로 변하죠?”

AI 답변은 부정확할 수 있습니다. 핵심 개념은 반드시 시뮬레이션 실측으로 확인하세요. 질문 0/5 · 하루 질문 한도가 있습니다
📉 Scree Plot — 몇 개의 PC를 쓸까?

실무에서 가장 큰 질문은 "차원을 몇 개로 줄일까?"입니다. Scree plot은 각 PC의 고유값을 크기 순으로 그린 차트로, 꺾이는 지점(Elbow) 또는 누적 분산 95% 임계를 기준으로 K를 정합니다.

Scree plot — Elbow와 95% 임계로 적정 차원 결정Scree plot — Elbow와 95% 임계로 적정 차원 결정
고차원 데이터 → 2D 시각화

사람은 3차원 이상을 직관적으로 볼 수 없습니다. PCA는 고차원 데이터의 처음 2~3개 주성분을 추출해 2D/3D 산점도로 시각화하는 표준 도구입니다. 임의의 두 차원보다 PC1·PC2가 클래스 분리를 훨씬 잘 보여줍니다.

4D 데이터의 원본 2축 vs PCA 후 2D — 클래스 분리가 뚜렷해진다4D 데이터의 원본 2축 vs PCA 후 2D — 클래스 분리가 뚜렷해진다
이미지 압축 — 256차원 → K차원 → 복원

16×16 = 256차원의 얼굴 이미지를 PCA로 K개 주성분으로 압축한 뒤 복원합니다. K가 작아도 분산을 많이 보존하는 주성분만 살아남으면 시각적으로 거의 비슷한 이미지를 복원할 수 있습니다 — JPEG/Eigenface의 핵심 원리.

PCA 이미지 압축: 256D → K=3, 8, 30, 100 PC로 복원PCA 이미지 압축: 256D → K=3, 8, 30, 100 PC로 복원
PCA 사용 가이드
PCA를 쓰면 좋은 경우
  • 특징 간 강한 상관관계 (다중공선성)
  • 고차원 데이터의 시각화 (2D/3D)
  • 노이즈 제거 (작은 PC 버림)
  • 압축 (이미지·음성)
  • 선형 모델의 전처리
PCA의 한계
  • 선형: 비선형 구조(동심원·나선) 처리 불가 → Kernel PCA, t-SNE, UMAP
  • 스케일에 민감 → 사용 전 표준화 필수 (StandardScaler)
  • 분산 ≠ 정보: 분산 큰 축이 항상 유용한 정보는 아님
  • 결과 PC의 의미 해석 어려움 (원본 특징의 선형 결합)
직접 해보기 — 실습 과제
  1. 회전 불변성: '상관 있는 정규' 선택, 각도 슬라이더를 0°~180°로 옮겨보세요. PC1은 항상 분산 최대 방향을 따라갑니다 — 좌표계 회전에 영향받지 않는 것이 PCA의 핵심 장점.
  2. 잡음 → PC2 비율 증가: 잡음을 0.05 → 1.5로 키우면 데이터가 둥글어져 PC2의 분산 비율이 커집니다. 분산 비율 차트로 확인.
  3. 2 클러스터의 사영: '2개 클러스터' 데이터셋. PC1이 두 클러스터를 잇는 방향이 되어 1D 사영 히스토그램이 bimodal로 나타남.
  4. PCA의 한계 체감: '동심원' 데이터셋. PC1·PC2가 의미를 잃고, 1D 사영에서 두 원이 섞입니다 — Kernel PCA나 t-SNE가 필요한 상황.
📖 더 깊이 학습하기
  • Bishop, Pattern Recognition and Machine Learning (Springer 2006) — Ch.12: PCA의 확률적 해석(PPCA)과 EM 알고리즘
  • Hastie, Tibshirani, Friedman, ESL (2009) — Ch.14.5: PCA·ICA·NMF 비교
  • Pearson (1901): PCA 원논문 — "On lines and planes of closest fit to systems of points in space"
  • Schölkopf et al. (1998): Kernel PCA — 비선형 차원 축소
  • van der Maaten & Hinton (2008): t-SNE — 시각화 특화 비선형 임베딩