线性判别分析如何减少维度?

机器算法验证 机器学习 判别分析
2022-01-28 22:34:37

91页的“统计学习的要素”中有话:

p维输入空间中的K个质心最多跨越K-1维子空间,如果p远大于K,这将是一个相当大的维度下降。

我有两个问题:

  1. 为什么p维输入空间中的K个质心最多跨越K-1维子空间?
  2. K 质心如何定位?

书中没有解释,我也没有从相关论文中找到答案。

2个回答

判别式是最能区分类别的轴和潜在变量。可能的判别数是例如,对于 p=2 维空间中的 k=3 个类,最多可以存在 2 个判别式,如下图所示。(请注意,判别式不一定像在原始空间中绘制的轴一样正交,尽管它们作为变量是不相关的。)根据它们在判别式上的垂直坐标,类的质心位于判别式子空间内。min(k1,p)

在此处输入图像描述

提取阶段的 LDA 代数在这里

虽然“统计学习的要素”是一本精彩的书,但它需要相对较高的知识水平才能从中获得最大收益。网络上还有许多其他资源可以帮助您理解书中的主题。

让我们举一个非常简单的线性判别分析示例,您希望将一组二维数据点分为 K = 2 个组。尺寸下降仅为 K-1 = 2-1 = 1。正如@deinst 所解释的,尺寸下降可以用基本几何来解释。

任何维度的两个点都可以用一条线连接,一条线是一维的。这是一个 K-1 = 2-1 = 1 维子空间的例子。

现在,在这个简单的示例中,数据点集将分散在二维空间中。这些点将由 (x,y) 表示,例如,您可以拥有 (1,2)、(2,1)、(9,10)、(13,13) 等数据点。现在,使用线性判别分析创建两组 A 和 B 将导致数据点被分类为属于 A 组或 B 组,从而满足某些属性。与组内的方差相比,线性判别分析试图使组间的方差最大化。

换句话说,A 组和 B 组将相距很远,并且包含靠近的数据点。在这个简单的例子中,很明显这些点将按如下方式分组。A 组 = {(1,2), (2,1)} 和 B 组 = {(9,10), (13,13)}。

现在,质心被计算为数据点组的质心,所以

Centroid of group A = ((1+2)/2, (2+1)/2) = (1.5,1.5) 

Centroid of group B = ((9+13)/2, (10+13)/2) = (11,11.5)

质心只是 2 个点,它们跨越将它们连接在一起的一维线。

图1

您可以将线性判别分析视为数据点在一条线上的投影,从而使两组数据点尽可能“分开”

如果你有三组(比如说三维数据点),那么你会得到三个质心,简单来说就是三个点,并且 3D 空间中的三个点定义了一个二维平面。同样规则 K-1 = 3-1 = 2 维。

我建议您在网上搜索有助于解释和扩展我给出的简单介绍的资源;例如http://www.music.mcgill.ca/~ich/classes/mumt611_07/classifiers/lda_theory.pdf