关于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上写的都看不懂,然后绕 ...
随机推荐
- thinkPHP 标题
在控制器中 $this->meta_title='标题'; 在对应模板中 {$meta_title} 可以这样对模板中的变量直接进行赋值
- AFNetworking到底做了什么?(二)
接着上一篇的内容往下讲,如果没看过上一篇内容可以点这: AFNetworking到底做了什么? 之前我们讲到NSUrlSession代理这一块: 代理8: /* task完成之后的回调,成功和失败 ...
- vue的transition过渡效果
需要4个类: *-enter: 进入的开始状态, *-enter-active: 进入的结束状态, *-leave: 离开的开始状态, *-leave-active: 离开的结束状态 vue-rout ...
- 51nod 1113 矩阵快速幂
题目链接:51nod 1113 矩阵快速幂 模板题,学习下. #include<cstdio> #include<cmath> #include<cstring> ...
- SAP语音读汉字
厉害了,WORD哥! 输入汉字,竟然可以读出来... 这真是变态用户必备神技啊 REPORT ZLYTEST001. INCLUDE OLE2INCL. DATA: OLE TYPE OLE2_OBJ ...
- 【转】一种解决h5页面背景音乐不能自动播放的方案
原文:http://www.cnblogs.com/wmhuang/p/5452259.html --------------------------------------------------- ...
- Xcode模拟器不显示SDK版本,反而显示设备ID的解决办法
今天在应用程序中修改了Xcode app 的名称,结果导致Xcode模拟器不显示SDK版本,反而显示设备ID了,感觉特别的忧伤......如图: 进到Xcode->window->Devi ...
- [转]EntityFramework状态变化AutoDetectChangesEnabled与SaveChanged参数说明
一.约定OnModelCreating 有一些限制需要注意,例如:1.表名不支持使用标签进行标注2.最小长度在 OnModelCreating 中不支持3.正则表达式在 OnModelCreating ...
- 前端面试题之Html和CSS
又到了毕业季,很多小伙伴们都到了找工作的时候了,好多小伙伴问我有前端的面试题么?答:没有. 呃呃… … 小伙伴本宝宝真的没有骗你们,我从毕业到现在一直在一家公司没有换过,所以手里压根没有面试题.我们公 ...
- 非Spring下的Quartz
转自:Nick Huang. http://www.cnblogs.com/nick-huang/ 阅读目录 > 参考的优秀资料 > 版本说明 > 简单的搭建 > 在We ...