机器学习

线性判别分析 | LDA 分类建模 | Lattice 数据分析

当你需要对多个已知类别进行划分,且假设不同类别的数据在分布形状上相似时,可以使用线性判别分析。它通过计算各组的中心点与特征的散布情况,寻找一条能够最清晰区分各个类别的界线,从而帮助你预测新数据所属的分类,并直观理解哪些特征在区分过程中起到了关键作用。

核心原理与逻辑

线性判别分析的核心在于“投影”。它会将原始的多维特征空间压缩到较低维度的子空间中,并在此过程中最大化类间距离,同时最小化类内距离。这使得不同组别在投影后的重叠度降至最低,从而实现高效的分类。

不同于无监督的聚类方法,该方法是完全的有监督学习。这意味着模型在学习过程中会利用已知的类别标签,通过计算各类别的均值向量和共同的协方差矩阵,精准找到特征空间的最佳分割面。

分类效果评估

在 Lattice 平台中,线性判别分析不仅输出准确率,还会提供详细的混淆矩阵。混淆矩阵能帮助你清晰看到模型在哪些类别之间出现了混淆,例如模型是否容易将 A 类误判为 B 类,从而深入评估模型的分类性能。

此外,模型还会计算各类别的先验概率及各特征的解释方差比,让你量化每一维特征在整体分类决策中的贡献程度。

特征投影与可视化

该方法最直观的产出之一是低维空间的散点图。通过将高维特征投射到由线性判别轴(LD1/LD2)构成的子空间中,你可以直接从视觉上观测不同类别数据点的分离程度。这种可视化方式能直观辅助你判断特征选择是否合理。

如果散点图呈现出明显的分类簇,说明模型捕捉到了有效的区分信号;若类别重叠严重,则可能需要重新审视特征工程或考虑引入更多区分性强的特征。

与相关算法的边界

线性判别分析与逻辑回归主要区别在于分布假设:前者假设数据服从正态分布,而逻辑回归则不需要。与二次判别分析(QDA)相比,它简化了对类内协方差的假设,通过假设各类别方差相同,避免了参数爆炸,在大样本量下表现更为稳定。

对于有监督的分类任务,该方法在保持模型解释性的同时,提供了比复杂黑盒模型更透明的决策边界,是追求模型逻辑清晰性时的推荐选择。

1 · Intent → method

An LLM picks stats_lda from a fixed catalog.

2 · Method → numbers

Deterministic Python engine runs the math. Same input → same output.

3 · Numbers → plain language

A second LLM translates the result into your domain’s vocabulary.

  • 为什么线性判别分析要求各类别协方差相同?

    这是线性判别分析的核心假设。它假设所有类别的数据在空间中呈现类似的分布形状,这样模型才能通过统一的线性方程(即线性决策边界)来划分不同区域,从而保证算法的计算效率与稳健性。

  • 如果我的数据不满足正态分布,还能用这个方法吗?

    线性判别分析虽然假设特征在类别内部服从多元正态分布,但在实际应用中,如果数据偏差不大,它通常仍能提供不错的分类参考。但若数据偏态极其严重,建议结合 Lattice 提供的 EDA 工具先进行正态化转换或考虑使用其他非参数化的分类算法。

Tool 输入字段

Schema for stats_lda not exported yet (run pnpm export:registry).