1. LDA算法简介

LDA(线性判别式分析 Linear Discriminant Analysis)属于机器学习中的监督学习算法,常用来做特征提取、数据降维和任务分类。在人脸识别、人脸检测等领域发挥重要作用。LDA算法与PCA算法都是常用的降维技术。二者的区别在于:LDA是一种监督学习的降维技术,也就是说它的每个样本是有类别输出的,而之前所学习的PCA算法是不考虑样本类别输出的无监督降维技术。

LDA算法的目标是使降维后的数据类内方差最小,类间方差最大(即使数据在低维度上进行投影,投影后希望每一种类别数据的投影点尽可能的接近,而不同类别的数据中心之间的距离尽可能的大。)

上图中左图为PCA算法的投影方式,它所做的知识将整组数据整体映射到最方便表示这组数据的坐标轴上,映射时没有利用任何数据内部的分类信息。因此,虽然PCA可以使整组数据在表示上更加方便,但在分类上也许会变得更加困难。PCA没有分类标签,降维之后需要采用K-means等无监督的算法进行分类。

右图为LDA算法的投影方式,可以看出在增加了分类信息之后,两组输入映射到了另一个坐标轴上,这样两组数据之间就变得更易区分了,可以减少很大的运算量。

LDA的优化目标为最大类间方差和最小类内方差。LDA方法需分别计算“within-class”的分散程度Sw和“between-class”的分散程度Sb,而且希望Sb/Sw 越大越好,从而找到合适的映射向量w。其降维流程如下:

2. LDA降维流程

3. LDA算法与PCA的比较:

两者相同点:

  • 两者均可以对数据进行降维
  • 两者在降维时均使用了矩阵特征分解的思想。
  • 两者都假设数据符合高斯分布

不同点:

  • LDA是有监督的降维方法,而PCA是无监督的降维方法
  • LDA降维最多降到类别数K-1的维数,而PCA没有这个限制
  • LDA除了可以用于降维,还可以用于分类
  • LDA选择分类性能最好的投影方向,而PCA选择样本点投影具有最大方差的方向。
  • 有些时候LDA比PCA降维更优,有些时候PCA比LDA降维更优。

4. LDA算法优缺点:

优点:

  • LDA在样本分类时信息依赖均值而不是方差的时候,比PCA分类的算法更优
  • 在降维过程中可以使用类别的先验知识经验,而像PCA这样的无监督学习则无法使用类别先验知识。

缺点:

  • LDA与PCA都不适合对非高斯分布的样本进行降维
  • LDA降维最多降到类别数K-1的维数
  • LDA在样本分类信息依赖方差而不是均值的时候降维效果不好。
  • LDA可能过度拟合数据。

机器学习笔记17-LDA算法相关推荐

  1. 机器学习笔记——支持向量机SMO算法完整版代码分析

    机器学习笔记--支持向量机SMO算法完整版代码分析 代码大体分析 外循环 参数类 内循环 KKT条件判断 eCache参数 完整SMO代码 添加核函数代码 代码参考书籍:<机器学习实战> ...

  2. 机器学习笔记之EM算法(二)EM算法公式推导过程

    机器学习笔记之EM算法--EM算法公式推导过程 引言 回顾:EM算法公式 推导过程 引言 上一节介绍了隐变量和EM算法,以及 以EM算法公式为条件,证明了随着EM算法迭代步骤的增加,每次迭代得到新的模 ...

  3. 机器学习笔记之EM算法(一)隐变量与EM算法公式的收敛性

    机器学习笔记之EM算法--隐变量与EM算法公式的收敛性 引言 隐变量 示例1 示例2 EM算法 包含隐变量的混合概率模型 EM算法的表达形式 EM算法的收敛性 EM算法的收敛性证明的条件与目标 EM算 ...

  4. [机器学习笔记] 常用关联规则算法

    机器学习中常用关联规则算法 关联规则算法是一种基于规则的机器学习算法,该算法可以在大数据中发现彼此之间的关系. 它的目的是:利用一些度量指标来分辨数据库中存在的强规则.也即是说关联规则挖掘是用于知识发 ...

  5. python 数学期望_python机器学习笔记:EM算法

    完整代码及其数据,请移步小编的GitHub 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/MachineLearningNote EM算法也称期望最大化 ...

  6. Python机器学习笔记——随机森林算法

    随机森林算法的理论知识 随机森林是一种有监督学习算法,是以决策树为基学习器的集成学习算法.随机森林非常简单,易于实现,计算开销也很小,但是它在分类和回归上表现出非常惊人的性能,因此,随机森林被誉为&q ...

  7. 机器学习笔记(5) KNN算法

    这篇其实应该作为机器学习的第一篇笔记的,但是在刚开始学习的时候,我还没有用博客记录笔记的打算.所以也就想到哪写到哪了. 你在网上搜索机器学习系列文章的话,大部分都是以KNN(k nearest nei ...

  8. 七月算法机器学习笔记8 聚类算法

    七月算法(http://www.julyedu.com) 12月份 机器学习在线班 学习笔记

  9. Python机器学习笔记:XgBoost算法(亲测)

    前言 1,Xgboost简介 Xgboost是Boosting算法的其中一种,Boosting算法的思想是将许多弱分类器集成在一起,形成一个强分类器.因为Xgboost是一种提升树模型,所以它是将许多 ...

  10. 机器学习笔记(常见算法)

    C4.5 属于决策树算法,既可以解决分类问题,也可以解决回归问题,属于有监督算法. 现在基本不用这个算法了. K-Means 属于聚类算法,属于无监督算法 SVM(*) 支持向量机. 曾经一度认为是分 ...

最新文章

  1. 计算机基础-计算机硬件
  2. 【机器学习】通俗的k-近邻算法算法解析和应用
  3. LeetCode Arithmetic Slices(动态规划)
  4. 【转摘留用】页面静态化..
  5. 中石油训练赛 - 奎奎发红包(贪心)
  6. c语言表达式判断,在C语言的if语句中,用做判断的表达式为()。
  7. 牛客网【每日一题】 合集
  8. 小米手机硬改技术_小米11手机爆料:首发骁龙875 或采用屏下摄像头技术
  9. Python爬虫实践: 获取百度贴吧内容
  10. [笔记]前端 - 下拉菜单的实现
  11. [网络流24题-6]孤岛营救问题
  12. 为什么Locust单进程运行模式下只能用到一个处理器的能力?
  13. 教你在电脑中学会视频格式批量转换
  14. Eclipse+Java+Swing实现企业人事管理系统
  15. 【数据科学】迄今最全面的数据科学应用总结:16个分析学科及落地应用
  16. 1012循环神经网络 RNN 的实现
  17. 资产管理业务和财富管理
  18. suse11sp3上面配置zypper源
  19. 2020Kali开机配置(中文输入法等)
  20. soso地图api接口地理解析geocoder检索示例----并在信息框显示经纬度

热门文章

  1. WDS+MDT全自动部署系统、自动加域、自动计算机取名(SN序列号或MAC地址)
  2. latex tabular自动换行
  3. freemarker 数组转字符串_freemarker list转json
  4. 微星刀锋 无法进入bios_微星MPG X570 GAMING EDGE WIFI刀锋板主板BIOS设置u盘启动教程...
  5. ffmpeg百度云下载地址(最新版)
  6. 机器学习必看的28个视频
  7. 非线性系统的理论和方法,神经网络的非线性
  8. matlab 简单函数拟合(全)
  9. Win10安装Python3.9
  10. html修改每页显示数量,JS实现动态设置每页显示固定行数