按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
不知道对不对?
25。那样本数据测试数据预测数据期望数据要一起进行归一化吗?
26。我所知道的关于归一化:
归一化化定义:我是这样认为的,归一化化就是要把你需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内。首先归一化是为了后面数据处理的方便,其次是保正程序运行时收敛加快。
在matlab里面,用于归一化的方法共有三中,(1)premnmx、postmnmx、tramnmx(2)prestd、poststd、trastd(3)是用matlab语言自己编程。premnmx指的是归一到'-1 1';prestd归一到单位方差和零均值。(3)关于自己编程一般是归一到'0。1 0。9' 。具体用法见下面实例。
为什么要用归一化?
为什么要用归一化呢?首先先说一个概念,叫做奇异样本数据,所谓奇异样本数据数据指的是相对于
其他输入样本特别大或特别小的样本矢量。
下面举例:
m='0。11 0。15 0。32 0。45 30;
0。13 0。24 0。27 0。25 45';
其中的第五列数据相对于其他4列数据就可以成为奇异样本数据(下面所说的网络均值bp)。奇异样本数据存在所引起的网络训练时间增加,并可能引起网络无法收敛,所以对于训练样本存在奇异样本数据的数据集在训练之前,最好先进形归一化,若不存在奇异样本数据,则不需要事先归一化。
具体举例:
程序说明:所用样本数据(见m_data)包括输入和输出数据,都先进行归一化,还有一个问题就是你要进行预测的样本数据(见本例p2)在进行仿真前,必须要用tramnmx函数进行事先归一化处理,然后才能用于预测,最后的仿真结果要用postmnmx进行反归一,这时的输出数据才是您所需要的预测结果。
个人认为:tansig、purelin、logsig是网络结构的传递函数,本身和归一化没什么直接关系,归一化只是一种数据预处理方法。
你好;我用了你的归一化方法;但当p2数据取比这些数大很多的值时,好像就不行了,出现了这样的问题,是不是数值超出了最大值的原因?我用的是GRNN网络
Warning: Divide by zero。
》 In normprod at 73
In calca at 119
In network。sim at 204
In xgi at 60
a2=postmnmx(a2n;mint;maxt)
a2 =
Columns 1 through 9
1602 1602 NaN NaN NaN NaN NaN NaN NaN
Column 10
NaN
29。而且预测值受样本期望输出的最大值限制,
30。这个问题我提出来很多天了,为什么没有人表示意见呢,是这个问题本身就是神经网络的BUG,还是,我走的路偏了,对神经网络本质误解所致,大家多多指教阿,我在这等很久了呀!
非常不好意思,请教一问题:
31。利用归一化后的数据建了BP网络,但最后预测值在反归一化前却超出了'…1;+1',不知问题出在哪?
32。小波神经网络对于时间序列预测在文献上报道得神乎其神,据称预测精度相对偏差平均达5%以下。鄙人尝试后认为,小波神经网络只是加快了收敛速度,而预测精度决定于问题本身,很多数据预测结果并不能达到以上效果。欢迎各位仁兄讨论改进方法。
33。有个问题:归一化的时候我认为应该考虑数据的物理含义
34。为什么我的简单的归一化程序总是错的?谢各位大虾指点
p='1520 510 5。155 33。88;1468 521 5。321 35。79;
。。。。。。。共5行'';
t='0。7 1。9;0。6 1。798;。。。。。共10行'';
for i=1:4
P(i;: )=(p(i;: )…min(p(i;: )))/(max(p(i;: ))…min(p(i;: )));就是这行总说有错;到底是程序错还是软件不好??
end
此程序出自;第269页;类似的归一化在我机子里都说不对;急死了;等毕业呢。
35。不要用这个归一化啊,换函数premnmx试试
36。为什么要归一化?
神经网络输入的一维代表一个特征,当神经网络的输入是多维时,要识别的模式有多个特征,当这多个特征的数据相差很大,如几个数量级时,就需要归一化,变成相同数量级,以防某些数值低的特征被淹没。