Simplex Deep Linear Discriminant Analysis

Maxat Tezekbayev, Arman Bolatov, Zhenisbek Assylbekov
1/4/2026
stat.MLcs.LG

No official code found. Best implementation: zh3nis/simplex-lda (0 stars, last commit 2026-02-04).

Abstract

We revisit Deep Linear Discriminant Analysis (Deep LDA) from a likelihood-based perspective. While classical LDA is a simple Gaussian model with linear decision boundaries, attaching an LDA head to a neural encoder raises the question of how to train the resulting deep classifier by maximum likelihood estimation (MLE). We first show that end-to-end MLE training of an unconstrained Deep LDA model ignores discrimination: when both the LDA parameters and the encoder parameters are learned jointly, the likelihood admits a degenerate solution in which some of the class clusters may heavily overlap or even collapse, and classification performance deteriorates. Batchwise moment re-estimation of the LDA parameters does not remove this failure mode. We then propose a constrained Deep LDA formulation that fixes the class means to the vertices of a regular simplex in the latent space and restricts the shared covariance to be spherical, leaving only the priors and a single variance parameter to be learned along with the encoder. Under these geometric constraints, MLE becomes stable and yields well-separated class clusters in the latent space. On images (Fashion-MNIST, CIFAR-10, CIFAR-100), the resulting Deep LDA models achieve accuracy competitive with softmax baselines while offering a simple, interpretable latent geometry that is clearly visible in two-dimensional projections.

View on arXivView PDF

Code Implementations(1)

zh3nis/simplex-ldaCommunity60%

Simplex Deep Linear Discriminant Analysis

00Python, Jupyter NotebookJan 4, 20268 months ago

Similar Papers

Cite this paper

@article{tezekbayev2026simplex,
  title  = {Simplex Deep Linear Discriminant Analysis},
  author = {Maxat Tezekbayev and Arman Bolatov and Zhenisbek Assylbekov},
  year   = {2026},
  eprint = {2601.01679},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2601.01679v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2601.01679.svg)](https://codeofpaper.com/paper/2601.01679)

Discussion