matlab bp神经网络

bp神经网络

raingdm是带动量的梯度下降法,trainlm是指L-M优化算法,trainscg是指量化共轭梯度法,除此之外还有traingdx、traingda等,都是权值的训练算法。
ansig和logsig 统称Sigmoid函数,logsig是单极性S函数,tansig是双极性S函数,也叫双曲正切函数,purelin是线性函数,是节点的传输函数。

compet—竞争型传递函数;

hardlim—阈值型传递函数;

hardlims—对称阈值型传输函数;

logsig—S型传输函数

poslin—正线性传输函数;

purelin—线性传输函数;

radbas—径向基传输函数;

satlin—饱和线性传输函数;

satlins—饱和对称线性传输函数;

softmax—柔性最大值传输函数;

tansig—双曲正切S型传输函数;

tribas—三角形径向基传输函数;

% BP网络函数逼近实例
% 1.首先定义正弦函数,采样率为20Hz,频率为1Hz
k = 1; % 设定正弦信号频率
p = [0:0.05:4];
t = cos(k*pi*p) + 5*sin(pi*p);
plot(p, t, '-'), xlabel('时间'); ylabel('输入信号');
% 2.生成BP网络。用newff函数生成前向型BP网络,设定隐层中神经元数目为10
% 分别选择隐层的传递函数为 tansig,输出层的传递函数为 purelin,
% 学习算法为trainlm。
net =newff(minmax(p),[10,10,1],{'tansig','tansig','purelin'},'trainlm');
% 3.对生成的网络进行仿真并做图显示。
y1 = sim(net,p); plot(p, t, '-', p, y1, '--')
% 4.训练。对网络进行训练,设定训练误差目标为 1e-5,最大迭代次数为300,
% 学习速率为0.05。
net.trainParam.lr=0.05;
net.trainParam.epochs=1000;
net.trainParam.goal=1e-5;
[net,tr]=train(net,p,t);
%5.再次对生成的网络进行仿真并做图显示。
y2 = sim(net,p);
plot(p, t, '-', p, y2, '--')
  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值