Counting Covariance Parameters

K=3K = 3 classes, d=50d = 50 features, 40 training rows per class. LDA pools one covariance matrix across the classes; QDA fits a separate Σk\Sigma_k per class (scikit-learn describes LDA as the special case Σk=Σ\Sigma_k = \Sigma for all kk).

How many free covariance parameters does each estimate, and what goes wrong for QDA at this sample size?

A

LDA 1,275 and QDA 3,825, and QDA is fine here because the estimator regularizes the covariance automatically; the only cost is compute.

B

LDA 1,275 and QDA 3,825. Each class covariance comes from 40 rows, so its rank is at most 39 in 50 dimensions: singular, and QDA needs its inverse.

C

LDA 2,500 and QDA 7,500, since a d×dd \times d covariance matrix has one free entry per position in the grid, so d2d^2 of them.

D

LDA 50 and QDA 150: a covariance matrix is pinned down by the per-feature variances, so there are only dd numbers to estimate per matrix.