matlab如何画lda投影结果_线性判别分析(LDA)原理总结

本文详细介绍了线性判别分析(LDA)的原理,对比了PCA与LDA的降维方法,并给出了二类及多类LDA的算法推导。LDA适用于类别均值有明显差异的场景,通过最大化类间距离和最小化类内距离进行降维。同时,文章还探讨了LDA的正态性和分类应用。
摘要由CSDN通过智能技术生成

前言


线性判别分析(Linear Discriminant Analysis,以下简称LDA)是有监督的降维方法,在模式识别和机器学习领域中常用来降维。PCA是基于最大投影方差或最小投影距离的降维方法,LDA是基于最佳分类方案的降维方法,本文对其原理进行了详细总结。

目录


1. PCA与LDA降维原理对比
2. 二类LDA算法推导

3. 多类LDA算法推导

4. LDA算法流程

5. 正态性假设

6. LDA分类算法

7. LDA小结

1. PCA与LDA降维原理对比

1.1    PCA降维原理

PCA是非监督式的降维方法,在降维过程中没有考虑类别的影响,PCA是基于最大投影方差或最小投影距离的降维方法,通俗点说,PCA降维后的样本集最大程度的保留了初始样本信息,常用投影距离来描述投影前后样本的差异信息。

用数学公式来阐述这一思想:

  a2a70d57bb25ca0e479974f66aa04bce.png

其中原始样本集(n个m维数据):

16e3fb28b06422e47fbe9a9e210b3800.png

降维后的样本集(n个k维数据):

3717d3564c7d23b4270b0b60150ef911.png

假设投影变换后的新坐标系(标准正交基):

32036c194ebd6a162ecb602e63600505.png

投影前后的样本关系:

b3e64dd92949f8821c42008278e40029.png

最小化(1)式,并根据条件(2),可求得最佳的投影坐标系W。给定新的输入样本,利用(2)式可求的对应的降维样本。

1.2    LDA降维原理

LDA是有监督的降维方法,在降维过程中考虑了类别的影响,LDA是基于最佳分类效果的降维方法。因此,降维后不同类的样本集具有最大的分类间隔 。

如何描述最大分类间隔,当不同类样本的投影点尽可能远离且相同类样本的投影点尽可能接近,则样本集具有最大分类间隔。我们用类中心间的距离和类的协方差分别表示不同类的距离和相同类的接近程度。

本节只考虑二分类的LDA降维,不同类样本间的投影距离:

e37f90c86041382eb2f00ac2acd1d433.png

不同类的投影协方差之和:

85de9ed18a67b61d91dcad1b6ef6cfd6.png

结合(3)(4)式,得到优化目标函数:

59a351851d8fab4f22cf1f978eabc0a6.png

最大化(5)式,得到投影向量w,其中6c90d4ef415d3ce8c5b52e26da2496d2.pngc19c8ab168b9bbf6dcc79c4d4ded8ad1.png分别是两个类样本的中心点,21a06deb29883c630cdc45512dd501b0.pnge9fc37fd8fe9e54d9903e08a25f4c79e.png分别是两个类的协方差。

1.3 PCA与LDA降维应用场景对比

若训练样本集两类的均值有明显的差异,LDA降维的效果较优,如下图:

0e556b5f4b77280c0007ee649f4147e2.png

由上图可知,LDA降维后的二分类样本集具有明显差异的样本分布。

若训练样本集两类的均值无明显的差异,但协方差差异很大,PCA降维的效果较优,如下图:

2c77eb8a9110afa891f9ffb50850e450.png

由上图可知,PCA降维后的二分类样本分布较LDA有明显的差异。

2. 二类LDA算法推导

假设二类数据集cb77343d535a6af0761dc8554e76b785.png,其中xi为m维列向量,我们定义两类为C1和C2,即c87dd31aa5015df1e06843e8d8c7870b.png,对应的样本集个数分别为6782dc2237bdedb3fa2d3b22d7716942.png641203eef7200267fb1a28b35b690a89.png

根据上一节的LDA的优化目标函数推导投影向量,即最大化目标函数:

e98e69f6d865d6331e0e64d47636d2cb.png

其中d00e722ca477efc5d7f2c873828a34cd.png2d3b98c9da3e72ba0ef1b070936111b7.png为二类的均值向量:

814da004f4a9f9e65ce5258398bac659.png

fda7b3617d52a74b5ae42c6d225be436.png

3fccd61573f303c20667231bcb7ee0f6.pnge9c9f23c2cf072402167725acfd89840.png为二类的协方差矩阵:

77a0f211fb27661e987a214914d2cac2.png

6308bb6699581b8a7b06c91774814acb.png

目标函数转化为:

8dc0779939034f064856d514aba2fba9.png

定义类内散度矩阵c804826141e07829f9dcc6f0327ad4f0.png和类间散度矩阵cbe7a03cd8102a9cffd6f1c21a1dd1f9.png

                                                             e4f32f48506af134b7470e6ab738e0d3.png

1140a9431cfc0b440b2201a13a65447d.png

则(6)式等价于:

f521bca68bab81d05e6092e7f36135a7.png

