Matlab 版 (精华区)
发信人: seesea (马虎学究), 信区: Matlab
标 题: [合集]当神经网络输入样本较多时...急!
发信站: 哈工大紫丁香 (2002年10月29日01:02:49 星期二), 站内信件
────────────────────────────────────────
zhouxytj (yiyi) 于 Wed Nov 7 09:05:42 2001) 说道:
我不明白为什么当输入样本较多(如几百),神经网络训练好后,其输出虽然在样本点
吻合得很好,但用来预测就乱了。
按我的理解,神经网络模拟的本质上是一种插值,只不过它能
模拟很复杂的问题,并且不需要建立常规的数学模型。
程序中用的MATLAB函数是
net = newff([0 1;0 1],[6 1],{'tansig' 'purelin'},'trainlm','learngdm','ss
e');
敬请各位帮忙!!!
────────────────────────────────────────
Christy (诗意的信仰) 于 2001年11月07日12:44:58 星期三 说道:
It is a common problem.
As we know, in neural network training we usually divide data
into three groups, the purpose of each is traning, validation
and testing, respectively.
Similar to systems identification, there is a delimma, or say a
paradox, between the mean (representing the precision of the
parameters) and the variance (referrring to the predicting result
in next step). Therefore, if you use too many data for the training
procedure, the parameters you get will fit those data perfectly,
i. e., the mean of the error will be very small, but you may not get
a correct predicting result when you apply your network by using other
data.
In conclusion, it is suggested that you divide you data into three
groups, and train, validate and test your network step by step.
【 在 zhouxytj (yiyi) 的大作中提到: 】
:
: 我不明白为什么当输入样本较多(如几百),神经网络训练好后,其输出虽然在样本点
: 吻合得很好,但用来预测就乱了。
: 按我的理解,神经网络模拟的本质上是一种插值,只不过它能
: 模拟很复杂的问题,并且不需要建立常规的数学模型。
: 程序中用的MATLAB函数是
: net = newff([0 1;0 1],[6 1],{'tansig' 'purelin'},'trainlm','learngdm','ss
: e');
: 敬请各位帮忙!!!
:
:
────────────────────────────────────────
zhouxytj (yiyi) 于 Wed Nov 7 22:15:47 2001) 说道:
我想用神经网络预测作用在结构上的风力谱,已知结构上(如一平板)若干点的力谱及其
作用点的位置。我采用三输入(前两个表示作用点的位置,后一输入表示ω——频率)、
一输出(该频率对应的谱值)的网络结构。
在样本中实际上每一作用点上有一力谱(事先我把样本的力谱拟合成函数),即一个作用
点有几十个ω(沿横坐标),这样输入的样本就很多,导致神经网络
训练好后,虽然预测的某些点与检验数据吻合,但同时别的点又不吻合。顾此失彼!
这个问题可以认为是根据函数图形预测函数图形,我曾经想过把输入改为(作用点,图形
),其中把图形化归为拟合函数中四个参数,但因这四个参数对图形的影响相互耦合而没
有成功。
为此一筹莫展!
: : 模拟很复杂的问题,并且不需要建立常规的数学模型。
: : 程序中用的MATLAB函数是
: : net = newff([0 1;0 1],[6 1],{'tansig' 'purelin'},'trainlm','learng ..
: : e');
: : 敬请各位帮忙!!!
: :
: :
────────────────────────────────────────
Christy (诗意的信仰) 于 2001年11月08日07:59:56 星期四 说道:
绝对吻合是不可能的。你就不要追求过于精密的吻合,减少w点
试试看。比如把w点减少至1/3。
【 在 zhouxytj (yiyi) 的大作中提到: 】
: 我想用神经网络预测作用在结构上的风力谱,已知结构上(如一平板)若干点的力谱及其
: 作用点的位置。我采用三输入(前两个表示作用点的位置,后一输入表示ω——频率)、
: 一输出(该频率对应的谱值)的网络结构。
: 在样本中实际上每一作用点上有一力谱(事先我把样本的力谱拟合成函数),即一个作用
: 点有几十个ω(沿横坐标),这样输入的样本就很多,导致神经网络
: 训练好后,虽然预测的某些点与检验数据吻合,但同时别的点又不吻合。顾此失彼!
: 这个问题可以认为是根据函数图形预测函数图形,我曾经想过把输入改为(作用点,图形
: ),其中把图形化归为拟合函数中四个参数,但因这四个参数对图形的影响相互耦合而没
: 有成功。
: 为此一筹莫展!
:
────────────────────────────────────────
zhouxytj (yiyi) 于 Thu Nov 8 08:30:37 2001) 说道:
令人烦的是预测的某些点与检验数据吻合,但同时别的点又不吻合。“顾此失彼”!
频率点不能太少了。
谢谢!
────────────────────────────────────────
Christy (诗意的信仰) 于 2001年11月08日15:29:21 星期四 说道:
那很正常。预测的怎么能全部吻合呢?
让某一个指标最优就行了么。
【 在 zhouxytj (yiyi) 的大作中提到: 】
: 令人烦的是预测的某些点与检验数据吻合,但同时别的点又不吻合。“顾此失彼”!
:
: 频率点不能太少了。
: 谢谢!
────────────────────────────────────────
enzhe (enzhe) 于 Thu Nov 8 17:46:52 2001) 说道:
通常,人们在训练神经网时,最为苦恼的是没有足够的数据点。。。
既然数据点足够多。。。嗯 。。。
想提高预测能力,也就是想提高MODEL的GENERALIZABILITY。。。。即,一般化。。。
此时,不妨将训练数据集分成“TRAINING SET”和“VALIDATION SET”。。
在STOPPING RULE上 采用EARLY STOPPING等方法进行训练。。。
一般来说,MODEL的预测能力会有提高。。。
(当然,也可以试图将NETWORK STRUCTURE最优化进行训练,举例来说,应用GENETIC ALGO
RITHM等)
THEN, GOOD LUCK !
────────────────────────────────────────
Christy (诗意的信仰) 于 2001年11月08日18:08:06 星期四 说道:
Nod. That's what I told him.
【 在 enzhe (enzhe) 的大作中提到: 】
:
: 通常,人们在训练神经网时,最为苦恼的是没有足够的数据点。。。
:
: 既然数据点足够多。。。嗯 。。。
:
: 想提高预测能力,也就是想提高MODEL的GENERALIZABILITY。。。。即,一般化。。。
:
: 此时,不妨将训练数据集分成“TRAINING SET”和“VALIDATION SET”。。
:
: 在STOPPING RULE上 采用EARLY STOPPING等方法进行训练。。。
:
────────────────────────────────────────
zhouxytj (yiyi) 于 Fri Nov 9 10:53:37 2001) 说道:
请大概说说 STOPPING RULE中“EARLY STOPPING”的意思。
【 在 enzhe (enzhe) 的大作中提到: 】
:
: 通常,人们在训练神经网时,最为苦恼的是没有足够的数据点。。。
:
: 既然数据点足够多。。。嗯 。。。
:
: 想提高预测能力,也就是想提高MODEL的GENERALIZABILITY。。。。即,一般化。。 ..
:
: 此时,不妨将训练数据集分成“TRAINING SET”和“VALIDATION SET”。。
:
: 在STOPPING RULE上 采用EARLY STOPPING等方法进行训练。。。
:
: 一般来说,MODEL的预测能力会有提高。。。
:
: (当然,也可以试图将NETWORK STRUCTURE最优化进行训练,举例来说,应用GENETIC ..
: RITHM等)
:
: THEN, GOOD LUCK !
────────────────────────────────────────
enzhe (enzhe) 于 Fri Nov 9 14:14:36 2001) 说道:
首先試用“training set ”進行訓練,然后用“validation"进行证实。。。
虽然它们同出一个数据点集,但是,一般来说,VALIDATION SET 的错误率高于TRAINING
SET 的错误率
基本上,VALIDATION SET 证实的趋势是,错误率先下降,达到某一个最低点后,回复上升
。
此时,在错误率最低点STOP,然后在此选定MODEL!
GOOD LUCK !
=============================================================
罗罗嗦嗦说了一大堆,不知明白了没有。。。
欢迎发依妹儿到 enzhe@gong.snu.ac.kr 进行探讨。。。
这里无法图解说明。。。
────────────────────────────────────────
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:5.036毫秒