线性判别分析(LDA)算法
来源:互联网 发布:数据化管理pdf下载 编辑:程序博客网 时间:2024/05/16 06:30
介绍
看了周志华教授的西瓜书中LDA一节,自己对其中一些公式做了简单的推导,总结到这篇博文里。
线性判别分析(Linear Discriminant Analysis)是一种经典的线性学习方法,在二分类问题上因为最早由Fisher提出,也称为“Fisher”判别分析。
LDA的思想非常简单:给定训练样本例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近,异类样例的投影点尽可能远离;在对新样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新样本的类别。下图给出了一个二维示意图。
二分类LDA
给定数据集
解释一下投影为什么是
wTμ0 和wTμ1 。这里说的投影是投影点到原点的距离,如上图所示:也就是oh′ 。不妨将w 当成和直线同方向的单位向量。很容易看出来w 和h−h′ 是正交的,所以有wT(h−h′)=0 ,展开括号并移项得到wTh=wTh′ ,w 是与向量oh′ 同向的单位向量,所以wTh′ 为点h′ 到原点的距离。
若将所有样本点都投影到直线上,则两类样本的协方差分别为
欲使同类样例的投影点尽可能接近,可以让同类样例投影点的协方差尽可能小,即
定义“类内散度矩阵”(within-class scatter matrix)
以及“类间散度矩阵”(between-class scatter matrix)
则最大化目标可重写为
如何确定
利用拉格朗日乘子法将上述有约束最优化问题转变成无约束最优化问题,其拉格朗日函数为
令上述拉格朗日函数对
上式的偏导数计算过程,可以参考这篇博客
其中
注意到
注意到,若
所以有
考虑到数值解的稳定性,在实践中通常是对S_{w}
多分类LDA
可以将LDA推广到多分类任务中。假定存在
其中
其中
由以上各式得到
显然,多分类LDA可以有多种实现方法:使用
其中
原问题的拉格朗日问题为
令
若将
- 线性判别分析算法(LDA)
- 线性判别分析(LDA)算法
- LDA(线性判别分析)算法
- 线性判别分析LDA算法
- 线性判别分析(LDA)算法总结
- LDA(线性判别分析)算法入门
- 线性判别分析(LDA)
- 线性判别分析 (LDA)
- 线性判别分析(LDA)
- 线性判别分析(LDA)<->
- 线性判别分析(LDA)
- 线性判别分析(LDA)
- 线性判别分析(LDA)
- LDA 线性判别分析(一)
- LDA 线性判别分析(二)
- LDA 线性判别分析(转)
- 降维-线性判别分析(LDA)
- 线性判别分析(Linear Discriminant Analysis, LDA)算法分析
- scala2.11知识总结 1
- Zookeeper以Windows服务安装运行
- 面试之链表
- comm对比两个文件是否相同
- 递归在方法中的应用
- 线性判别分析(LDA)算法
- 18种排序
- JVM基础之类加载
- java.lang.NoSuchMethodError: javax.servlet.ServletContext.getContextPath()Ljava/lang/String;
- 学会放弃是一种成熟的美
- 娶媳妇要花多少钱呢?
- 如何分析/阅读一个陌生/开源代码
- jsp常用编译指令
- Lintcode删除排序数组的重复数字