智能控制备考三计算编程 南阳理工学院Word文件下载.docx
《智能控制备考三计算编程 南阳理工学院Word文件下载.docx》由会员分享,可在线阅读,更多相关《智能控制备考三计算编程 南阳理工学院Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。
编程题
坐标点的二类模式分类问题:
二维平面坐标系中存在一系列坐标点,已知部分坐标点属于第一类,部分坐标点属于第二类,求新坐标点的类别。
现给定6个点如下图和下表所示。
这是一个线性可分的问题,输入向量为一个二维向量,在二维向量可用一条直线可将两个类别正确的分开,如下图所示。
1、确定感知器结构
2、定义向量
对应程序段为:
根据点的分类上图表格改变P,D量即可。
3、初始化
将权值和偏置初始化为零,即w=[0,0,0];
4、第一次迭代。
>
v=w*P%输出层的输入
y=hardlim(v)%计算网络的输出
%根据调整权值
e=(d-y)%误差
ee=mae(e)%计算误差的平均绝对差
w=w+n*(T-y)*P'
%调整w
5、第二次迭代。
重复以上的步骤
v=w*P
y=hardlim(v)
e=(d-y)
ee=mae(e)
>
6、第三次迭代,重复以上步骤。
ee=mae(e)
7、第四次迭代。
。
while1
v=w*P;
y=hardlim(v);
%实际输出
%更新
e=(d-y);
ee(i+1)=mae(e);
if(ee(i+1)<
0.001)%判断
disp('
wehavegotit:
'
);
disp(w);
break;
end
%更新权值和偏置
w=w+n*(d-y)*P'
;
if(i>
=MAX)%达到最大迭代次数,退出
MAXtimesloop'
disp(ee(i+1));
i=i+1;
end
%%显示
figure;
subplot(2,1,1);
%显示待分类的点和分类结果
plot([-9,-12-40],[15,4511],'
o'
需要改变的地方
holdon;
plot([1,5],[-8,9],'
*'
需要改变的地方
axis([-13,6,-10,16]);
legend('
第一类'
'
第二类'
title('
6个坐标点的二分类'
x=-13:
.2:
6;
y=x*(-w
(2)/w(3))-w
(1)/w(3);
plot(x,y);
holdoff;
subplot(2,1,2);
%显示mae值的变化
x=0:
i;
plot(x,ee,'
o-'
s=sprintf('
mae的值(迭代次数:
%d)'
i+1);
title(s);