用matlab编BP神经网络预测代码

2024-05-04 15:03

1. 用matlab编BP神经网络预测代码

matlab编写BP神经网络很方便的,这个工作不用像编程序的C什么的那样还要编写算法
这个算法早已经在软件的库里提供了。你只要用一条语句就出来了。把参数,深度和节点固定的往里一代数就可以了。
还有一点,注意最后结果的收敛性,神经网络发展一直是曲折前进的,为什么这样,现在不太给力,因为面临着一个收敛的问题,实现起来效果不好。这些程序网上有很多,你借一本基本的神经网络的书里面也有。望采纳。

用matlab编BP神经网络预测代码

2. 求一个BP神经网络matlab代码,可以用几组数据预测一组数据

附件是一个电力系统负荷预测的BP神经网络预测案例,所有数据都已经归一化,可以直接运行。

BP(Back Propagation)神经网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hidden layer)和输出层(output layer)。

3. 用matlab编BP神经网络程序预测

有呀,不过不知道你要干什么。
如果你的matlab版本较高,参看
http://zhidao.baidu.com/question/1766854136911164980
如果比较低,就看
clear;
clc;
X=-1:0.1:1;
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];
figure;
plot(X,D,'*'); %绘制原始数据分布图(附录:1-1)
net = newff([-1 1],[5 1],{'tansig','purelin'});
%[-1,1]为输入样本最小最大值,[5 1]为各层的神经元个数(这里是一个两层的神经网络)
%{'tansig','purelin'}为各层的神经元传递函数
net.trainParam.epochs = 100; %训练的最大次数
net.trainParam.goal = 0.005; %全局最小误差
net = train(net,X,D); %开始训练
O = sim(net,X);       %使用训练的网络
figure; 
plot(X,D,'*',X,O); %绘制训练后得到的结果和误差曲线(附录:1-2、1-3)
V = net.iw{1,1}%输入层到中间层权值
theta1 = net.b{1}%中间层各神经元阈值
W = net.lw{2,1}%中间层到输出层权值
theta2 = net.b{2}%输出层各神经元阈值

用matlab编BP神经网络程序预测

4. 用Matlab编程BP神经网络进行预测

原理就是:建立网络-数据归一化-训练-预测-数据反归一化。附件是电力负荷预测的例子,可以参考。

BP(Back Propagation)神经网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hidden layer)和输出层(output layer)。

5. 用MATLAB的BP神经网络时间序列预测编程

示例程序见附件,其为一个简单的时间序列预测算例。其实所有的预测问题,本质都是一样的,通过对样本的学习,将网络训练成一个能反映时间序列内部非线性规律的系统,最终应用于预测。

BP(Back Propagation)神经网络是86年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hidden layer)和输出层(output layer)。

用MATLAB的BP神经网络时间序列预测编程

6. 求大神帮忙用matlab程序做BP神经网络预测

1、样本数据太少,用BP网络预测可能并非好选择。说不定用一般的回归分析效果更好。
2、要对Y进行预测,需要知道2015年的影响因素X1~X7才行吧?
 
BP神经网络的参考程序:
data = [ ...    2009 2102.13 108.69 1104.99 888.45 700.6 64.28 8204.5 17502.1    2010 2701.61 132.74 1456.64 1121.64 839.02 99.58 9100 20760.52    2011 3636.62 208.22 2002.1 1426.29 1111.12 123.09 10086.88 29286.8    2012 4164.32 229.05 2303.9 1631.37 1293.62 176.42 12005.115 33720.1    2013 4672.91 247.21 2583.75 1841.95 1480.84 181.9 13136.77 39131    2014 5157.97 257.63 2872.01 2028.33 1666.75 200.87 15110 42194    ];year = data(:,1);p = data(:,2:8).';t = data(:,9).';net = newff(p,t,10);net = train(net,p,t);y1 = sim(net,p(:,end))由于没有2015年的X1~X7数据,最后一句用2014年的数据进行测试。
 
如果用多元线性回归:
c=regress(t',p')y2=c'*p(:,end)由于样本数量太少(少于影响因素的数量),这种情况下,实际上回归的结果可以几乎没有误差(只有数值误差)。当然,用于预测是否准确要另当别论。

7. 求MATLAB的BP神经网络预测程序

%由于数据比较大,我又懒得用归一化,所以直接把数据降了3个数量级,
%不过我觉得应该没问题,但用归一化结果应该更准确些。。
%由于初始权值和阀值均是随机给的,所以每次仿真都有点点不同,这是正常的。
p=[1183 1303 1278;1303 1278 1284;1278 1284 1187 ;...
    1284 1187 1154;1187 1154 1267;1154 1267 1241;...
    1267 1241 1302;1241 1302 1195;1302 1195 1256]'*0.001;
t=[ 1284 1187 1154 1267 1241 1302 1195 1256 1348]*0.001;
net=newff(minmax(p),[3,1],{'tansig','purelin'},'traingda');
net.trainParam.goal=0.001;
net.trainParam.show=20;
net.trainParam.epochs=1000;
net.trainParam.min_grad=1e-10;
net.trainParam.mc=0.95;
[net,tr]=train(net,p,t);
t1=sim(net,[1302 1195 1256]'*0.001);
t2013=t1*1000%2013 的 预测 数据
运行结果:
t2013 =
       1301.9

求MATLAB的BP神经网络预测程序

8. 用matlab中bp神经网络实现由输入值预测输出值的程序

给你个例子如下,
net=newff(inputn,outputn,[8,4],{'tansig','purelin'},'trainscg');%初始化网络结构
%网络参数配置(迭代次数、学习率、目标)
net.trainParam.epochs=3000;
net.trainParam.lr=0.08;
net.trainParam.goal=0.05;
net.divideFcn = '';
[net,tr]=train(net,inputn,outputn);%网络训练
%网络预测输出
an=sim(net,inputn_test);
 
不过只了解输入预测输出,这些还不够,还要看你的输入数据的量,来确定隐含层,还需要看数据是不是归一化,我专门做神经网络的预测工作,可否加QQ探讨一下?