数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 2367|回复: 0

请教BP网络的程序

[复制链接]
发表于 2004-10-9 03:58:42 | 显示全部楼层 |阅读模式
<>我这有一个关于神经网络的程序,哪位能告诉我怎样修改才能保证每次运行的结果是比较符合实际的?我要模拟y=x^2的曲线,可通过模拟后将x=2.5代入进去却得不到6.25,为什么?谢谢!</P>
<>close all
clear
echo on
clc</P>
<>%输入矢量p
P=[-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 ];</P>
<P>%目标矢量
T=[36 25 16 9 4 1 0 1 4 9 16 25 36];</P>
<P>%创建一个新的前向神经网络
%带动量的批处理梯度下降法(TRAINGDM)
net=newff(minmax(P),[20,1],{'logsig','purelin'},'traingdm')</P>
<P>%当前输入层权值和阀值
inputWeights=net.IW{1,1}
inputbias=net.b{1}</P>
<P>%当前网络层权值和阀值
layerWeights=net.LW{2,1}
layerbias=net.b{2}</P>
<P>%设置训练参数
net.trainParam.show=200;%每隔50次显示一次
net.trainParam.lr=0.15;%lr表示学习速率
net.trainParam.mc=0.8;%mc表示动量系数
net.trainParam.epochs=100000;
net.trainParam.goal=1e-15;</P>
<P>%调用traingdm算法训练BP网络
[net,tr]=train(net,P,T);</P>
<P>%对BP网络进行仿真
A=sim(net,P)</P>
<P>%计算仿真误差
E=T-A;
MSE=mse(E)</P>
<P>Y=[1 2 2.5 3];</P>
<P>X=sim(net,Y)</P>
<P>%plot(P,A,Y,X,'o')
echo off</P>
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-27 21:08 , Processed in 0.049810 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表