数学建模系列-预测模型(一)---神经网络模型

最近在学习数学建模系列,数学建模主要分为三个大问题:
1.预测模型
2.优化模型
3.评价模型

又分为如下的各个子区间:
一、神经网络预测、灰色预测、拟合插值预测(线性回归)、时间序列
预测、马尔科夫链预测、微分方程预测、Logistic 模型等等。

二、规划模型(目标规划、线性规划、非线性规划、整数规划、动态
规划)、图论模型、排队论模型、神经网络模型、现代优化算法(**遗传算法、模拟退火算法、蚁群算法、**禁忌搜索算法)等等。

三、模糊综合评价法、层次分析法、聚类分析法、主成分分析评价法、
灰色综合评价法、人工神经网络评价法等等。

本文交代神经网络预测的主要方案:
1.神经网络预测,底层逻辑与评价模型中的主成分和聚类有异曲同工之妙,当遇到多个参数影响某一个参数,且难以用自然规则解释建模的时候,用来确定参数之间的联系,也与线性规划的底层逻辑相似,一通百通。

2.神经网络预测模型分为3各主要模块
1、条件神经节点
2、隐藏神经节点
3、结果神经节点

其中1、3可以从目标条件中获得,而2需要通过神经网络预测来进行判断其数量以及与1、3的关系。

一般来说,2的数量越多,那么结果就越精确,但随之而来的是计算复杂度更高。当遇到过于复杂的情况时,可以考虑采用遗传/模拟退火、确定2的空间

matlab中,我们一般对于2数量的定义为:
c=根号下(a+b)+常数,(1~10);取得c的区间后确定一个可信的值。

调用matlab工具箱:
举例:隐层和输出层激励函数分别为tansig和logsig函数, 网络训练函数为traingdx, 网络性能函数为mse,隐层神经元数初设为c求到的值。设定网络参数。网络迭代次数epochs为5000次, 期望误差goal为0.00000001, 学习速率lr为0. 01。

代码:
P=[3.2 3.2 3 3.2 3.2 3.4 3.2 3 3.2 3.2 3.2 3.9 3.1 3.2;
9.6 10.3 9 10.3 10.1 10 9.6 9 9.6 9.2 9.5 9 9.5 9.7;
3.45 3.75 3.5 3.65 3.5 3.4 3.55 3.5 3.55 3.5 3.4 3.1 3.6 3.45;
2.15 2.2 2.2 2.2 2 2.15 2.14 2.1 2.1 2.1 2.15 2 2.1 2.15;
140 120 140 150 80 130 130 100 130 140 115 80 90 130;
2.8 3.4 3.5 2.8 1.5 3.2 3.5 1.8 3.5 2.5 2.8 2.2 2.7 4.6;
11 10.9 11.4 10.8 11.3 11.5 11.8 11.3 11.8 11 11.9 13 11.1 10.85;
50 70 50 80 50 60 65 40 65 50 50 50 70 70];
?T=[2.24 2.33 2.24 2.32 2.2 2.27 2.2 2.26 2.2 2.24 2.24 2.2 2.2 2.35];
[p1,minp,maxp,t1,mint,maxt]=premnmx(P,T);
%创建网络
net=newff(minmax§,[8,6,1],{ ‘tansig’ , ‘tansig’ , ‘purelin’ }, ‘trainlm’ );
%设置训练次数
net.trainParam.epochs = 5000;
%设置收敛误差
net.trainParam.goal=0.0000001;
%训练网络
[net,tr]=train(net,p1,t1);
TRAINLM, Epoch 0/5000, MSE 0.533351/1e-007, Gradient 18.9079/1e-010
TRAINLM, Epoch 24/5000, MSE 8.81926e-008/1e-007, Gradient 0.0022922/1e-010
TRAINLM, Performance goal met.

%输入数据(模型跑好,现在是预测部分)
a=[3.0;9.3;3.3;2.05;100;2.8;11.2;50];
%将输入数据归一化
a=premnmx(a);
%放入到网络输出数据
b=sim(net,a);
%将得到的数据反归一化得到预测数据
c=postmnmx(b,mint,maxt);
c

参考原博主:https://blog.csdn.net/c_1996/article/details/72793827

参与评论 您还未登录,请先 登录 后发表或查看评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页

打赏作者

Caiersaru

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值