基于LMSE的分类器设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

四、总结
p1=[864.45 1647.31 2665.9; 877.88 2031.66 3071.18;1418.79 1775.89 2772.9; 1449.58 1641.58 3405.12;864.45 1647.31 2665.9;877.88 2031.66 3071.18;1418.79 1775.89 2772.9; 1449.58 1641.58 3405.12;1418.79 1775.89 2772.9; 1449.58 1641.58 3405.12;] 注意:其中 864.45 1647.31 2665.9;877.88 2031.66 3071.18;1418.79 1775.89 2772.9; 1449.58 1641.58 3405.12;1418.79 1775.89 2772.9; 1449.58 1641.58 3405.12; 是重复添加的样品数据。目的是凑够十个数据以 便程序能进行循环。
求取迭代方程:
将上式偏导数代入迭代方程,得到:
W (k 1) W (k ) a X (k )riX (k ) Wi (k ) X (k )
T i i k
对于多类问题来说,M类问题应该有M个权函数方程,对于每一 个权函数方程来说,如X (k ) ,则
i
r [ X (k )] 1

三、实现LMSE算法的详细过程


1.首先给定四类样品,各样品的特征向量经过增1(这里以第一类 为例)
pattern=struct('feature',[]) p1=[864.45 1647.31 2665.9; 877.88 2031.66 3071.18; 1418.79 1775.89 2772.9; 1449.58 1641.58 3405.12; 864.45 1647.31 2665.9; 877.88 2031.66 3071.18; 1418.79 1775.89 2772.9; 1449.58 1641.58 3405.12; 1418.79 1775.89 2772.9; 1449.58 1641.58 3405.12;] pattern(1).feature=p1'
1
2 3 4 5 6
3
3 1 3 4 2
3
3 1 3 4 2
7
8 9 10 11 12
2
3 4 1 3 3
2
3 4 1 3 2
13
14 15 16 17 18
1
2 4 2 4 3
1
2 4 2 4 3
19
20 21 22 23 24
4
2 2 3 3 1
4
2 2 1 3 1
25
26 27 28 29 30
i
否则
r [ X (k )] 0
i
j 1,2,...,M ,
j i
二、 LMSE算法步骤
1. 2. 3. 4. 5.
W (0) W (0) W (0) ... W (0) 0 设各个权矢量的初始值为0,即:
0 1 2 9
输入第k次样品 X ( k ) ,计算 d (k ) W (k ) X (k )
于其容易实现而很快得到了广泛应用,成为自适应滤波的标准算
法。
一、算法的原理(一)
LMSE 算法是对准则函数引进最小均方误差这一条件而建立
起来的。这种算法的主要特点是在训练过程中判定训练集是
否线性可分,从而可对结果的收敛性做出判断。 LMSE算法属于监督学习的类型, 而且是“模型-无关”的,它
基于LMSE的分Hale Waihona Puke Baidu器设计
主 单 讲:周润景 教授 位:电子信息工程学院
目 录
LMSE算法简介
算法的原理
算法的实现步骤
实现算法的MATLAB编程过程 算法的MATLAB仿真情况 结论
LMSE算法简介
LMSE是Least Mean Square Error的英文缩写,中文的意思是
准则函数:
1 J (Wi, X ) E{[ri ( X ) WiT X ]2 } 2
准则函数在 ri( X ) Wi X 0 时得 J (W , X ) 的最小值。
T
i
准则函数对Wi的偏导数为:
J E X ri( X ) Wi X Wi
T
一、算法的原理(二)

yy=sample(2) z=sample(3) ac(k)=y axis([0 3500 0 3500 0 3500]) if y==1 plot3(x,yy,z,‘g*’); %一类表示为绿色 elseif y==2 plot3(x,yy,z,‘r*’) %二类表示为红色 elseif y==3 plot3(x,yy,z,‘b*’) %三类表示为蓝色 elseif y==4 plot3(x,yy,z,‘y*’) %四类表示为黄色 end hold on
6.用三维效果图将结果直观显示



四、算法的MATLAB仿真情况
最终的分类结果:





ac = 1 至 15 列 3 3 1 4 1 3 4 16 至 30 列 2 4 3 1 1 4 3
3 2
4 1
2 2
2
3
4 1
2 3
2 3
1
3
四、算法的MATLAB仿真情况
数 据 编 号 原 始 分 类 预 测 分 类 数 据 编 号 原 始 分 类 预 测 分 类 数 据 编 号 原 始 分 类 预 测 分 类 数 据 编 号 原 始 分 类 预 测 分 类 数 据 编 号 原 始 分 类 预 测 分 类
T i i
确定期望输出函数值:若 X (k ) ,则 r [ X (k )] 1,否则 r [ X (k )] 0 1 计算迭代方程,其中 。 k 循环执行第2步,直到满足条件:属于 类的所有样品都满足如下
i i
i
k
i
不等式:
d (X ) d (X )
i j
j i
最小均方误差, 常记做LMS算法。
感知器和自适应线性元件在历史上几乎是同时提出的,并且两者 在对权值的调整的算法非常相似。它们都是基于纠错学习规则的
学习算法。感知器算法存在如下问题:不能推广到一般的前向网
络中;函数不是线性可分时,得不出任何结果。而由美国斯坦福 大学的 Widrow 和 Hoff 在研究自适应理论时提出的 LMS 算法,由

4.调整权值

for k=1:4 if k~=i if d(i)<=d(k)%d(i)不是最大,则继续迭代 flag=1;


三、实现LMSE算法的详细过程

end end end %调整权值 for k=1:4 w(:,k)=w(:,k)+m*(r(k)-d(k))/num



三、实现LMSE算法的详细过程

pattern(1).feature(4,:)=1
2.设权值向量的初始值均为0
w=zeros(4,4);%初始化权值 3.计算di(k) for k=1:4 m=pattern(i).feature(:,j) m=m/norm(m) d(k)=w(:,k)'*m %计算d
5. 通过判别函数将待分类数据分类
调用function函数,将待测数据分类,因为调用一次只能判别一个样品 的类别,所以循环30次完成分类: for k=1:30 sample=sampletotall(:,k) y=lmseclassify(sample) x=sample(1)
三、实现LMSE算法的详细过程
是通过最小化输出和期望目标值之间的偏差来实现的。
一、算法的原理(二)
LMSE算法属于自适应算法中一种常用的算法,它不同于C均值算法 和ISODATA算法那样属于基于距离度量的算法,直观容易理解,它是 通过调整权值函数求出判别函数 ,进而将待测样品代入判别函数求 值最终做出判定得解。
一、算法的原理(二)
1
4 1 3 3 3
1
4 1 3 3 3
结果分析:从表中可以看出有2个分类结果是错的,正确率为93.3%。
四、总结
学习样本的维数问题:
因为样品类别不均匀(第一类4个样品,第二类8个样品,第三类9个样品, 第四类10个样品),程序不运行,后来将数据重复添加进去,保证了程序的 正常运行。 for j=1:10 。。。。。。 for k=1:4 m=pattern(i).feature(:,j) d(k)=w(:,k)'*m %计算d end 。。。。。。 end
相关文档
最新文档