参考:refenrence
简介
线性判别分析(Linear Discriminant Analysis)作为一种监督式的降维方法,同时也用作分类器,它主要思想是:使得对原空间进行投影运算后,类间的样本点数据分布间隔大,而类内样本点数据分布方差小。
原理
有了上述思想后,我们尝试着自己一步步把这个思想具体化。最近在看《数学之旅》,王教授提到学习数学需要重要培养的一个能力:抽象能力。
数学就是现实世界的高度抽象,它容易抓住问题本质,比如图论中点和边的概念,这个概念注重抓住不同物体之间的拓扑关系,而非具体研究这个点是什么有多大,边是什么材质等等。所以,使用数学这个工具,可以方便地直接研究与解决问题,因为其强大的抽象能力。
下面看看我们如何把 【使得对原空间进行投影运算后,类间的样本点数据分布间隔大,而类内样本点数据分布方差小】这个思想进行抽象。
我们的研究对象是:数据集 D={(x1,y1),(x2,y2),...,(xm,ym)} D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } , 其中 xi∈Rn x i ∈ R n , yi∈{0,1} y i ∈ { 0 , 1 } 。定义 Nj(j=0,1) N j ( j = 0 , 1 ) 为第 j j 类样本的个数,为第 j j 类样本的集合,而为第 j j 类样本的均值向量,定义为第 j j 类样本的协方差矩阵(严格说是缺少分母部分的协方差矩阵)。
其中, 表示如下:
首先,我们想让样本点投影后(
xi=w⋅xTi
x
i
=
w
⋅
x
i
T
)两个类之间的间隔大,一种可行的抽象方式,或者说数学表达方式是:最大化
||wTμ0−wTμ1||22
|
|
w
T
μ
0
−
w
T
μ
1
|
|
2
2
。同时,同类样本点方差尽可能小,即最小化
wTΣ0w+wTΣ1w
w
T
Σ
0
w
+
w
T
Σ
1
w
,最后结合两者就得到了需要优化的目标式:
上面的优化问题的求解,可以借助矩阵理论求出,这里直接给出结论:
其中
从上述一步步推导可以看出,最重要的还是使用数学工具对目标问题的抽象,我们需要学习多种常见的抽象方式,然后在实际问题中使用这些思想去解决新的问题。
算法流程(二分类问题)
输入:数据集 D={(x1,y1),(x2,y2),...,(xm,ym)} D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } ,其中任意样本 xi x i 为 n n 维向量,,降维到的维度 d d 。
输出:降维后的样本集。
- 计算类内散度矩阵 Sw S w
- 计算类间散度矩阵 Sb=(μ0−μ1)(μ0−μ1)T S b = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T
- 计算矩阵 S−1w⋅Sb S w − 1 ⋅ S b
- 计算 S−1w⋅Sb S w − 1 ⋅ S b 的最大的 d d 个特征值和对应的个特征向量 (w1,w2,...wd) ( w 1 , w 2 , . . . w d ) ,得到投影矩阵 W W
- 得到输出样本集
代码:
讨论
各降维方法的讨论:here