智能信息处理技术实验报告Word文档下载推荐.docx
《智能信息处理技术实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《智能信息处理技术实验报告Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。
二、实验原理
感知器算法是通过训练模式的迭代和学习算法,产生线性可分的模式判别函数。
感知器算法就是通过对训练模式样本集的“学习”得出判别函数的系数解。
三、实验内容
(1)简单分类问题(Percept1):
设计单一感知器神经元来解决一个简单的分类问题:
将4个输入向量分为两类,其中两个输入向量对应的目标值为1,另两个对应的目标值为0.
输入向量为:
P=[-1-0.50.2-0.1;
-0.30.5-0.51.0]
目标向量为:
T=[1100]
程序如下:
-0.30.5-0.51.00];
T=[1100];
plotpv(P,T);
pause;
net=newp([-11;
-11],1);
watchon;
cla;
linehandle=plotpc(net.IW{1},net.b{1});
E=1;
net=init(net);
while(sse(E))
[net,Y,E]=adapt(net,P,T);
linehandle=plotpc(net.IW{1},net.b{1});
drawnow;
end;
watchoff;
p=[-0.5;
1.2];
a=sim(net,p);
plotpv(p,a);
ThePoint=findobj(gca,'
type'
'
line'
);
set(ThePoint,'
Color'
red'
holdon;
plotpc(net.IW{1},net.b{1});
holdoff;
disp('
Endofpercept1'
实验截图:
(2)多个感知器神经元的分类问题(Percept2):
将上例的输入向量扩充为10组,将输入向量分为4类,即输入向量为:
P=[0.10.70.80.81.00.30.0-0.3-0.5-1.5;
1.21.81.60.60.80.50.20.8-1.5-1.3]
输出向量为:
T=[1110011100;
0000011111]
1.21.81.60.60.80.50.20.8-1.5-1.3];
T=[1111100000;
0000011111];
net=newp([-1.51;
-1.51],2);
figure;
while(sse(E))
linehandle=plotpc(net.IW{1},net.b{1},linehandle);
p=[2;
-1];
Endofpercept2'
(3)输入奇异样本对网络训练的影响(Percept3)当网络的输入样本中存在奇异样本时(即该样本向量相对其他所有样本向量特别大或特别小),此时网络训练时间将大大增加,如:
P=[-0.5-0.50.3-0.1-40;
-0.50.5-0.51.050];
T=[11001];
解决此问题只需用标准化感知器学习规则训练即可大大缩短训练时间
原始感知器学习规则的权值调整为:
标准化感知器学习规则的权值调整为:
,由函数learnpn()实现
实验程序:
-0.50.5-0.51.050];
net=newp([-401;
-150],1);
net.adaptParam.passes=1
p=[0.7;
axis([-22-22]);
Endofpercept3'
(4)线性不可分的输入向量(Percept5)定义向量
P=[-0.5-0.50.3-0.1-0.8;
-0.50.5-0.51.00.0];
T=[11000];
用感知器对其分类
P=[-0.5-0.50.3-0.1-400;
-0.50.5-0.51.0500];
net=newp([-4001;
-1500],1,'
hardlim'
learnpn'
%net=newp([-4001;
-1500],1);
net.adaptParam.passes=1;
Endofpercept4'
(5)实验练习:
1、设计一个matlab程序实现教材p25例3.1
2、即输入向量为:
1.21.81.60.60.80.50.20.8-1.5-1.3]
T=[1110011100]
对其进行分类
实验二BP感知器
一、实验目的
1.理解线性分类器的分类原理。
2.掌握BP算法,利用它对输入的数据进行分类。
3.理解BP算法,使用BP算法对输入数据进行分类。
二、实验原理
由于硬限幅函数是非可微函数,不能实现多层神经网络的一种有效的LMS学习算法。
而BP算法中所用到的是Sigmoid型函数,它既具有完成分类所需的非线性特性,又具有实现LMS算法所需的可微特性。
采用S型函数的神经元的输入和输出之间的关系为
四、实验内容
1.根据实验内容推导出输出的计算公式以及误差的计算公式
2.使用Matlab编程实现BP多层感知器
3.调节学习率η及隐结点的个数,观察对于不同的学习率、不同的隐结点个数时算法的收敛速度
4.改用批处理的方法实验权值的收敛,并加入动量项来观察批处理以及改进的的算法对结果和收敛速度的影响。
内容一程序如下:
closeall
clear
echoon
clc
pause
P=[-1,-1,2,1;
-1,4,5,-3];
T=