码迷,mamicode.com
首页 > 编程语言 > 详细

线性判别分析(LDA)算法总结

时间:2015-09-29 01:25:06      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:fisher线性判别法   数据挖掘   lda   

       LDA也称Fisher线性判别法,它是一种非迭代的分类算法。算法的主要思想将特征空间中的样本投影到该空间的一条直线上以实现从高维到一维的数据压缩。显然这样的投影有很多方向,而LDA算法就是寻找一个最佳投影方向来使样本的类内距离最小而类间距离最大。

       投影方向:1、投影后不同类别的样本均值的差别应尽可能大,即类间距离尽可能大;2、投影后相同类别的样本方差应尽可能小,即类内距离应尽可能小。

       定义一个Fisher准则函数(关于准则函数是如何确定的可以参看相关课本),技术分享

       其中向量W是投影的方向向量,Sb和Sw是投影前两类别的类间和类内离散度矩阵。这样求投影方向的问题就转化为求该准则函数最大值的问题。我们可以采用Lagrange乘子法求解该函数的极值,令函数的分母为常数C作为求解的一个约束条件(因为对任意的实数a,均有J(aw)=J(w))。技术分享

        然后就是Lagrange对求导,最后得到最佳的投影方向为:

技术分享

        如果对Lagrange乘子法不是很了解参见:http://www.cnblogs.com/zhangchaoyang/articles/2726873.html

        算法步骤:

  1. 输入训练样本集;

  2. 计算两个类别的均值向量;

  3. 计算类内总的离散度矩阵;

  4. 计算类内总离散度矩阵的逆阵;

  5. 获得投影方向,公式如上。     

本文出自 “路遥” 博客,请务必保留此出处http://cwxfly.blog.51cto.com/6113982/1698935

线性判别分析(LDA)算法总结

标签:fisher线性判别法   数据挖掘   lda   

原文地址:http://cwxfly.blog.51cto.com/6113982/1698935

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!