实验目
1 熟悉MATLAB中神网络工具箱方法
2 通MATLAB面编程实现BP网络逼标准正弦函数加深BP网络解认识理解信号正传播误差反传递程
二实验原理
传统感知器线性神网络身法克服缺陷解决线性分问题实际应程中受限制BP网络拥良繁泛化力容错力非线性映射力成应广泛种神网络
BP算法基思想学程分两阶段:第阶段信号正传播程输入信息通输入层隐层逐层处理计算单元实际输出值第二阶段误差反传递程输入层未期输出值逐层递计算实际输出期输出差值(误差)便根差值调节权值种程断迭代信号误差达允许规定范围
基BP算法层前馈型网络模型拓扑结构图示
BP算法数学描述:三层BP前馈网络数学模型图示三层前馈网中输入量:隐层输入量:输出层输出量:期输出量:输入层隐层间权值矩阵V表示中列量隐层第j神元应权量隐层输出层间权值矩阵W表示中列量输出层第k神元应权量
面分析层信号间数学关系
输出层
隐层
两式中转移函数f(x)均单极性Sigmoid函数:
f(x)具连续导特点
构成三层前馈网数学模型
网络输出期输出相等时存输出误差E:
误差定义式展开隐层
进步展开输入层
式出网络输入误差两层权值WV函数调整权值改变误差E
显然调整权值原误差断减应权值调整量误差负梯度成正:
式中负号表示梯度降常数表示例系数训练中反映学速率
容易出BP学算法中层权值调整公式形式样均3素决定:学速率层误差信号层输入信号XY中输出层误差信号网络期输出实际输出差关直接反映输出误差隐层误差信号前面层误差信号关输出层开始逐层反传
三程序
clc
clear all
k1
n10
P[10051]
Tsin(k*pi*P)
plot(PT'')
title('逼非线性函数')
xlabel('输入量')
ylabel('非线性函数目标输出量')
netnewff(minmax(P)[n1]{'tansig''purelin'}'trainlm')
y1sim(netP)
nettrainParamepochs50
nettrainParamgoal001
nettrain(netPT)
y2sim(netP)
figure
plot(PT''Py1''Py2'*')
title('训练前网络仿真结果')
xlabel('输入量')
ylabel('输出量')
legend('目标函数输出量''未训练BP网络输出''已训练BP网络输出')
仿真结果图:
仿真结果图出未训练BP网络输出目标函数差距逼效果理想BP网络训练输出较精确逼目标函数BP网络训练迭代次数仅约12次网络输出目标误差达精度求收敛速度快函数逼效果网络训练收敛速度原始非线性函数频率BP网络隐含层单元神元数目BP网络训练函数关
四实验结
通编程实现BP网络函数进行逼BP网络信号误差传递原理隐层输出层权值调整规充分理解认识
BP网络强工具应广泛网络文字识模式分类文字声音转换图压缩决策支持等
通实验出存定足实验中采学率固定变函数逼时候方出现偏离果适应调整学率网络学初期具较学率快速逼函数已逼理想输出时较学率更加精准逼函数样会更逼效果更错误率
外BP网络具收敛速度慢容易陷入局部极值问题问题通标准BP算法改进定程度解决
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档