我们对(7)式的分母进行标准化,则(7)式等价于:

b1cc94edfe997e20047303b3b792d32a.png

引用拉格朗日乘子法,得:

219026193d435c830d86761d5d998a11.png

3ada12b5f71b7b5999d42f7d554c94c7.png

               8b79e2d049313329ed9ee96616c893a1.png          

因此,只要求出原始二类样本的均值和协方差就可以确定最佳的投影方向w了。

3. 多类LDA算法推导

假设k类数据集cb77343d535a6af0761dc8554e76b785.png,其中xi为m维列向量,我们定义k类为

71774039c110d82f2e1ddd404055eda4.png,对应的样本集个数分别为9283e651234b58a3c3f8c6c9a782d7d2.png。二类样本数据集通过投影向量w降到一维空间,多类样本数据集降到低维空间是一个超平面,假设投影到低维空间的维度为d,对应的基向量矩阵1ced5e6790d82f8321b91bb211637fdc.png

因此,多类LDA算法的优化目标函数为:

298662086932f74b4376398f0d1ec475.png

其中类内散度矩阵c804826141e07829f9dcc6f0327ad4f0.png和类间散度矩阵cbe7a03cd8102a9cffd6f1c21a1dd1f9.png

ce8726577626adb82f8371815c1f557e.png

6db7c54a24cb19b8535b2322de058f39.png

37770c525959c1f89640dbfd3d87e27b.png为第j类样本的均值向量,u为所有样本的均值向量:

8adc59a8108cb4ac21cfef4629b12cdf.png

因为(8)式分子分母都是矩阵,常见的一种实现是取矩阵的迹,优化目标函数转化为:

5821bcb0cae9118494f90a8255fc7c01.png

优化过程如下:

a9bc609720c6233783a1fa933e07cd8f.png

参考二类LDA算法,利用拉格朗日乘子法,得:

b9823aaf1c3b65f1edaa485ee2e11fb8.png

两边左乘9c38d79e3ff2414a96947286e01686a8.png

c431465372f8b70afefba8f637114368.png

由上式可得LDA的最优投影空间是矩阵70d1d632ebfaa7a6a2c5ceff33d676cc.png最大d个特征值对应的特征向量所组成的。

4. LDA算法流程

前两节推导了LDA算法,现在对LDA算法流程进行总结,理清一下思路。

假设k类数据集cb77343d535a6af0761dc8554e76b785.png,其中xi为m维列向量,我们定义k类为

71774039c110d82f2e1ddd404055eda4.png,降维后的维度是d。

1)计算每个类样本的均值向量ab5897c125246d778e9e9b1a19c9388e.png和所有数据集的均值向量93a040a93d8b15d9951e45f00bacbbb9.png

2)计算散度矩阵,包括类内散度矩阵c804826141e07829f9dcc6f0327ad4f0.png和类间散度矩阵cbe7a03cd8102a9cffd6f1c21a1dd1f9.png

3)计算70d1d632ebfaa7a6a2c5ceff33d676cc.png的特征向量8bd1b61399b61bc655008c18e68f8a46.png和对应的特征值2a75877b47b3a68a220641bedafba473.png

4)选择d个最大特征值对应的矩阵7dd782cdc6de0b084c54c24b5894061f.png,矩阵的每一列表示特征向量

5)对数据集D进行降维,得到对应的降维数据集b6ca3f8131067bbb57dcbc71e9e83795.png,其中7bce4ab0263e2ec5ee185f1db563c6d2.png

5. 正态性假设

LDA算法对数据集进行了如下假设:

1)数据集是服从正态分布的;

2)特征间是相互独立的;

3)每个类的协方差矩阵是相同的;

但是如果不满足了这三个假设,LDA算法也能用来分类和降维,因此LDA算法对数据集的分布有较好的鲁棒性。

6. LDA分类算法

前面我们重点分析了LDA算法在降维的应用,LDA算法也能用于分类 。LDA假设各类的样本数据集符合正态分布,LDA对各类的样本数据进行降维后,我们可以通过最大似然估计去计算各类别投影数据的均值和方差,如下式:

d88cda4b9798310fce7f45925e89e239.png

进而得到各个类样本的概率密度函数:

4b8a35105d2f45286abec692b5057a8b.png

其中51b6863914fe7a8fa9dcba74c5bcdbbf.png为降维后的样本。

因此对一个未标记的输入样本进行LDA分类的步骤:

1) LDA对该输入样本进行降维;

2)根据概率密度函数,计算该降维样本属于每一个类的概率;

3)最大的概率对应的类别即为预测类别。

7. LDA小结

PCA是基于最大投影方差的降维方法,LDA是基于最优分类的降维方法,当两类的均值有明显差异时,LDA降维方法较优;当两类的协方差有明显差异时,PCA降维方法较优。在实际应用中也常结合LDA和PCA一起使用,先用PCA降维去消除噪声,再用LDA降维。

参考

http://sebastianraschka.com/Articles/2014_python_lda.html#introduction

https://www.cnblogs.com/pinard/p/6244265.html

0833b7e07527a43afab511e70215d935.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值