资源简介
这是一个LDA算法,有实例分析,并给出数据进行验证预测。对于初学者很有帮助。
代码片段和文件信息
clc;
clear;
cls1_data=[2.93 6.634; 2.53 7.79; 3.57 5.65;3.16 5.47];%第一个类的训练集
cls2_data=[2.58 4.44; 2.16 6.22; 3.27 3.52];%第二个类的训练集
%求期望
E_cls1=mean(cls1_data);%第一类数据的期望矩阵
E_cls2=mean(cls2_data);%第二类数据的期望矩阵
E_all=mean([cls1_data;cls2_data]);%所有训练集的期望矩阵
%%%%%%%%%%%%%%%%%%%%分类前画图%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for i=1:4
plot(cls1_data(i1)cls1_data(i2)‘.r‘);
hold on;
end;
plot(E_cls1(1)E_cls1(2)‘^r‘);
hold on;
for i=1:3
plot(cls2_data(i1)cls2_data(i2)‘*b‘);
hold on;
end;
plot(E_cls2(1)E_cls2(2)‘^b‘);
plot(E_all(1)E_all(2)‘vc‘);
hold on;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%计算类间离散度矩阵:
x1=E_all-E_cls1;
x2=E_all-E_cls2;
Sb=4*x1‘*x1/7+3*x2‘*x2/7;%%%%%%%%%为什么不用式(3)???
%计算类内离散度矩阵
y1=0;
for i=1:4
y1=y1+(cls1_data(i:)-E_cls1)‘*(cls1_data(i:)-E_cls1);
end;
y2=0;
for i=1:3
y2=y2+(cls2_data(i:)-E_cls2)‘*(cls2_data(i:)-E_cls2);
end;
Sw=4*y1/7+3*y2/7;%%%%%%%%%为什么不用式(3)???
%求最大特征值和特征向量
[VL]=eig(inv(Sw)*Sb);
[ab]=max(max(L));
newspace=V(:b);%最大特征值所对应的特征向量
new_cls1_data=cls1_data*newspace;%训练后的数据集
new_cls2_data=cls2_data*newspace;%训练后的数据集
%%%%%%%%%%%%%%%%%%画图代码%%%%%%%%%%%%%%%%%
k=newspace(2)/newspace(1);
plot([06][06*k]‘-c‘);%画出最大特征值对应的特征向量,即样本所组成的线性空间所投影的子空间
axis([0 7 -2 9]);
hold on;
%画出样本投影到子空间点
for i=1:4
temp=cls1_data(i:);
newx=(temp(1)+k*temp(2))/(k*k+1);
newy=k*newx;
plot(newxnewy‘*r‘);
end;
for i=1:3
temp=cls2_data(i:);
newx=(temp(1)+k*temp(2))/(k*k+1);
newy=k*newx;
plot(newxnewy‘ob‘);
end;
%预测
prediction=[4.81 3.46];
result=prediction*newspace;
temp=new_cls1_data-[result;result;result;result];
temp2=new_cls2_data-[result;result;result];
if(min(abs(temp))>min(abs(temp2)))
output=‘该样本属于不合格产品‘
else
output=‘该样本属于合格产品‘
end;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2044 2010-08-07 17:15 MATLAB实现的LDA算法及结果截图\LDA.m
文件 5335 2010-08-07 17:17 MATLAB实现的LDA算法及结果截图\LDA_result.fig
目录 0 2010-08-07 17:21 MATLAB实现的LDA算法及结果截图
----------- --------- ---------- ----- ----
7379 3
相关资源
- gps基本原理及其matlab仿真199992
- 信号分析与处理——MATLAB语言及应用
- MATLAB编程100例
- 扫描文件的光学字符分割文字分割M
- 交替方向乘子法ADMM算法的matlab代码
- 图像插值方法3种方法,MATLAB代码
- AF、DF协议的MATLAB仿真
- tobii眼动仪视觉追踪程序源码,MATLA
- ADMM工具包
- Matlab实现FCM算法
- matlab 计算李雅普诺夫指数的方法集合
- 多径多普勒效应讲义(含matlab程序)
- 基于Matlab的数字图像处理课程设计
- 雷达系统设计MATLAB仿真.pdf196612
- Matlab 揭秘 全本
- MATLAB建模与仿真应用教程(第2版 )
- 精简版绿色Matlab
- DTFT、DFT、FFT原理及编程
- 无线传感器网络定位程序(matlab可以
- 雷达系统设计及matlab仿真 全文书籍
- 基于matlab图像处理系统含GUI
- 虹膜识别matlab程序源代码
- MATLAB程序——癫痫病人的脑电信号提
- KNN算法对MNIST数据集分类
- 系统辨识与自适应控制MATLAB仿真1904
- PIV matlab程序
- MATLAB在时间序列分析中的应用_张善文
- matlab利用不变矩提取图片的形状特征
- 滑模变结构控制MATLAB仿真(第1版)(
- UWB_Matlab
评论
共有 条评论