① 请问:如何用人工神经网络来进行预测
用第1月到第25月的输入数据,和第1月到第25月的输出数据作为网络的训练数据,然后将你第26月的对应的输入作为网络的输入,就可以得出第26月的输出。
你可以在网上下个别人使用过的神经网络的模板或工具箱,修改成自己需要的就是了。
② 神经网络训练好怎么预测
调用网络预测函数a=sim(net,p)
net是通过train函数训练样本集得到的最优网络,p为预测数据集,a就是想要的预测值
③ 如何建立bp神经网络预测 模型
建立BP神经网络预测 模型,可按下列步骤进行:
1、提供原始数据
2、训练数据预测数据提取及归一化
3、BP网络训练
4、BP网络预测
5、结果分析
现用一个实际的例子,来预测2015年和2016年某地区的人口数。
已知2009年——2014年某地区人口数分别为3583、4150、5062、4628、5270、5340万人
执行BP_main程序,得到
[ 2015, 5128.631704710423946380615234375]
[ 2016, 5100.5797325642779469490051269531]
代码及图形如下。
④ bp神经网络如何用于预测
关键在于输入向量的制定:可选择前3年的数据作为输入,输入节点设为3;第4年的数据为输出,输出节点数设
⑤ 如何利用训练好的神经网络进行预测
可以用MATLAB神经网络工具箱,先提取样本,用mapminmax函数归一化,再newff函数建立网络,设置好训练参数后,使用train
⑥ 三体问题真的无解吗
无解
三体问题(three-body problem)是天体力学中的基本力学模型。它是指三个质量、初始位置和初始速度都是任意的可视为质点的天体,在相互之间只有万有引力的作用下如何预测其运动规律。现已知三体问题不能精确求解,即无法预测所有三体问题的数学情景,只有几种特殊情况已研究。
采用穷举法的Brutus程序计算较为迟缓,需要对天体轨迹的每一小步进行运算。神经网络仅需要分析由这些计算产生的运动轨迹、并从中归纳出相应规律,借此预测系统未来的演变结果。这套神经网络系统若能正常运作,得出答案的速度将达到前所未有的水平。对于“引力波如何形成”等更为深层的问题研究就可提上日程了。
这套算法目前处于概念验证阶段,它目前只能按规定时长运行,无法提前预知某个情境需要多久才能完成演化。对于规模更大、更复杂的预测,需要Brutus生成大量数据后“神经网络”进行深度学习,耗时长,费用高昂是该系统的拦路虎。
目前研究团队预计将Brutus程序与“神经网络”融合使用,神经网络仅负责复杂计算的模拟部分。AI应用在天体的运行问题中已逐渐可行,将来会在天文学科中发挥更重要的作用。
⑦ 采用什么手段使神经网络预测更加准确
优化神经网络结构。如BP神经网络改变隐层神经元数量、训练算法等;
使用其他神经网络。如Elman神经网络考虑了前一时刻的输出,比较适合用于预测,预测效果往往更好。RBF神经网络的训练速度很快,训练效果也很好。
改进的神经网络算法。例如BP神经网络增加动量项、自适应学习率等措施,防止陷入局部极小影响预测效果。
组合神经网络。取长补短,将全局搜索能力强的算法与局部逼近快的算法组合起来,如遗传算法优化初始权值,再训练。这种方法比较灵活,可以和许多算法融合。
全面考虑影响因素。未来的预测值受许多因素影响,所以应该在基于历史数据的基础上,充分考虑各种因素,考虑得越周全,预知信息越多,预测效果一般更好。
⑧ 如何用BP神经网络实现预测
首先要知道你建立的这个模型的内部逻辑关系。。
1,确定隐层数,画出简要模型图。
2,确定采用什么样的神经网络来建立模型
3.通过测试数据来训练模型。。
4.根据测试训练得到的数据和实际数据进行比对,或者算出误差。从而修改隐层中的权值和阀值。
反复重复3-4.。最后得到一个最优的模型。
大致是这样。。。楼主说的太概略。。。无法回答清楚请抱歉
⑨ 深入理解BP神经网络
BP神经网络是一种多层的前馈神经网络,其主要的特点是:信号是前向传播的,而误差是反向传播的。具体来说,对于如下的只含一个隐层的神经网络模型:
BP神经网络的过程主要分为两个阶段,第一阶段是信号的前向传播,从输入层经过隐含层,最后到达输出层;第二阶段是误差的反向传播,从输出层到隐含层,最后到输入层,依次调节隐含层到输出层的权重和偏置,输入层到隐含层的权重和偏置。
神经网络的基本组成单元是神经元。神经元的通用模型如图所示,其中常用的激活函数有阈值函数、sigmoid函数和双曲正切函数。
神经元的输出为:
神经网络是将多个神经元按一定规则联结在一起而形成的网络,如图 所示。
从图 可以看出,一个神经网络包括输入层、隐含层(中间层)和输出层。输入层神经元个数与输入数据的维数相同,输出层神经元个数与需要拟合的数据个数相同,隐含层神经元个数与层数就需要设计者自己根据一些规则和目标来设定。在深度学习出现之前,隐含层的层数通常为一层,即通常使用的神经网络是3层网络。
BP网络采用的传递函数是非线性变换函数——Sigmoid函数(又称S函数)。其特点是函数本身及其导数都是连续的,因而在处理上十分方便。为什么要选择这个函数,等下在介绍BP网络的学习算法的时候会进行进一步的介绍。S函数有单极性S型函数和双极性S型函数两种,单极性S型函数定义如下:f(x)=1/1+e−x
其函数曲线如图所示:
双极性S型函数:f(x)=1−e−x/1+e−x
使用S型激活函数时,输入:
输出:
输出的导数:
使用S型激活函数时,BP网络的输出及其导数图形:
根据S激活函数的图形:
net在 -5~0 的时候导数的值为正,且导数的值逐渐增大, 说明此时f(x)在逐渐变大 且 变大的速度越来越快
net在 0~5 的时候导数的值为正,且导数的值逐渐减小, 说明此时f(x)在逐渐变大 但是 变大的速度越来越慢
对神经网络进行训练,我们应该尽量将net的值尽量控制在收敛比较快的范围内。
1. 定义一个BP神经网络的类,设置网络相关参数
2. 实例化该神经网络,按下图被构建成一个输出3维,输出1维,带有3个隐藏层(每个隐藏层10个节点)的BP网络;(此处还可以随意扩展输入、输出维度和隐藏层相关系数)
3. 初始化BP神经网络的时候,开始初始化各层网络节点的 权重、权重动量、误差初始值
4. 引入学习训练数据;4组输入、输出数据迭代5000次
5000次中不断向前逐层计算输出的节点数据
并同时逐层计算误差反向修改权重值,直到迭代完毕;注意误差函数值必须呈现下降趋势
5. 引入数据进行结果预测,将数据带回模型计算得结果;最终可知预测结果趋近于0.7
神经网络利用现有的数据找出输入与输出之间得权值关系(近似),然后利用这样的权值关系进行仿真,例如输入一组数据仿真出输出结果,当然你的输入要和训练时采用的数据集在一个范畴之内。例如预报天气:温度 湿度 气压等作为输入 天气情况作为输出利用历史得输入输出关系训练出神经网络,然后利用这样的神经网络输入今天的温度 湿度 气压等 得出即将得天气情况。同理,运用到自动化测试中,使用测试数据反映结果走向,bug数,质量问题等情况也可以做到提前预测的!
附录:
⑩ 如何用神经网络进行时间序列预测
神经网络是可以用来预测时间序列。例如神经网络人口预测。已知1990至2009年的某地区人口数[11 28 30 42 44 56 49 60 50 63 56 74 76 65 92 105 124 117 132 128]。预测2010-2016年的某地区人口数。
具体实施过程:
%已知数据
t=1990:2009;
x=[11 28 30 42 44 56 49 60 50 63 56 74 76 65 92 105 124 117 132 128];
% 自回归阶数
lag=3;
%预测步数为fn
fn=length(t);
%输出数据
[f_out,iinput]=BP(x,lag,fn); %BP()神经网络预测函数
[x' iinput']
R2=corrcoef(x,iinput)
%预测年份或某一时间段
%t1=2015:2016;
t1=length(x)+1:length(x)+7;
%预测步数为fn
fn=length(t1);
[f_out,iinput]=BP(x,lag,fn);
P=vpa(f_out,5);
%预测数据
t1=2010:2016;
[t1' P']
% 画出预测图
figure(6),plot(t,x,'b*-'),hold on
plot(t(end):t1(end),[iinput(end),f_out],'rp-'),grid on
title('BP神经网络预测某地区人口数')
xlabel('年份'),ylabel('人口数');
legend('2009-2014年人口变化数','2014-2016年人口预测数');