数学建模暑期集训12:神经网络预测——Neural Net Fitting工具箱的使用

阅读: 评论:0

数学建模暑期集训12:神经网络预测——Neural Net Fitting工具箱的使用

数学建模暑期集训12:神经网络预测——Neural Net Fitting工具箱的使用

在本专栏的第十三篇博文数学建模学习笔记(十三)神经网络——中:matlab程序实现记录过如何在matlab用代码进行神经网络的训练。
本篇内容将记录如何使用Neural Net Fitting工具箱,做神经网络预测时更为简便。

1.数据选取

例题:

原始数据:

导入数据到matlab:
新建变量,点击,复制相应数据。

2.工具箱的使用





这里有三种算法可供选择:
莱文贝格-马夸特方法(Levenberg–Marquardt algorithm)(梯度下降法)
贝叶斯正则化方法(Bayesian‐regularization)
量化共轭梯度法(Scaled Conjugate Gradient )

3.结果分析


注:设计验证集的概念就是判断什么时候会出现过拟合。图中自动画圈的地方是训练效果最好的次数,之后MSE上升,逐渐过拟合。


结果保存:

4.用模型进行预测

保存之后,工作区会多出文件:

写个循环,调用训练好的模型net,实现对数据的预测。
注,数据的输入需要注意,输入数据不合要求时,可能需要转置(默认以列输入)
下面是上面例题的预测代码:

load data_Octane.mat
% 尽量使用新版的Matlab
% 在Matlab的菜单栏点击APP,再点击Neural Fitting app.% 利用训练出来的神经网络模型对数据进行预测
% 例如我们要预测编号为51的样本,其对应的401个吸光度为:new_X(1,:)
% sim(net, new_X(1,:))
% 错误使用 network/sim (line 266)
% Input data sizes do not match net.inputs{1}.size.
% net.inputs{1}.size% 这里要注意,我们要将指标变为列向量,然后再用sim函数预测
sim(net, new_X(1,:)')% 写一个循环,预测接下来的十个样本的辛烷值
predict_y = zeros(10,1); % 初始化predict_y
for i = 1: 10result = sim(net, new_X(i,:)');predict_y(i) = result;
end
disp('预测值为:')
disp(predict_y)

5.总结

神经网络是万金油的存在,即各种场景都可以用到神经网路。
缺点在于神经网路不易数学解释,对数学建模比赛而言不是最佳选择,当然,用作检验结果的正确与否还是非常值得一提的。

本文发布于:2024-01-31 01:47:14,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170663683524448.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:神经网络   建模   工具箱   暑期   数学
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23