Week 8 — Coding Projects
Core
Implement PCA from covariance to projection.
- NumPy: Mean-center data. Compute covariance. Eigendecompose. Project to top-k PCs. Study reconstruction error.
- Metal: Mean-centering and covariance accumulation on GPU; eigensolve on CPU initially. Feed GPU projection using top-k eigenvectors. · Reading: MBT — compute workflows over large buffers, feeding compute outputs into visualization.
- Vulkan: Same split: GPU covariance, CPU eigensolve first. · Reading: Vulkan Book — compute-to-graphics data flow, storage buffers for matrix data.
- CUDA: GPU covariance plus optional power iteration for top eigenvector. · Reading: CUDA Book — iterative kernels, reductions, matrix-vector multiplies.
- Stretch: Implement power iteration. Reconstruct from top-1 or top-2 PCs.
- Verify: Principal direction visually matches variance direction · Reconstruction error decreases as k increases.