精选资料,欢迎下载
作业8
编程题实验报告
(一)实验内容:
实现多层前馈神经网络的反向传播学习算法。,观察层数增加和隐层数增加是否会造成过拟合。
二)实验原理:
1)前向精选资料,欢迎下载
作业8
编程题实验报告
(一)实验内容:
实现多层前馈神经网络的反向传播学习算法。,观察层数增加和隐层数增加是否会造成过拟合。
二)实验原理:
1)前向传播
以单隐层神经网络为例(三层神经网络),则对于第k个输出节点,输出结果为:
(7@)=
l+exp(-a)
在实验中采用的激励函数为logisticsigmoidfunction。
考虑每一层节点中的偏差项,所以,在上式中:
X二1,W(/)二b(L)
0j0
在实验中,就相应的需要注意矢量形式表达式中,矢量大小的调整。
2)BP算法:
a)根据问题,合理选择输入节点,输出节点数,确定隐层数以及各隐层节点数;
b)给每层加权系数,随机赋值;
c)由给定的各层加权系数,应用前向传播算法,计算得到每层节点输出值,并计算对于所有训练样本的均方误差;
d)更新每层加权系数:
(Y-D)-h'(a(L)),最后一层
其中,©⑴彳士***@l+i)・w-h(a),其它层
IjiI
j
e)重复c),d)迭代过程,直至迭代步数大于预设值,或者每次迭代误差变化值小于预设值时,迭代结束,
得到神经网络的各层加权系数。
(三)实验数据及程序:
1)实验数据处理:
a)训练样本输入节点数据:在实验中,所用数据中自变量x的取值,为0—1的25个随机值,为了后续实验结果的分析,将其从小到大排序,并加上偏差项,神经网络的输出节点最终训练结果,即为训练得到的回归结果
精选资料,欢迎下载
b)训练样本标签值:在实验中,采用的激励函数为logisticsigmoidfunction,其值域为[0,1],所以,在神经网络训练前,需要对训练样本标签值进行归一化处理;
精选资料,欢迎下载
c)神经网络输出节点值:对训练样本标签值进行了归一化处理,相应的,对于输出节点,需要反归一化处理。
2)实验程序:实现函数:
[Theta]=BP(input_layer_size,hidden_layer_size,hidden_layer_num,num_labels,Niter,leta,X,Y)
输入参数:input_layer_size:输入节点数;
hidden_layer_size:隐层节点数(对于单隐层,输入值为一数值,对于多隐层,为一矢量);hidden_layer_num:隐层数;num_labels:输出节点数;
Niter:为预设的迭代步数;leta:学习速率,即更新步长;
X,Y:分别为训练样本输入
BP神经网络实验报告 来自淘豆网m.daumloan.com转载请标明出处.