线性判别分析(一)——LDA介绍
2017-10-12 11:54
183 查看
线性判别分析(一)——LDA介绍
线性判别分析(二)——Bayes最优分类器的角度看LDA
注:LDA和FDA并不完全等价,LDA假设每个类别内的实例服从高斯分布并且不同类别对应的高斯分布的协方差矩阵相同。本篇博客介绍的其实是FDA,但我们不做细分,统一称作LDA。
LDA既可以用于解决分类问题,又可以对数据进行降维处理。
基本思想
将高维的样本数据投影到判别向量空间,以达到抽取分类信息和降低特征维数的效果,投影后保证数据在新的子空间中有最大的类间距离和最小的类内距离,即在该子空间有最佳的可分离性。
在二分类问题上,LDA通过线性变换z=ωTx(1)将样本数据投影到一维空间中,并希望在投影空间中不同类别的样本数据之间尽可能分离,同类别的样本数据尽可能接近。我们需要把这一目标形式化为数学表达,以便求解出期望的投影方向ω∗。
记x¯c表示集合Xc的均值,则x¯c=1Nc∑x∈Xcx.(2)
记z¯c表示集合Zc的均值,则z¯c=1Nc∑z∈Zcz.(3)
根据(1)(2)(3)可以推出
z¯c=1Nc∑z∈Zcz=1Nc∑x∈XcωTx=ωT⎛⎝1Nc∑x∈Xcx⎞⎠=ωTx¯c,(4)
公式(4)说明样本数据投影的均值等于样本数据均值的投影。
定义投影类间散度:
s^b=(z¯0−z¯1)2(5)
用于刻画类间距离。
定义投影类内散度:
s^w=s^20+s^21,其中s^2c=∑z∈Zc(z−z¯c)2(6)
用于刻画类内距离。
为了使投影后不同类别样本尽可能分离,我们希望最大化s^b;为了使投影后相同类别样本尽可能接近,我们希望最小化s^w。综合两点,把目标函数定义为
J(ω)=s^bs^w(7)
则LDA的目标现在是找到使J(ω)最大的投影方向ω∗。
定义类间散度矩阵Sb=(x¯0−x¯1)(x¯0−x¯1)T,(8)
则s^b=(ωTx¯0−ωTx¯1)(ωTx¯0−ωTx¯1)T=ωT(x¯0−x¯1)(x¯0−x¯1)Tω=ωTSbω.(9)
定义类内散度矩阵Sw=Sw0+Sw1,其中Swc=∑x∈Xc(x−x¯c)(x−x¯c)T,(10)
则s^w=∑x∈X0(ωTx−ωTx¯0)(ωTx−ωTx¯0)T+∑x∈X1(ωTx−ωTx¯1)(ωTx−ωTx¯1)T=ωT⎛⎝∑x∈X0(x−x¯0)(x−x¯0)T⎞⎠ω+ωT⎛⎝∑x∈X1(x−x¯1)(x−x¯1)T⎞⎠ω=ωT⎛⎝∑x∈X0(x−x¯0)(x−x¯0)T+∑x∈X1(x−x¯1)(x−x¯1)T⎞⎠ω=ωTSwω.(11)
于是目标函数可以重写为
J(ω)=ωTSbωωTSwω,(12)
其中矩阵Sb和Sw是可以根据训练数据求出的。
由于目标函数的分子和分母都是关于ω的二次型,可以证明如果ω是最优解,那么对任意非零常数α,αω也是最优解。这表示我们关心的是ω的方向而不是长度。可以为ω添加约束,使优化问题的最优解唯一。不失一般性,我们可以使用约束ωTSwω=1,因为这可以简化优化函数,使得求解变得简单。于是,得到约束优化问题
mins.t.J(ω)=−ωTSbωωTSwω=1.(13)
用拉格朗日方法求解上述带约束的优化问题,首先引入拉格朗日乘子λ,构建拉格朗日函数
L(ω,λ)=−ωTSbω+λ(ωTSwω−1)(14)
拉格朗日函数求导得到
⎧⎩⎨−Sbω+λSwω=0ωTSwω−1=0
于是Sbω=λSwω(15)
由公式(8)可知向量Sbω平行于(x¯0−x¯1),于是(15)可以写成
λSwω=β(x¯0−x¯1),(16)
其中β为非零常数。由于并不关心ω的长度,所以(16)左右两边的实数项可以去掉。如果Sw非奇异,那么ω=S−1w(x¯0−x¯1).(17)
线性判别分析(二)——Bayes最优分类器的角度看LDA
1. LDA的基本思想
LDA(Linear Discriminant Analysis, 线性判别分析)由Fisher于1936年提出,又称为Fisher线性判别(FDA)。注:LDA和FDA并不完全等价,LDA假设每个类别内的实例服从高斯分布并且不同类别对应的高斯分布的协方差矩阵相同。本篇博客介绍的其实是FDA,但我们不做细分,统一称作LDA。
LDA既可以用于解决分类问题,又可以对数据进行降维处理。
基本思想
将高维的样本数据投影到判别向量空间,以达到抽取分类信息和降低特征维数的效果,投影后保证数据在新的子空间中有最大的类间距离和最小的类内距离,即在该子空间有最佳的可分离性。
2. LDA用于二分类问题
本节我们会讨论二分类问题上LDA思想的应用。给定训练样本D={(xi,yi),i=1,⋯,m},其中xi∈Rd为第i个实例对应的特征向量,yi∈{0,1}为第i个实例对应的类别标记。我们用X表示所有实例集合,Xc表示c类别的实例集合,用Nc表示c类别对应的实例数。在二分类问题上,LDA通过线性变换z=ωTx(1)将样本数据投影到一维空间中,并希望在投影空间中不同类别的样本数据之间尽可能分离,同类别的样本数据尽可能接近。我们需要把这一目标形式化为数学表达,以便求解出期望的投影方向ω∗。
2.1 目标函数
假设投影空间中的实例集合为Z={z1,z2,⋯,zm},其中zi=ωTxi。类似于原始空间中的集合定义,我们用Zc表示投影空间中c类别实例集合。记x¯c表示集合Xc的均值,则x¯c=1Nc∑x∈Xcx.(2)
记z¯c表示集合Zc的均值,则z¯c=1Nc∑z∈Zcz.(3)
根据(1)(2)(3)可以推出
z¯c=1Nc∑z∈Zcz=1Nc∑x∈XcωTx=ωT⎛⎝1Nc∑x∈Xcx⎞⎠=ωTx¯c,(4)
公式(4)说明样本数据投影的均值等于样本数据均值的投影。
定义投影类间散度:
s^b=(z¯0−z¯1)2(5)
用于刻画类间距离。
定义投影类内散度:
s^w=s^20+s^21,其中s^2c=∑z∈Zc(z−z¯c)2(6)
用于刻画类内距离。
为了使投影后不同类别样本尽可能分离,我们希望最大化s^b;为了使投影后相同类别样本尽可能接近,我们希望最小化s^w。综合两点,把目标函数定义为
J(ω)=s^bs^w(7)
则LDA的目标现在是找到使J(ω)最大的投影方向ω∗。
2.2 求解
为了求解优化问题(7),我们首先需要把J(ω)写成关于ω的显示表达式。定义类间散度矩阵Sb=(x¯0−x¯1)(x¯0−x¯1)T,(8)
则s^b=(ωTx¯0−ωTx¯1)(ωTx¯0−ωTx¯1)T=ωT(x¯0−x¯1)(x¯0−x¯1)Tω=ωTSbω.(9)
定义类内散度矩阵Sw=Sw0+Sw1,其中Swc=∑x∈Xc(x−x¯c)(x−x¯c)T,(10)
则s^w=∑x∈X0(ωTx−ωTx¯0)(ωTx−ωTx¯0)T+∑x∈X1(ωTx−ωTx¯1)(ωTx−ωTx¯1)T=ωT⎛⎝∑x∈X0(x−x¯0)(x−x¯0)T⎞⎠ω+ωT⎛⎝∑x∈X1(x−x¯1)(x−x¯1)T⎞⎠ω=ωT⎛⎝∑x∈X0(x−x¯0)(x−x¯0)T+∑x∈X1(x−x¯1)(x−x¯1)T⎞⎠ω=ωTSwω.(11)
于是目标函数可以重写为
J(ω)=ωTSbωωTSwω,(12)
其中矩阵Sb和Sw是可以根据训练数据求出的。
由于目标函数的分子和分母都是关于ω的二次型,可以证明如果ω是最优解,那么对任意非零常数α,αω也是最优解。这表示我们关心的是ω的方向而不是长度。可以为ω添加约束,使优化问题的最优解唯一。不失一般性,我们可以使用约束ωTSwω=1,因为这可以简化优化函数,使得求解变得简单。于是,得到约束优化问题
mins.t.J(ω)=−ωTSbωωTSwω=1.(13)
用拉格朗日方法求解上述带约束的优化问题,首先引入拉格朗日乘子λ,构建拉格朗日函数
L(ω,λ)=−ωTSbω+λ(ωTSwω−1)(14)
拉格朗日函数求导得到
⎧⎩⎨−Sbω+λSwω=0ωTSwω−1=0
于是Sbω=λSwω(15)
由公式(8)可知向量Sbω平行于(x¯0−x¯1),于是(15)可以写成
λSwω=β(x¯0−x¯1),(16)
其中β为非零常数。由于并不关心ω的长度,所以(16)左右两边的实数项可以去掉。如果Sw非奇异,那么ω=S−1w(x¯0−x¯1).(17)
相关文章推荐
- 线性判别分析(LDA)算法
- LDA(线性判别分析或称Fisher线性判别),PCA(主成份分析)代码及表情识别中的应用
- LDA-线性判别分析(二)
- 线性判别分析(Linear Discriminant Analysis, LDA) 算法分析与代码
- Fisher线性判别分析(Linear Discriminant Analysis,LDA)
- 线性判别分析(Linear Discriminant Analysis, LDA)算法分析
- 线性判别分析(Linear Discriminant Analysis, LDA)算法分析
- 机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)
- 降维-线性判别分析(LDA)
- 线性判别分析LDA
- 机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)
- 线性判别分析(LDA), 主成分分析(PCA)
- 机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)
- 机器学习中的数学-线性判别分析(LDA), 主成分分析(PCA)
- 机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)
- 线性判别分析(LDA), 主成分分析(PCA)
- 机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)
- opencv中线性判别分析(LDA)的使用
- 线性判别分析LDA
- 线性判别分析(LDA)