
v1 PCA-1D 은 최대 분산 축 1 개만. 실제로는 개 성분을 뽑아 시각화 (k=2) 나 특성 감소 (k ≪ D) 를 하고, 얼마나 많은 정보를 보존했는지 정량화가 필요.
(N, k))와 는 같은 축 → 채점은 부호 무관. 하지만 같은 성분 내에서 z 와 v 의 부호가 일관되어야 ().
함수 pca_k(X, k) 를 완성하세요.
(components, projections, explained_variance_ratio)
components: shape (k, D) — 각 행이 단위 고유벡터, 고유값 내림차순.projections: shape (N, k) — 데이터를 top-k 축으로 투영.explained_variance_ratio: shape (k,) — 각 성분의 분산 비율.np.linalg.eigh 은 오름차순 → 뒤에서부터 k 개.| # | 이름 | 검증 |
|---|---|---|
| 1 | 반환 3-tuple | |
| 2 | shapes: (k, D), (N, k), (k,) | |
| 3 | components 단위 벡터 + 서로 직교 | |
| 4 | 투영의 분산 = 고유값 (내림차순) | |
| 5 | explained_ratio 합 ≤ 1 + 첫 항이 최대 | |
| 6 | k=D 시 ratio 합 = 1 | 모든 분산 보존 |
| 7 | 투영 분산 합 = 원본 분산 합 (k=D) | Frobenius 보존 |
코드를 작성하고 Run 을 눌러보세요.