在模式识别中,费雪线性判别(Fisher's linear discriminant)是一种线性判别方法,其意图是在分类类别为c类时,将d维空间(样品点是d维向量)中的数据点投影到c-1维空间上去,使得不同类的样本点在这个空间上的投影尽量分离,同类的尽量紧凑。
两类情况[编辑]
在二类判别时,费雪线性判别将d维空间中的数据点投影到一条直线上去,使得不同类的样本点在这条直线上的投影尽量分离,同类的样本点在这条直线上尽量紧凑。假设有两类样本集
的类别为ω1,样本数为n1,
的类别为ω2,样本数为n2。定义样本均值mi和类内散布Si。
![{\displaystyle \mathbf {m} _{i}={\frac {1}{n_{i}}}\sum _{x\in {\mathcal {D}}_{i}}\mathbf {x} ,i=1,2}](https://wikimedia.org/api/rest_v1/media/math/render/svg/7dbb81cf2f6f3f7e8d3ae728718736192974f6d6)
![{\displaystyle \mathbf {S} _{i}=\sum _{x\in {\mathcal {D}}_{i}}\left(\mathbf {x} -\mathbf {m} _{i}\right)\left(\mathbf {x} -\mathbf {m} _{i}\right)^{t},i=1,2}](https://wikimedia.org/api/rest_v1/media/math/render/svg/e99914fcb117af3b03caed52c773885be6e9fc66)
投影直线的方向向量为w,样本投影在直线上的值为y。则可得两类样本投影后的均值和类内散布为
和
,i=1,2。
![{\displaystyle y=\mathbf {w} ^{t}\mathbf {x} \quad {\tilde {m}}_{i}=\mathbf {w} ^{t}\mathbf {m} _{i},i=1,2}](https://wikimedia.org/api/rest_v1/media/math/render/svg/9a67d19979be8252250b1c02f544f0f5e63a7821)
![{\displaystyle {\begin{aligned}{\tilde {s}}_{i}^{2}&=\sum _{y\in {\mathcal {Y}}_{i}}\left(y-{\tilde {m}}_{i}\right)^{2}\\&=\sum _{x\in {\mathcal {D}}_{i}}\left(\mathbf {w} ^{t}\mathbf {x} -\mathbf {w} ^{t}\mathbf {m} _{i}\right)^{2}\\&=\sum _{x\in {\mathcal {D}}_{i}}\mathbf {w} ^{t}\left(\mathbf {x} -\mathbf {m} _{i}\right)\left(\mathbf {x} -\mathbf {m} _{i}\right)^{t}\mathbf {w} \\&=\mathbf {w} ^{t}\mathbf {S} _{i}\mathbf {w} \end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/21fb3fd8df9a13b101aadb6f7ae053bd6359f6fe)
要使不同类的样本点的投影尽量分离,同类尽量紧凑,可以使两类的投影的均值的差异尽量大,其方差的和尽量小,也就是要求
最大化。
![{\displaystyle {\begin{aligned}{\boldsymbol {J}}(\mathbf {w} )&={\frac {\left|{\tilde {m}}_{1}-{\tilde {m}}_{2}\right|^{2}}{{\tilde {s}}_{1}^{2}+{\tilde {s}}_{2}^{2}}}\\&={\frac {\left(\mathbf {w} ^{t}\mathbf {m} _{1}-\mathbf {w} ^{t}\mathbf {m} _{2}\right)^{2}}{\mathbf {w} ^{t}\mathbf {S} _{1}\mathbf {w} +\mathbf {w} ^{t}\mathbf {S} _{2}\mathbf {w} }}\\&={\frac {\mathbf {w} ^{t}\left(\mathbf {m} _{1}-\mathbf {m} _{2}\right)\left(\mathbf {m} _{1}-\mathbf {m} _{2}\right)^{t}\mathbf {w} }{\mathbf {w} ^{t}\left(\mathbf {S} _{1}+\mathbf {S} _{2}\right)\mathbf {w} }}\\&={\frac {\mathbf {w} ^{t}\mathbf {S_{B}} \mathbf {w} }{\mathbf {w} ^{t}\mathbf {S_{W}} \mathbf {w} }}\\\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a397e9bb2d1b2c142dc77277d52f8d41274e119f)
![{\displaystyle \mathbf {S_{B}} =\left(\mathbf {m} _{1}-\mathbf {m} _{2}\right)\left(\mathbf {m} _{1}-\mathbf {m} _{2}\right)^{t},\mathbf {S_{W}} =\left(\mathbf {S} _{1}+\mathbf {S} _{2}\right)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/27c486eb6b951e49f6cdbf84607a775780cdee91)
可以证明当w满足
,即w的方向与
相同时,J(w)取得最大值。剩下的问题就是如何求解阈值w0,也就是在这个一维空间中把两类分开的那个点的位置。当J(w)超过w0就判决为某一类别ω,否则就判决为另一类别。然而目前并没有一个通用的选取方法。
在两个类别的分布是多元正态分布,且协方差矩阵相同时,根据贝叶斯决策理论,
,并且w0是一个与w和先验概率有关的常数。我们可以用样本均值与样本协方差去估计ui和Σ。更一般地说,如果我们对投影后的数据进行平滑,或用一维高斯函数进行拟合,ω0就位于使两类的后验概率相同的位置上。
多类情况[编辑]
费雪线性判别在面对二类判别时,将两类样本向一条直线投影,也就是将数据从d维空间向1维空间投影。这样在面对c个类的判别时,所要做就是将数据从d维空间向c-1维空间投影。这就需要推广投影方程、类间散布矩阵SB和类内散布矩阵SW。从d维空间向c-1维空间的投影是通过c-1投影方程进行的:
这里的
为第i类的样本集。设
,c-1个方程可以更简练地表达:
这里的
为第i类的样本的投影向量集。类间散布矩阵SB和类内散布矩阵SW可以由总体散布矩阵ST和总体均值向量m推导得到:
由此定义类间散布矩阵SB和类内散布矩阵SW:
那么样本数据的投影向量的类间散布矩阵
和类内散布矩阵
:即为:
与两类情况类似,要找到某一W使得类内散布尽量小,类间散布尽量大。但这里的类内散布和类间散布不再是一个值,而是一个矩阵。矩阵的行列式是矩阵的特征值的乘积,也就是数据在各个主要方向的方差的积,相当于类别散布超椭球体的体积的平方。故使用行列式来度量散布,这样判别函数即为
可以证明,当W的列向量wi是
的广义特征向量时,可以使得J(w)最大。因为SB中c个秩为1或0的矩阵相加,而且其中只有c-1个矩阵是相互独立的。所以SB的秩最多为c-1。所以最多只有c-1个特征向量是非零的。
人脸识别[编辑]
在人脸识别中,每一个人脸图像具有大量的像素点。LDA主要用来将特征减少到一个可以处理的数目在进行分类。每一个新的维度都是原先像素值的线性组合,这就构成了一个模板。这样获得的线性组合被称为Fisher faces,而通过主成分分析获得的则称为特征脸。
参考文献[编辑]
- Duda, R. O.; Hart, P. E.; Stork, D. H. Pattern Classification 第2版. 机械工业出版社. 2004. ISBN 7-111-13687-X.