matlab的BP神经网络预测问题!!!急求高手帮忙!还有阈值如何设定?

作者&投稿:濯软 (若有异议请与网页底部的电邮联系)
急!急!求大神帮忙看看我的MatlabBP神经网络performance输出的问题~

Mu是trainlm算法中的一个参数,这个算法会自动控制,当mu太大时训练会自动停止。
训练结束时因为误差曲面的梯度gradient达到了预设值,已经进入平坦面。

之所以6次迭代就收敛,是因为你的神经网络结构有问题。你的网络输入输出都是单节点,可以说是一对一映射,可隐层却有三层之多,隐层神经元数量又高达50,在样本数量有限的情况下,很容易就能收敛。

措施:
精简网络结构;
将gradient再设小点,不过效果不大。

不难,留下联系方式吧。

clear all;
clc;

P=[9.9 9.9 41.3 51.79 1.35 1.57;
9.9 9.9 40.7 50.82 1.44 1.63;
9.8 9.8 40.2 50.86 1.49 1.78;
9.7 9.8 39.7 49.37 1.52 1.82;
9.7 9.7 39.4 49.12 1.55 1.93;
9.6 9.6 38.9 49.09 1.57 2.11;
9.5 9.6 38.7 48.26 1.59 2.26;
9.4 9.5 38.4 48 1.62 2.33;
9.4 9.4 38 47.93 1.65 2.49;
9.3 9.2 37.7 47.86 1.7 2.73;
9.2 9.2 37.5 47.25 1.74 2.95;
9.2 9.1 37.2 47.03 1.77 3.16];
%9.1 9 37 46.69 1.81 3.33;
%9 8.9 36.8 46.37 1.83 3.47;
%8.9 8.9 36.6 45.98 1.85 3.65];

