神经网络函数

训练方法训练函数
梯度下降法traingd
有动量的梯度下降法traingdm
弹性梯度下降法trainrp
拟牛顿算法trainbfg

神经网络构建
n e t = n e w f f ( P R , [ S 1   S 2   ⋅ ⋅ ⋅ S N ] ) , T F 1   T F 2 ⋅ ⋅ ⋅ T F N , B T F net = newff(PR,[S1~S2~···SN]),{TF1~TF2···TFN},BTF net=newff(PR,[S1 S2 SN]),TF1 TF2TFN,BTF

  • P R PR PR:由R维的输入样本最小最大值构成的R*2维矩阵
  • [ S 1   S 2   ⋅ ⋅ ⋅ S N ] [S1~S2~···SN] [S1 S2 SN]:各层的神经元个数
  • T F 1   T F 2 ⋅ ⋅ ⋅ T F N {TF1~TF2···TFN} TF1 TF2TFN:各层的神经元传递函数
  • B T F BTF BTF:训练函数名称

网络训练
n e t = t r a i n ( n e t , P , T ) net = train(net,P,T) net=train(net,P,T)

  • P P P:输入数据
  • T T T:输出数据

网络仿真
Y 2 = s i m ( n e t , P 2 ) Y2 = sim(net,P2) Y2=sim(net,P2)

  • P 2 P2 P2:待测试数据。
pn = p1*;	%p1的转置给pn
tn = t1*;	%t1的转置给tn

[m,n] = size(t);	%得到矩阵尺寸
[pn,minp,maxp,tn,mint,max] = premnmx(p,t);	%归一化,使量纲一致
net = newff(minmax(pn),[5,1],{'tansig','purelin'},'traingd');	%建立神经网络

net.trainParam.show = 50%;
net.trainParam.lr = 0.01;
net.trainParam.epochs = 1000;
net.trainParam.goal = 1e-5;
[net,tr] = train(net,pn,tn);
anewn = sim(net,pn);
figure;
hold on
plot(anewn,'b',tn,'r');
wucha=sum(abs(b-r)/n);	%输出误差
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值