分段函数怎么用神经网络进行拟合_神经网络大作业 函数拟合

的训练结果。

训练方法

训练函数

梯度下降法

traingd

有动量的梯度下降法

traingdm

自适应

lr

梯度下降法

traingda

自适应

lr

动量梯度下降法

traingdx

弹性梯度下降法

trainrp

Fletcher-Reeves

共轭梯度法

traincgf

Ploak-Ribiere

共轭梯度法

traincgp

Powell-Beale

共轭梯度法

traincgb

量化共轭梯度法

trainscg

拟牛顿算法

trainbfg

一步正割算法

trainoss

Levenberg-Marquardt

trainlm

由于这只是改变程序中的训练算法,

其他不变,

所以为了简洁,

在本程序中

只选取了四种训练算法,

分别是梯度下降法

traingd

弹性梯度下降法

trainrp

拟牛顿算法

trainbfg

Levenberg-Marquardt

trainlm

,只更改不同的训练

算法来构造节点,程序如下,得到不同训练算法下的仿真图如图

1

所示。

clear all;

close all;

clc;

a=1,c=1;  %

在此改变

a,c

的值

layer_number=20;  %

在此改隐含层的个数

u=-4:0.001:4;

t=exp(-a*u).*sin(c*u);  %

这里是矩阵相乘,要用点乘

net=newff(minmax(u),[layer_number,1],{'tansig','purelin'},'traingd');%

梯度下降法

y1=sim(net,u);%

未训练直接输出

net1=newff(minmax(u),[layer_number,1],{'tansig','purelin'},'traingd');%

梯度下降法

net2=newff(minmax(u),[layer_number,1],{'tansig','purelin'},'trainrp');%

弹性梯度下降

net3=newff(minmax(u),[layer_number,1],{'tansig','purelin'},'trainbfg');%

拟牛顿算法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值