T=[42.29 129.80 235.85 344.97 477.43 591.66 684.79 741.69 831.74 923.27 997.14 1093.50];
%1192.34 1291.86 1389.63];
m=max(max(P));
n=min(min(P));
P=((P'-n)/(m-n));
pr(1:6,1)=0;
pr(1:6,2)=1;
bpnet=newff(pr,[5 1],{'tansig', 'purelin'}, 'traingdx', 'learngdm');
bpnet=train(bpnet,P,T);

p=[9.1 9 37 46.69 1.81 3.33;
9 8.9 36.8 46.37 1.83 3.47;
8.9 8.9 36.6 45.98 1.85 3.65];

p=((p'-n)/(m-m));

r=sim(bpnet,p);

display(r);

数据有问题或者太少,不收敛。

建网络时就不对 [10,1], 你看你的p不是9列吗? 把10改成9
柳州电脑网
dmatlab的BP神经网络预测问题!!!急求高手帮忙!还有阈值如何设定?


关于matlab中的 newff, bp神经网络
是的,需要归一化等预处理操作,有函数可以做,比如:[Y,PS] = mapminmax(X)[Y,PS] = mapminmax(X,FP)Y = mapminmax('apply',X,PS)X = mapminmax('reverse',Y,PS)

用MATLAB的BP神经网络时间序列预测编程
示例程序见附件,其为一个简单的时间序列预测算例。其实所有的预测问题,本质都是一样的,通过对样本的学习,将网络训练成一个能反映时间序列内部非线性规律的系统,最终应用于预测。BP(Back Propagation)神经网络是86年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈...

matlab BP神经网络 performance 图这五条线的详细解释
图上的三个彩色实线分别是:每一代BP训练过程的MSE指标的性能,每一代BP交叉验证过程的MSE指标的性能以及BP测试的MSE指标在每一代中执行的过程。 特别是,应该注意内部的TEST红线,这是BP计算\/训练结果。BEST虚线表示当BP网络被训练到第八代时,BP训练结果是最佳的。GOAL虚线是在编程或直接使用MATLAB的...

matlab的遗传算法优化BP神经网络
对y=x1^2+x2^2非线性系统进行建模,用1500组数据对网络进行构建网络,500组数据测试网络。由于BP神经网络初始神经元之间的权值和阈值一般随机选择,因此容易陷入局部最小值。本方法使用遗传算法优化初始神经元之间的权值和阈值,并对比使用遗传算法前后的效果。步骤:未经遗传算法优化的BP神经网络建模 1、 ...

bp神经网络matlab实现时,newff函数中的网络各层神经元的激活函数怎么选...
由于各个网络层的作用的不同,选择的激活函数的不同结果将会有恒大的区别\\x0d\\x0a所以要注意\\x0d\\x0a输出层一般采用\\x0d\\x0alogsig purelin\\x0d\\x0a隐含层采用\\x0d\\x0atansig logsig\\x0d\\x0a同时要注意设置其他属性如最小梯度min_grad\\x0d\\x0a等等 ...

用MATLAB建立bp神经网络模型,求高手,在线等
Matlab神经网络工具箱提供了一系列用于建立和训练bp神经网络模型的函数命令,很难一时讲全。下面仅以一个例子列举部分函数的部分用法。更多的函数和用法请仔细查阅Neural Network Toolbox的帮助文档。例子:利用bp神经网络模型建立z=sin(x+y)的模型并检验效果 第1步。随机生成200个采样点用于训练 x=...

Matlabbp神经网络预测出来的数据有时候会连续错误,有时候连续正确,要怎 ...
Matlab BP神经网络预测出现您这情况,可能有是数据本身问题或训练参数不够合理的原因,可从从上述两个原因去改进。

matlab中BP神经网络如何设置初始权重?
w1 = gbest(1:input_num * hidden_num);B1 = gbest(input_num * hidden_num + 1:input_num * hidden_num + hidden_num);w2 = gbest(input_num * hidden_num + hidden_num + 1:input_num * hidden_num...+ hidden_num + hidden_num * output_num);B2 = gbest(input_num * ...

如何用matlab编写多输入单输出BP神经网络
net=newff(input,output,3,{'tansig','purelin'},'trainlm');其中input为nXm矩阵,只要行数大于一就是多输入 output为1XK矩阵,1行K列。

MATLAB的BP神经网络中记录迭代次数的mse值的变量是什么
mse是均方误差(Mean Squared Error, MSE)是衡量“平均误差”的一种较方便的方法,可以评价数据的变化程度。在MATLAB神经网络里,它是衡量神经网络(BP一样)在每一代的训练表现情况,MSE越小说明BP训练计算的越准确,结果越理想。采纳我把,有问题继续问我 ...

阿瓦提县15925376626: 编写matlab的bp神经网络用于预测 -
厨人征愈伤: 直接用神经网络工具箱里面的函数做: d = [ 1 0.31 0.27 0.41 0.2 0.6 0.21 2 0.31 0.27 0.41 0.2 0.7 0.19 3 0.31 0.27 0.41 0.2 0.8 0.17 4 0.31 0.39 0.63 0.5 0.6 0.62 5 0.31 0.39 0.63 0.5 0.7 0.63 6 0.31 0.39 0.63 0.5 0.8 0.65 7 0.31 0.51 0.85 0.8 0.6 ...

阿瓦提县15925376626: 用Matlab编程BP神经网络进行预测 -
厨人征愈伤: 原理就是:建立网络-数据归一化-训练-预测-数据反归一化.附件是电力负荷预测的例子,可以参考.BP(Back Propagation)神经网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一.BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程.它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小.BP神经网络模型拓扑结构包括输入层(input)、隐层(hidden layer)和输出层(output layer).

阿瓦提县15925376626: 用MATLAB的BP神经网络时间序列预测编程 -
厨人征愈伤: 示例程序见附件,其为一个简单的时间序列预测算例.其实所有的预测问题,本质都是一样的,通过对样本的学习,将网络训练成一个能反映时间序列内部非线性规律的系统,最终应用于预测.BP(Back Propagation)神经网络是86年由...

阿瓦提县15925376626: 求高手帮忙!matlab的BP神经网络预测问题!!! -
厨人征愈伤: % 生成训练样本集 clear all; clc; P=[110 0.807 240 0.2 15 1 18 2 1.5; 110 2.865 240 0.1 15 2 12 1 2; 110 2.59 240 0.1 12 4 24 1 1.5; 220 0.6 240 0.3 12 3 18 2 1; 220 3 240 0.3 25 3 21 1 1.5; 110 1.562 240 0.3 15 3 18 1 1.5; 110 0.547 240 0.3 15 1...

阿瓦提县15925376626: 神经网络 预测问题 matlab工具箱 -
厨人征愈伤: 1 ,BP算法可以做预测,但是BP算法较老,现在应用很少了2 建议用matlab的工具箱 因为你也不想深入的了解BP网络3 可能是数据归一问题,也可能是BP网路偶的参数设置问题,BP网络的参数设置对使用人的个人经验要求很高,不懂可以留下联系方式 进一步交流

阿瓦提县15925376626: 用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....

阿瓦提县15925376626: 基于时间序列matlab的BP神经网络预测
厨人征愈伤: 楼上的程序是对的,但是你只有输出数据,输入数据是什么呢? 难道是时间,年限和输出数据之间没关系吧.所以你的原始数据条件不够 net=newff(minmax(P)【7,1],{'tansig','logsig'},'traingdx'); newff为建立一个BP神经网络,minmax(P为输入数据...

阿瓦提县15925376626: matlab程序 BP神经网络预测 程序如下: -
厨人征愈伤: P=[...];输入T=[...];输出% 创建一个新的前向神经网络 net_1=newff(minmax(P),[10,1],,'traingdm')% 当前输入层权值和阈值 inputWeights=net_1.IW inputbias=net_1.b% 当前网络层权值和阈值 layerWeights=net_1.LW layerbias=net_1.b 应该没问题吧.

阿瓦提县15925376626: 用MATLAB做bp神经网络的预测,训练的挺好.但是预测误差很大,是什么原因,怎么解决啊 -
厨人征愈伤: 可能两个原因:1.可能是输入变量选择的问题,输入变量不能完全反应对象的特性.2.训练样本不够

阿瓦提县15925376626: 用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]...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网