LDA算法

原创 2016年06月02日 11:33:28

LDA算法,最后面为什么特征值最大就是所求的情形。 这个严格的证明还没想通。

找到了, 其实证明的问题就是推广的 Rayleigh_quotient

维基里有介绍:点击打开链接


第一个链接里的是看到的最通俗易懂的入门。

点击打开链接


http://blog.csdn.net/ffeng271/article/details/7353834


http://blog.csdn.net/v_july_v/article/details/41209515


http://www.cnblogs.com/zhangchaoyang/articles/2644095.html


Matlab里面的函数fitcdiscr里似乎有LDA的实现,但是具体的使用上实在学不会,所以自己写了。

Matlab   

LDA算法代码:   


function [V, D, changed_X] = LDA(X, label)   %X 行数代表样本数,列数代表维数
%UNTITLED 此处显示有关此函数的摘要
%   此处显示详细说明

    sample_size = size(label, 2);
    feature_size = size(X, 2);

    [sorted_label, order] = sort(label)
    label(order)
    [unique_label, ia, ic] = unique(sorted_label, 'first');
    
    sorted_X = X(order,:);   
    sorted_X = zscore(sorted_X);
    
     hmo1 = HeatMap(sorted_X')
     hmo2 = HeatMap(zscore(sorted_X,0,1)')
     hmo = HeatMap(zscore(sorted_X)')   
    
    unique_label_size = size(unique_label, 2);
    ia(unique_label_size+1) = sample_size + 1
    
    sum_class_in_matrix = zeros(feature_size, feature_size);
 %   sum_class_between_matrix.resize(feature_size, feature_size);
    ave_class_X = zeros(sample_size, feature_size);
    samples_class = zeros(unique_label_size, 1);
    
    
    
%     for i=1:unique_label_size
%          target_X = sorted_X(ia(i):ia(i+1)-1,:);
%          samples_class(i,1) = ia(i+1) - ia(i);
%   
%          
%          ave_class_X(ia(i):ia(i+1)-1,:) = repmat(mean(target_X),  samples_class(i,1), 1);
%          sum_class_in_matrix = sum_class_in_matrix + cov(target_X, 1) * samples_class(i,1) ;% /sample_size
%     end
%     
%      size(mean(sorted_X))
%     sum_class_in_matrix
%     sum_class_between_matrix = cov(ave_class_X, 1) * sample_size%
%     
%      size(mean(ave_class_X))
%     
%     
%     [V, D, W] = eig(sum_class_between_matrix, sum_class_in_matrix);%, 1, 'sm'
%     V
%     changed_X = X * V
    
    
    
    
    
    
         %     end 
    
    
%     i=1:unique_label_size;
% %     for i=1:unique_label_size
%          ave_class_X(:,i) = mean(sorted_X(ia(i), ia(i+1)-1), 2);
%          
%          new_X(ia(i), ia(i+1)-1) = bsxfun(@minus, sorted_X(ia(i), ia(i+1)-1), ave_class_X(:,i));
% %     end
    
%    i = 1:
    
    
end


版权声明:本文为博主原创文章,未经博主允许不得转载。

主题模型-LDA浅析

上个月参加了在北京举办SIGKDD国际会议,在个性化推荐、社交网络、广告预测等各个领域的workshop上都提到LDA模型,感觉这个模型的应用挺广泛的,会后抽时间了解了一下LDA,做一下总结: (一...
  • huagong_adu
  • huagong_adu
  • 2012年09月03日 14:09
  • 209624

LDA算法总结

主要是参考了文章 http://www.cnblogs.com/LeftNotEasy/archive/2011/01/08/lda-and-pca-machine-learning.html ...
  • xietingcandice
  • xietingcandice
  • 2015年04月13日 15:04
  • 2635

LDA入门浅谈

1.什么是主题模型在我的博客上,有篇文章《基于双数组Trie树的Aho Corasick自动机极速多模式匹配》被归入算法目录,算法即为该文章的主题。而该文章因为涉及到中文分词,又被我归入了分词目录。所...
  • bitcarmanlee
  • bitcarmanlee
  • 2016年08月03日 11:38
  • 3677

模式识别经典算法——LDA

线性判别式分析,又称为Fisher线性判别~(Linear discriminant analysis)(Fisher linear discriminant) 最大化类间均值,最小化类内方差 通...
  • yihaizhiyan
  • yihaizhiyan
  • 2012年05月18日 16:27
  • 44655

LDA学习总结

今天晚上看了lda算法的原理,深感自己知识的缺乏啊(Dirichlet分布、多项分布、图模型、Gibbs抽样)。这也让我深感惭愧,早就意识到自己数学知识的缺乏,但是一直没有补一下。    好吧,简单来...
  • a123456ei
  • a123456ei
  • 2014年04月02日 02:10
  • 12330

LDA算法教程(中文,内附实验代码)

  • 2010年04月11日 17:23
  • 269KB
  • 下载

LDA算法入门

摘自:http://blog.csdn.net/warmyellow/article/details/5454943 一. LDA算法概述: 线性判别式分析(Linear Discri...
  • kunlong0909
  • kunlong0909
  • 2013年01月04日 21:11
  • 16370

LDA算法原理及matlab实现

注:本文非笔者原创,原文转载自:http://blog.csdn.net/porly/article/details/8020696 1. LDA是什么 线性判别式分析(Linear Dis...
  • dulingtingzi
  • dulingtingzi
  • 2016年11月09日 19:37
  • 8616

LDA理解以及源码分析(一)

LDA系列的讲解分多个博文给出,主要大纲如下: LDA相关的基础知识 什么是共轭 multinomial分布 Dirichlet分布 LDA in text LAD的概率图模型 LDA的参数推导 ...
  • pirage
  • pirage
  • 2015年12月09日 17:27
  • 6157

LDA文本建模(4)——算法细节、伪代码、实现

上面的产生过程简单描述为:
  • mmc2015
  • mmc2015
  • 2015年04月13日 13:44
  • 2656
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LDA算法
举报原因:
原因补充:

(最多只允许输入30个字)