Personal Project — Dimensionality Reduction & Face Detection
This project implements Principal Component Analysis (PCA) from scratch to perform dimensionality reduction on high-dimensional datasets. The implementation is applied to face detection, demonstrating how PCA can extract meaningful structure from complex image data and dramatically reduce computational cost while preserving discriminative features.
High-dimensional datasets — such as raw pixel representations of facial images — suffer from the curse of dimensionality: high memory costs, slow computation, and redundant features that hinder pattern recognition. Effective dimensionality reduction is essential to make such datasets tractable for downstream machine learning tasks.
The pipeline centers on computing the data covariance matrix and applying eigendecomposition to identify the axes of greatest variance. Images are projected onto the top-k eigenvectors, producing compact representations that retain the most discriminative information. This eigenface basis is then used to compare and identify faces in reduced-dimensional space.