天行科技

matlab用bp神经网络进行数据预测

神经网络 2024-06-24 10:21:01 浏览:3608 分享
还可以输入1000字

全部回答(1)

最佳回答

在线等matlab的BP神经网络预测问题?关于神经网络归一化(matlab)
由于采集到的数据单位不一致,所以必须将数据归一化为[-1,1]。 归一化方法主要有以下几种:(byjames)<.br/>1.转换线性函数,表达式如下:
y=(x-MinValue)/(MaxValue-MinValue)
说明:x和y分别为转换前的值,MaxValue和MinValue为分别为样本的最大值和最小值。
2.转换对数函数,表达式如下:
y=log10(x)
说明:将对数函数转换为以10为底。
3.转换反余切函数,表达式如下:
y=atan(x)*2/PI
归一化是为了提高训练网络的收敛速度,需要非归一化。 归一化处理
归一化的具体作用是总结均匀样本的统计分布。 0-1之间的归一化是统计概率分布,-1--+1之间的归一化是统计坐标分布。 正常化意味着认同、团结和统一。 无论是用于建模还是计算,首先基本计量单位必须相同。 神经网络根据事件中样本的统计概率进行训练(计算概率)和预测。 0-1统计概率分布;
当所有样本的输入信号均为正时,连接到第一隐藏层神经元的权重只能同时增加或减少,导致学习速度非常慢。 。 为了避免这种情况并提高网络学习速度,可以对输入信号进行归一化,使得所有样本的输入信号的平均值接近0或与其均方误差相比非常小。
归一化是由于sigmoid函数的值在0到1之间,网络最后一个节点的输出也是如此,所以样本的输出往往需要进行归一化。 所以在对这个问题进行分类时最好使用[0.90.10.1]而不是[100]。
但是,归一化并不总是合适,具体取决于输出值的分布,其他统计变换方法(例如归一化)有时可能更好。
使用pre mnmx命令进行归一化的介绍:
pre mnmx命令的语法格式为:[Pn,minp,maxp,Tn,mint,maxt]=pre mnmx(P,T)
其中P、T分别是初始输入和输出数据,minp和maxp分别是P中的最小值和最大值mint和maxt分别是T的最小值和最大值。
pre mnmx函数用于对网络的输入数据或输出数据进行归一化。 标准化数据将分布在区间[-1,1]内。
如果我们在训练网络时使用归一化的样本数据,那么将来使用网络时使用的新数据也必须经过与tramnmx桥所需的样本数据相同的预处理。
下面介绍tramnmx函数:
[Pn]=tramnmx(P,minp,maxp)
其中P和Pn分别是转换前后的输入数据,maxp和minp是相应的pre mnmx函数。 找出最大值和最小值。
(byterry2008)
matlab中有三种归一化处理方法
1.pre mnmx、postmnmx、tramnmx
2.restd、poststd、trastd
3.
具体使用方法取决于你的具体问题
(byhappy)
pm=max(abs(p(i,:)));p(i,:)=p(i,:)/pm;

fori=1:27
p(i,:)=(p(i,:)-min(p(i,:)))/(max(p(i,:))-min(p(i,:)));
end可以标准化为01
0.1+(x-min)/(max-min)*(0.9-0.1)其中max和min分别是样本的最大值和最小值。
这可以标准化为0.1-0.9

2