神经网络 感知器的分类能力

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

作业一:感知器的分类能力

一、作业要求

已知矩阵P=[0.1 0.7 0.8 0.8 1.0 0.3 0.0 -0.3 -0.5 -1.5;

1.2 1.8 1.6 0.6 0.8 0.5 0.2 0.8 -1.5 -1.3];

T=[1 1 1 0 0 1 1 1 0 0 ;

0 0 0 0 0 1 1 1 1 1]

对以上输入、输出样本进行分类。要求画出最后的线形图。

二、分析题目要求

首先画出题目给定的点。要求设计一个二输入感知神经网络,将十个输入向为四类。

图1 给定的点

三、构建初始网络

应用newp()构造一个神经元感知器神经网络,其输入向量在[-2 2]之间。由于为2输入,故神经元数量为2。

四、训练网络

net=train(net,P,T); 设置最大训练次数为10。

五、 实验结果

5.1 本次运行的最优分类情况:

图2 分类线

5.2 误差曲线

当学习函数为感知器学习函数learnp 时,其误差曲线为图3;当学习函数为标准感知器学习函数learnp n 时,其误差曲线为图4。

图3 学习函数learnp 的误差曲线 图4 学习函数learnpn 的误差曲线

六、网络仿真

应用sim 函数来进行网络仿真,实现对任何其他输入向量的模式划分。选取 Q=[-0.4;0.9],可知其非常靠近原样本的一组数据即[-0.3 0.8],其目标输出应为为

[1 1]。现在观察网络仿真结果,发现其被划分到相应的分类中。

七、结论与心得

该感知器网络完成了一个简单的四类模式划分问题。通过此次实验,可得感知器具有根据已有数据自主学习规则的能力,这对于我们研究无固定函数表达式的输入输出有重要意义。此外,通过比较两个学习函数后,发现learnp的误差曲线更符合要求,所以选择学习函数选择learnp。

做本题前一直在思考,10组数据如何分配,哪些做学习样本,哪些做测试样本。最后决定取原样本中相近的数据来检测网络的识别能力。

八、附录: Matlab程序代码

P=[0.1 0.7 0.8 0.8 1.0 0.3 0.0 -0.3 -0.5 -1.5;

1.2 1.8 1.6 0.6 0.8 0.5 0.2 0.8 -1.5 -1.3];

T=[1 1 1 0 0 1 1 1 0 0 ;

0 0 0 0 0 1 1 1 1 1]

net=newp([-2 2;-2 2],2,'hardlim','learnp');

net.trainParam.epochs=10;

net=train(net,P,T);

Q=[-0.4;0.9];

Y=sim(net,Q);

plotpv(P,T);

plotpc(net.iw{1},net.b{1});%画分类线

hold on;

plotpv(Q,Y);

xlim([-2,2]),ylim([-2,2]); %限定区间

相关文档
最新文档