机器学习之LDA算法

news/2025/1/7 22:50:57/

目录

LDA算法

LDA目标

LDA原理推导

LDA除法模型

LDA减法模型

LDA除法正则模型

LDA减法正则模型

证明:St=Sw+Sb

LDA算法流程

LDA优点

LDA缺点

基于LDA的人脸识别


LDA算法

线性判别分析(linear discriminant analysis,LDA),是一种经典的线性学习方法,其原理是:给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近,异类样例的投影点尽可能远离;在对新样本进行分类时,将其投影到同样的直线上,再根据投影点的位置来确定新样本的类别。

LDA作为一种经典的机器学习算法,具有较好的降维效果和分类能力,同时对噪声具有一定的抗干扰能力。然而,LDA也有其局限性,适用于满足其假设条件的线性可分问题。在实际应用中,需要根据具体情况选择合适的算法和方法。

LDA目标

LDA的目标:最小化类内协方差,即让同类投影点尽可能的接近;最大化类间协方差,即让异类投影点尽可能远离。

LDA原理推导

二分类优化

多分类优化

 

LDA除法模型

LDA减法模型

LDA除法正则模型

LDA减法正则模型

证明:St=Sw+Sb

证明:

考虑多分类情况,二分类为多分类的一个特例。

即St=Sw+Sb。

LDA算法流程

下面将逐步介绍LDA步骤:

  1. 数据准备: 假设我们有N个样本,每个样本有d个特征。同时,这些样本被标记为K个不同的类别。我们将所有样本构成一个矩阵X,其中每一行表示一个样本,第j列表示该样本的第j个特征。对应的类别标签构成向量y。

  2. 计算类别均值向量: 针对每个类别k,计算其均值向量μ_k。μ_k的第j个元素表示在第j个特征上属于类别k的样本的平均值。

  3. 计算类内散度矩阵: 类内散度矩阵S_w可以通过计算每个类别内各样本的散布程度来得到。具体地,对于第k个类别,计算其散度矩阵S_k。S_k可以通过将所有属于该类别的样本进行中心化,然后计算协方差矩阵得到。最后,将所有类别的散度矩阵相加,即可得到总的类内散度矩阵S_w。

  4. 计算类间散度矩阵: 类间散度矩阵S_b用于衡量不同类别之间的距离。公式为S_b = Σ(N_k * (μ_k - μ) * (μ_k - μ)^T),其中N_k表示属于第k个类别的样本数量,μ为所有样本的均值向量。

  5. 计算特征向量: 通过求解广义特征值问题,可以得到投影矩阵W。该矩阵的每一列对应一个特征向量,这些特征向量对应于数据在低维空间中的线性判别。具体地,我们可以选择前k个最大的特征值所对应的特征向量作为投影矩阵W。

  6. 降维: 将数据矩阵X乘以投影矩阵W,即可将高维数据映射到低维空间。降维后的数据矩阵Y = X * W。

通过以上步骤,我们就可以得到LDA算法的最终结果,即将高维数据映射到低维空间,并保留了最大程度的类别信息。

LDA优点

优点:

  1. 降维效果好:LDA通过学习类别之间的差异来选择合适的投影方向,使得同一类别样本之间的距离尽可能小,不同类别样本之间的距离尽可能大。这种特性使得LDA在降低数据维度的同时,尽可能保留了样本的类别信息。

  2. 解决分类问题:除了作为降维技术,LDA也可以应用于分类任务。通过选取适当的阈值,将降维后的样本进行分类。LDA在多类别分类问题上表现良好。

  3. 抗噪性强:LDA在处理受到一定噪声干扰的数据时,对异常值的影响相对较小。它通过学习类别之间的差异来确定投影方向,能够部分抵抗数据中的噪声。

  4. 简化模型:LDA可以将高维数据映射到低维空间,从而减少特征数量。这样做可以降低模型的复杂度,并且可以避免因维度灾难而导致的过拟合问题。

LDA缺点

缺点:

  1. 假设限制:LDA对数据的假设较为严格,例如假设数据符合正态分布、各个类别样本的协方差矩阵相等等。如果数据不满足这些假设,LDA的性能可能会下降。

  2. 过度拟合问题:当特征数量明显大于样本数量时,LDA的性能可能会受到影响。此时,计算类内散度矩阵的逆可能不稳定,从而导致过度拟合。

  3. 无法处理非线性问题:LDA是一种线性方法,只能学习线性投影来最大程度地保持类别信息。对于非线性问题,LDA的表现可能有限。

  4. 类别不平衡问题:当样本中某些类别的样本数量远远大于其他类别时,LDA可能会受到影响,因为它倾向于将投影方向选在样本数量较多的类别上。

基于LDA的人脸识别

机器学习之基于LDA的人脸识别_一片叶子在深大的博客-CSDN博客


http://www.ppmy.cn/news/567810.html

相关文章

全网最简单的方法QQ透明头像设置方法(小白教程)几分钟搞定

前两天在群里看见一个同学用的透明头像,然后我专门找了教程,我看了看,什么软件啥的都太复杂了 我这个就两步,以下操作全部在电脑上进行 1.下一个QQ轻聊版,然后登录换头像 2.然后,把下面这张图片换上去就行&…

qq设置透明头像

右击下载图片 (就在下方 因为透明看不到) 现在的设置方法需要用到 QQ轻聊PC版 请自行下载安装 登陆后点击头像 ->资料界面再次点击头像 在本地照片找到之前下载的图片 打开即可

摸鱼--页面透明化设置和QQ页面透明化设置

普通页面透明化设置 安装Vitrite工具 地址:Vitrite - Free download and software reviews - CNET Download 直接运行后,在隐藏图标里找到Vitrite,选中图标,然后右键点击,选择About,点击OK 快捷键&#…

看厌了官方皮肤,快试试微信QQ半透明主题!不仅会动还有声音!

看厌了千篇一律的官方默认皮肤,今天就教大家设置微信QQ半透明主题,让你的界面与众不同! 适用系统:安卓系统 演示手机:魅族MX6 第一种方法 一、首先下载安装【Biu视频桌面】(我们昨天分享过的&#xff09…

有自定义皮肤的计算机,QQ音乐怎么自定义皮肤丨QQ音乐自定义皮肤图解

在使用QQ音乐的时候,突然觉得自己的播放器主页面不是那么精彩怎么办,这时候你可以通过皮肤的更换来解决,那么QQ音乐怎么自定义皮肤,为此电脑系统城为你带来一个详细的QQ音乐自定义皮肤方法介绍,让你可以轻松改成自己喜…

QQ透明皮肤:多层算法 一键适配各种背景

那些流连过的风景,那个长存于心的人,那些一心向往的美好,或是那句曾让人恍然的话语。动人的画面,我们不止想要印在脑海,更希望它们跃然屏幕。当QQ变为生活的一部分,特别的皮肤也可以是记忆的指针&#xff0…

QQ主面板去白膜教程

本教程可以修改QQ软件的界面显示效果,如登陆窗口修改,主面板去白膜等。 需要用到的一个软件,请去http://ishare.iask.sina.com.cn/f/6609201.html下载 经测试对QQ2011sp3适用 以下内容为转载 ----------------------------------------------…

html制作qq对话消息框,qq对话框设置 QQ聊天对话框的背景皮肤怎么设置?

怎样给QQ的对话框设置颜色? 请问各道高手,如何把QQ对话框白色部分变成透明,CSS布局HTML小编今天和大家分享教程。。高分悬赏 首先,当然是要登陆QQ,然后选择最上方的衣服图标,进入皮肤设置。 然后可以选择其…