PAGE
PAGE # / 7
神经网络学习报告
一、什么是神经网络?
神经网络是一种应用类似于大脑神经突触联接的结构进行信息处理的数学模型。 它是由
大量功能单一的神经元构成, 具有很好的学习能力和泛化能力。 神经元作为神经网络的基本
构成单元,其主要由突触、加法器以及激活函数组成。突触用于信号的输入,加法器用于将 输入信号进行相应的计算,激活函数用来限制神经元的输出振幅。 激活函数主要有以下三种
形式:
1、阈值函数即阶梯函数:当函数自变量小于
1、阈值函数即阶梯函数:当函数自变量小于
0时,函数输出为0,当函数的自变量大于
等于0时,函数的输出为1。数学表示为:
厂 1, v>0
f(v)= Y
0 , v<0
2、分段线性函数:该函数的自变量 v在负无穷到-1之间时,函数输出为-1 ;自变量v
在-1到1时,函数输出为v;自变量v大于等于1时,函数输出为1。其数学表示为:
f(v)= I
f(v)= I v ,
X》
-1<v<1
-1 , v <1
3、非线性转移函数:该函数是当自变量在实域上变化是,其输出始终在 0到1之间。
最常用的非线性转移函数是单极性 sigmoid函数,简称S型函数单极性 S型函数的数学表 示为:
f(v)=1/(1+e-v)
双极性S型函数的数学表示为:
f(v)=(1-eT)/(1+e-v)
神经网络的类型从网络结构可分为前向神经网络和反馈神经网络。 前向神经网络分为单
层前向神经网络和多层前向神经网络。区分前向神经网络和反馈神经网络主要是看输出层是 否有反馈回到了输入层, 有则为反馈神经网络,否则为前向神经网络。区分单层前向神经网
络和多层前向神经网络主要是看是否有隐藏层, 有则为多层前向神经网络,否则为单层前向
神经网络。单层前向神经网络、多层前向神经网络以及反馈神经网络网络模型分别如图 i-i、
1-2、1-3 所示。
图1-2多层前向神经网络图1-1
图1-2多层前向神经网络
图1-1单层前向神经网络
图1-3反馈神经网络
二、神经网络工具箱通用函数
sim函数,用于神经网络的仿真。其调用格式如下。
[y,pf,af,e,perf ]=sim( net,p,pi,ai,t)
[y,pf,af ]=sim (n et,{q ts },pi,ai)
其中,y :网络输出;pf:最终输出延迟;af:最终的层延迟;e :网络误差;perf :网 络性能;net:待仿真的神经网络;p :网络输入;pi :初始输入延迟,默认为 0; ai :初始 层延迟,默认为0; t :网络目标。
神经网络仿真示例程序如下:
clear all ;
p = [0 1 2 3 4 5 6 7 8 9]; %输入向量
t = [0 0.34 0.56 0.55 -0.33 -0.78 -0.58 0.97 0.48 0.87]; % 目标
向量
net = feedforward net(10);
net = con figure (n et,p,t);
y1 = sim( net,p) % 对所创建网络进行仿真
plot(p,t,'o',p,y1,'x')
legend(' 原始数据','仿真后数据');
程序输出:
y1 =
3.6881 4.1582 3.7542 2.5204 1.8117 1.5808 0.7953
-0.4858 -1.7422 -2.7742
网络仿真效果图如图 2-1所示。
10.5原始数据 仿真后数据-0.5-1
1
0.5
原始数据 仿真后数据
-0.5
-1
-1.5
-2
-2.5
0
1 2 3 4 5 6 7
图2-1网络仿真效果图
Train函数,用于实现神经网络的训练,其调用格式如下:
[n et,tr,y,e,pf,af]=tra in(n et,p,t,pi,ai)
0; pi:
tr:最终层其中,net:待训练的神经网络;p:网络的输入信号;t:网络的目标,默认为 初始的输入延迟,默认为 0; ai :初始的层延迟,默认为 0; net:训练后的神经网络; 训练记录;y :神经网络的输出信号;
0; pi:
tr:
最终层
神经网络训练网络示例程序如下:
clear all ;
p = [0 1 2 3 4 5 6 7 8 9]; %输入向量
%目标t = [0 0.34 0.56 0.55 -0.33 -0.78 -0.58 0.97 0.48 0.87];
%目标
net = feedforward net(10);
net = con figure (n et,p,t);
n et.tra in param.epochs=50;
n et.tra in param.goal=0.01;
n et=trai n(n et,p,t);
y1=sim (n et,p)
plot(p,t,'o',p,y1,'x');
legend(' 训练前数据','训练后数据');
网络训练过程如图 2-2所示。
图2-2网络训练过程
网络训练效果图如图 2-3所示。
训练前数据 训练后数据
0.8
0 . 6
0.4
0.2
0 ?
-■
-0.2
-0.4
-0.6
-0 Eg [ [ [ 1 1 [ [ L
0图2-3网络训练效果图
将上面两个例子整合对比,可得如下程序:
输入向量clear all;
输入向量
p = [0 1 2 3 4 5 6 7 8 9]; %
目标t = [0 0.34 0.56 0.55 -0.33 -0.78 -0.58 0.97 0.48 0.87]; % 向量
目标
net = feedforward net(10);
net = con figure (n et,p,t);
n et=trai n(n et,p,t);
y1=sim (n et,p)
net = feedforward net(10);
net = con figure (n et,p,t);
n et.tra in param.epochs=50;
n et.tra in param.goal=0.01;
n et=trai n(n et,p,t);
y2=sim (n et,p)
plot(p,t,'o',p,y1,'x',p,y2,'*');
legend(' 原始数据','仿真后数据','训练后数据');
效果图如图2-5所示。
1.5
0.5
0*厂
-0.5
图2-5效果图
原始数据 仿真后数据 训练后数据
三、实验总结
通过对神经网络和 MATLAB的学习,我深刻地意识到了自身的渺小。 MATLAB中就神经
网络这块就有那么多的函数, 先不说写这些函数, 光自己用这些人家已经给你写好了的函数
都不会用,想起来真的很惭愧,不过这也成为了我学习神经网络的动力,万事开头难, 我相
信,只要努力了,总有一天会成功的。
(范文素材和资料部分来自网络,
供参考。可复制、编制,期待你的好评与关注)
推荐访问:学习报告 神经网络 报告 学习 最新神经网络学习报告