神经网络实验报告(附代码)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一:单层感知器的MATLAB设计与实现
1.实验要求:
P=[ ;
]
T=[ 1 1 1 0 0 1 1 1 0 0;
0 0 0 0 0 1 1 1 1 1 ]
试用MATLAB实现编程分类,并检验。
2、实验代码:
clc
clear
figure(gcf)
%setfsize(300,300)
echo on
pause % 键入任意键继续
clc
P = [+ + + + + + + ; ...
+ + + + + + + + ];
T = [1 1 1 0 0 1 1 1 0 0;
0 0 0 0 0 1 1 1 1 1];
pause % 键入任意键,绘制上述矢量
plotpv(P,T);
pause % 键入任意键,定义一个感知器神经元并绘制初始分类曲线net=newp([-2 1;-2 2],2);
='initlay';
{1}.initFcn='initwb';
{1,1}.initFcn='rands';
{1,1}.initFcn='rands';
{1}.initFcn='rands';
net=init(net);
echo off
k = pickic;
if k == 2
{1,1} = [ ; ];
{1}= [ ; ];
end
echo on
plotpc{1,1},{1})
pause % 键入任意键,训练感知器神经元
net=train(net,P,T);
{1,1}
pause % 键入任意键,绘制结果分类曲线
plotpv(P,T);
plotpc{1,1},{1});
pause % 键入任意键,检验训练后的感知器神经元
p = [; ];
a = sim(net,p)
echo off
clear
3、实验结果:
样本训练前赋初值分类
4、验证:
实验二:BP网络的拟合能力
1、实验要求:
用一个三层的多层BP网络实现对下面函数的拟合
π
-
=x
≤
yπ
sin(≤
x
x
0(
)1
12
))),
1(
sin(
4
要求:1、分析隐层神经元个数对拟合精度的影响
2、分析采样间隔(样本密度)对拟合精度的影响
3、比较trainlm、trainbp、trainbpx等在训练BP网时有什么不同(训练速度和精度等)
2、实验代码及结果:
实验代码参考例bpRBF1,只做如下修改:
(1)当隐层神经元个数变化时:从10变为30,取采样间隔为,用trainlm:
(2)当采样间隔发生变化时,从到,,神经元个数固定为30,用trainlm:
(3)当函数发生变化时:其他参数不变,从trainbp到trainbpx:
实验三:RBF网络的拟合能力
(1)实验要求:
用RBF网络实现对下面函数的拟合
π
-
=x
≤
yπ
sin(≤
x
x
)1
12
0(
))),
sin(
4
1(
要求:1、分析隐层神经元个数对拟合精度的影响
2、分析采样间隔(样本密度)对拟合精度的影响
σ的大小对拟合模型的精度和泛化能力的影响
3、讨论RBF网中参数2
(2)实验代码及结果:
(1)参数sc变化,从变为,取间隔为
(2)参数sc变化,从变为,取sc为
σ的大小对神经元的影响
(3)2