热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

机器学习笔记17LDA算法

1.LDA算法简介LDA(线性判别式分析LinearDiscriminantAnalysis)属于机器学习中的监督学习算法,常用来做特征

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可能过度拟合数据。

推荐阅读
author-avatar
刘丹小宝0
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有