• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

MATLAB神经网络实例及训练结果各参数解释

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

matlab脚本程序实例源码:

clear;
clc;

%一个简单的BP网络拟合问题
%训练样本的生成
X=-1:0.1:1;  %X为输入 这里是在[-1 1]区间内以0.1为步进值(相邻两数的差值)生成的21组数据,用来表示该网络的输入
D=[-0.9602 -0.5770 -0.0729 0.3771 0.6405 0.6600 0.4609...
    0.1336 -0.2013 -0.4344 -0.5000 -0.3930 -0.1647 -.0988...
    0.3072 0.3960 0.3449 0.1816 -0.312 -0.2189 -0.3201];  %D为X每一项数据对应的输出(实际x对应的实际y值)

figure;  %创建一个新窗口
plot(X,D,'+'); %绘制原始数据分布图

%创建网络
net = newff([-1 1],[5 1],{'tansig','tansig'}); %newff:前馈网络创建函数,即创建一个前馈神经网络net

%设置训练参数
net.trainParam.epochs = 100; %设定训练的最大次数
net.trainParam.goal = 0.005; %设定全局最小误差,此处为mse:均方误差(mean squared error)

%训练网络
net = train(net,X,D); %网络学习函数

%仿真
O = sim(net,X);

%作出拟合图形
figure; 
plot(X,D,'*',X,O); %绘制训练后得到的结果和误差曲线
V = net.iw{1,1}%输入层到中间层权值
theta1 = net.b{1}%中间层各神经元阈值
W = net.lw{2,1}%中间层到输出层权值
theta2 = net.b{2}%输出层各神经元阈值
 

运行结果:

 

 

MATLAB神经网络训练结果各参数解释:

 

如上图形显示的是神经网络的结构图,可知有一个隐层一个输出层

第二部分显示的是训练算法,这里为学习率自适应的梯度下降BP算法;误差指标为MSE

第三部分显示训练进度:

Epoch:训练次数;在其右边显示的是最大的训练次数,可以设定,上面例子中设为100;而进度条中显示的是实际训练的次数,上面例子中实际训练次数为7次。

Time:训练时间,也就是本次训练中,使用的时间

Performance:性能指;进度条中显示的是当前的均方误差;进度条右边显示的是设定的均方误差(如果当前的均方误差小于设定值,则停止训练),这个指标可以用用.trainParam.goal参数设定。

Gradiengt:梯度;进度条中显示的当前的梯度值,其右边显示的是设定的梯度值。如果当前的梯度值达到了设定值,则停止训练。

validation check为泛化能力检查(若连续6次训练误差不降反升,则强行结束训练)

第四部分为作图。分别点击三个按钮能看到误差变化曲线,分别用于绘制当前神经网络的性能图,训练状态和回归分析。

 

参考:https://www.cnblogs.com/litthorse/p/7636839.html


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
DelphiWinExecShellExec用法介绍发布时间:2022-07-18
下一篇:
PB调用DELPHI的DLL之间传值的问题,大家来看看发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap