神经网络程序的解释

神经网络程序的解释,第1张

p=[]t=[]%表训练神经网络的训练样本,一个输入一个输出。net=newff(minmax(p),[10,1],{'tansig','purelin'},'traingdm')%表创建两层神经网络,第一层10个神经元,输出层1个神经元,'tansig','purelin'表各层神经网络的激励函数。 iw=net.IW{1,1}

ib=net.b{1} lw=net.LW{2,1}lb=net.b{2}%表示对各层神经网络的权值与阈值传递到相应变量。net.trainParam.show=50

net.trainParam.lr=0.05

net.trainParam.mc=0.9

net.trainParam.epochs=10000

net.trainParam.goal=1e-3

net.trainParam.goal=1e-3

%表对神经网络训练参数设置

[net,tr]=train(net,p,t)%对神经网络进行训练

a=sim(net,p)对神经网络进行仿真,输出值传递给a

你看是否满意?

你用的工具箱函数了吗?用工具箱函数可以简单点,工具箱调用是nntool;在command

windows使用,先用import,将数据分别放入

inputs和targets(导入数据)。然后按NEW

NETWORK选择结构,选择Feedforward

Backprop,确定Number

of

Layers(网络层数),在下面确定每层节点数,然后选择下函数:logsig

,purelin,tansig。最后,关闭此窗口。单击View,即可显示结构。

然后按train,在

inputs和targets里面填入输入值X和训练的Y,在training

parameters中设置你要的参数,比如误差。最后按train就可以开始训练。完了一定记住按网络模型输出(Export),将模型转入command

windows。下面调用:如y1=sim(network1,x0)plot(x,y,'o',x0,y0,y1,':')。

如果你要程序,可以这样:

function

BP

x=[-1:0.01:1]

y=[-1:0.01:1]

p=[xy]

T=x.^2+y.^2

x0=[-1:0.1:1]

y0=[-1:0.1:1]

p0=[x0y0]

T0=x0.^2+y0.^2

net=newff(minmax(p),[10,1],{'logsig','purelin'})

net.trainParam.epochs=10000

net.trainParam.goal=1e-6

net=train(net,p,T)

figure

T1=sim(net,p0)

plot(p,T,'o',p0,T0,p0,T1,':')

end

matlab编写BP神经网络很方便的,这个工作不用像编程序的C什么的那样还要编写算法。这个算法早已经在软件的库里提供了。你只要用一条语句就出来了。把参数,深度和节点固定的往里一代数就可以了。还有一点,注意最后结果的收敛性,神经网络发展一直是曲折前进的,为什么这样,现在不太给力,因为面临着一个收敛的问题,实现起来效果不好。这些程序网上有很多,你借一本基本的神经网络的书里面也有。望采纳。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11023194.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存