关于LDA的几何表示——MATLAB实现
承接这个PCA的练习,还有一个关于LDA的几何表示。
题目如下:

代码实现LDA如下:LDA.m
clear
clc
% 生成training sample
MU1 = [6 10]';
MU2 = [6 20]';
SIGMA1 = [2 4; 4 9];
SIGMA2 = [2 4; 4 9]; M1 = mvnrnd(MU1,SIGMA1,1000);
M2 = mvnrnd(MU2,SIGMA2,1000);
M = [M1;M2]; m0 = mean(M);
m1 = mean(M1);
m2 = mean(M2); %between-class scatter matrix-->SB
SB = (length(M1)/length(M)).*(m1-m0)'*(m1-m0)+(length(M2)/length(M)).*(m2-m0)'*(m2-m0);
%within-class scatter matrix -->SW
WM = [0 0; 0 0];
m = [m1;m2];
for(i=1:2)
for (j=(i-1)*1000+1:i*1000)
WM = WM + (M(j,:)-m(i,:))'* (M(j,:)-m(i,:));
end
end
SW = (WM)/length(M); %求最大特征值及其对应的特征向量
[V,D] = eig(inv(SW)*SB);
u = V(:,2);
v = u*(1/sqrt(u'*SW*u)); for (i=1:2000)
VD(i,:) = dot(v,M(i,:))*v';
end
%画在同一坐标系下
plot(VD(:,1),VD(:,2),'.',M1,M2,'.')
输出如下:

可以和上一次的PCA比较一下。
执行如下命令(之前已经写了PCA.m和LDA.m):

输出:

关于LDA的几何表示——MATLAB实现的更多相关文章
- 关于PCA的几何表示——MATLAB实现
关于PCA的一道练习题.这个折腾了好久...终于做出来像样的图,开始的时候忘记对原始数据标准化,怎么也不对.经过标准化之后,做的图看着还可以,有错误请指出! MATLAB代码PCA.m: clear ...
- matlab 工具之各种降维方法工具包,下载及使用教程,有PCA, LDA, 等等。。。
最近跑深度学习,提出的feature是4096维的,放到我们的程序里,跑得很慢,很慢.... 于是,一怒之下,就给他降维处理了,但是matlab 自带的什么pca( ), princomp( )函数, ...
- LDA算法学习(Matlab实现)
LDA算法 对于两类问题的LDA(Matlab实现) function [ W] = FisherLDA(w1,w2) %W最大特征值对应的特征向量 %w1 第一类样本 %w2 第二类样本 %第一步: ...
- 机器学习笔记----四大降维方法之PCA(内带python及matlab实现)
大家看了之后,可以点一波关注或者推荐一下,以后我也会尽心尽力地写出好的文章和大家分享. 本文先导:在我们平时看NBA的时候,可能我们只关心球员是否能把球打进,而不太关心这个球的颜色,品牌,只要有3D效 ...
- [IR] Concept Search and LDA
重要的是通过实践更深入地了解贝叶斯思想,先浅浅地了解下LDA. From: http://blog.csdn.net/huagong_adu/article/details/7937616/ 传统方法 ...
- LDA
2 Latent Dirichlet Allocation Introduction LDA是给文本建模的一种方法,它属于生成模型.生成模型是指该模型可以随机生成可观测的数据,LDA可以随机生成一篇由 ...
- lda topic number
Hi Vikas -- the optimum number of topics (K in LDA) is dependent on a at least two factors: Firstly, ...
- LDA汇总
1.Blei的LDA代码(C):http://www.cs.princeton.edu/~blei/lda-c/index.html2.D.Bei的主页:http://www.cs.princeton ...
- KNN PCA LDA
http://blog.csdn.net/scyscyao/article/details/5987581 这学期选了门模式识别的课.发现最常见的一种情况就是,书上写的老师ppt上写的都看不懂,然后绕 ...
随机推荐
- .NET跨平台之mac 下vs code 多层架构编程
合肥程序员群:49313181. 合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入,申请备注填写姓名+技术+工作年限) Q Q:408365330 E-Mail:eg ...
- 从客户端(Content="<p>测试</p>")中检测到有潜在危险的 Request.Form 值
.NetFrameWork 4.0 Validaterequest="false"不起作用 要恢复到2.0的ASP.NET请求验证功能的行为,要在以下设置 Web.config中 ...
- java通过文件路径读取该路径下的所有文件并将其放入list中
java通过文件路径读取该路径下的所有文件并将其放入list中 java中可以通过递归的方式获取指定路径下的所有文件并将其放入List集合中.假设指定路径为path,目标集合为fileList,遍 ...
- cookie详解
一.cookie详解 (1)设置cookie 每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie: document.cookie="userId ...
- nginx和tomcat的区别
web上的server都叫web server,但是大家分工也有不同的. nginx常用做静态内容服务和代理服务器(不是你FQ那个代理),直面外来请求转发给后面的应用服务(tomcat,django什 ...
- C# WebForm内置对象2+Repeater的Command
内置对象:用于页面之间的数据交互 为什么要使用这么内置对象?因为HTTP的无状态性. Session:在计算机中,尤其是在网络应用中,称为“会话控制”.Session 对象存储特定用户会话所需的属性及 ...
- Windows Store App JavaScript 开发:WinJS库控件
在介绍了如何使用标准的HTML控件以及WinJS库中提供的新控件之后,下面来着重介绍WinJS库中几种常用的控件. (1)ListView控件 在开发Windows应用商店应用时可以使用ListVie ...
- mysql5.6新特性总结
一. server参数默认值设置的变化http://dev.mysql.com/doc/refman/5.6/en/server-default-changes.html 二. innodb增强1.全 ...
- JavaScript基础之DOM修改样式
1.获取或设置元素的内容:3个属性: 1. innerHTML: 获取或设置元素开始标签到结束标签之间的所有HTML代码原文. 何时使用:只要获得完整的html代码原文时 优化 ...
- 一生伏首拜阳明------<明朝那些事儿>
一生伏首拜阳明. 王守仁,字伯安,别号阳明. 成化八年(1472),王守仁出生在浙江余姚,大凡成大事者往往出身贫寒,小小年纪就要上山砍柴,下海捞鱼,家里还有几个生病的亲属,每日以泪洗面.这差不多也是惯 ...