24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1009  |  回复: 14
当前主题已经存档。

yujunhui

银虫 (著名写手)

[交流] 【讨论】遗传算法优化神经网络误差问题?

遗传算法优化神经网络误差 的 误差 与  神经网络的误差  很接近(甚至有的比神经网络的误差大 )
这是什么原因?
请高手指点?
回复此楼
安静
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

nono2009

超级版主 (文学泰斗)

No gains, no pains.

优秀区长优秀区长优秀区长优秀区长优秀版主

★ ★ ★
yujunhui(金币+2,VIP+0):有道理,谢谢你 ! 11-4 14:36
kuhailangyu(金币+1,VIP+0):nono辛苦了,呵呵 11-4 18:56
遗传算法优化神经网络只是在概率上有更大可能获得全局最优,这种获得全局最优的概率与初始种群数、交叉变异操作、遗传代数等等都有关系。所以,从另一方面讲,在概率上,遗传算法也可能得不到全局最优解、或得到的是近似最优解。

如果神经网络结构比较简单的话,我的经验是matlab NN toolbox的某些算法给出的训练误差可能更好。在取随机初值的情况下,反复多run上N次,获得全局最优的概率也是不小的。
2楼2009-11-04 12:18:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

yujunhui

银虫 (著名写手)

还有其他的原因吗 ?
安静
3楼2009-11-04 22:52:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

728728

木虫 (正式写手)

★ ★
nono2009(金币+1,VIP+0):谢谢交流!欢迎常来。 11-5 06:31
yujunhui(金币+1,VIP+0):谢谢! 11-5 08:49
描述的不太清楚。
不知道你优化的目标函数是什么?你说的误差指训练误差还是泛化误差?
如果你优化目标是训练误差的话,那优化后泛化误差变大是很可能的事。
这时候必然是过学习了,高频误差的影响显著。
4楼2009-11-05 03:05:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yujunhui

银虫 (著名写手)

引用回帖:
Originally posted by 728728 at 2009-11-5 03:05:
描述的不太清楚。
不知道你优化的目标函数是什么?你说的误差指训练误差还是泛化误差?
如果你优化目标是训练误差的话,那优化后泛化误差变大是很可能的事。
这时候必然是过学习了,高频误差的影响显著。

我说的误差是  是 网络建立好之后  
我用网络去 模拟实验数据, 模拟值 与实验结果 相差很大!

我现在如何减少这些误差!
安静
5楼2009-11-05 08:51:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nono2009

超级版主 (文学泰斗)

No gains, no pains.

优秀区长优秀区长优秀区长优秀区长优秀版主

★ ★ ★ ★ ★ ★ ★
kuhailangyu(金币+2,VIP+0):感谢nono版主的指导! 11-5 09:49
yujunhui(金币+5,VIP+0): 11-5 14:42
这是我以前与另一虫虫的交流记录,希望可以对你使用NN有些帮助。
引用回帖:
我的经验是:
1.训练样本尽可能充足。数据点不够的话,不推荐用NN。
2.网络结构尽可能简单。Hidden layer一般推荐只用1层。
3.做NN要尽可能的based on physics,将physics体现在inputs/outputs和transfer functions的选择上.
4.Trained NN给出的结果不仅要fit已知的数据点,而且predicted的趋势线也要与你研究的physics一致,只看程序给出的各种statistical data很可能“受骗”的。
如果能很好地做好上述几点,可以mitigate over-fitting risks.

6楼2009-11-05 09:30:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

728728

木虫 (正式写手)

★ ★ ★ ★ ★
yujunhui(金币+2,VIP+0): 11-5 16:22
wuguocheng(金币+3,VIP+0): 有道理 11-5 16:25
引用回帖:
Originally posted by yujunhui at 2009-11-5 08:51:



我说的误差是  是 网络建立好之后  
我用网络去 模拟实验数据, 模拟值 与实验结果 相差很大!

我现在如何减少这些误差!

那就跟我理解的是一样的。原因就是优化导致过学习。
降低泛化误差是神经网络研究的重点。楼上的nono给出了设计网络的基本原则,但在优化过程中1,3条是适用的,2,4条是不适用的。
2、优化结构的时候,网格结构是自变量,要满足物理问题、训练样本数目和网络结构的相容性,即网络要有一定的复杂度(隐含层数和隐含节点数)去反映物理问题,而又要在训练样本数目一定的情况下保持最简原则,这一矛盾构成了优化问题的约束条件。而关键是缺乏有效的检验准则。现在普遍采用的权宜的办法是交叉验证,你可以试试。
4、趋势线是否与你的physics一致,取决于你训练样本点的分布情况。这只是泛化误差中低频部分。而你的问题是过学习,训练点虽然是精确的,但在训练点周围变化剧烈,导致泛化误差增大。当然,也可能趋势线不一致,这时要改进你的训练样本的分布。

虽然用过神经网络和遗传算法,但不是这个专业,研究的不深,个人观点,供大家参考讨论。
7楼2009-11-05 16:18:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nono2009

超级版主 (文学泰斗)

No gains, no pains.

优秀区长优秀区长优秀区长优秀区长优秀版主

★ ★
kuhailangyu(金币+2,VIP+0):楼主要求给你们加两个金币,呵呵 11-5 19:11
引用回帖:
Originally posted by 728728 at 2009-11-5 16:18:


那就跟我理解的是一样的。原因就是优化导致过学习。
降低泛化误差是神经网络研究的重点。楼上的nono给出了设计网络的基本原则,但在优化过程中1,3条是适用的,2,4条是不适用的。
2、优化结构的时候,网格 ...

说得很对。过学习的问题一般都是由于样本过少或分布不好或uncertainty太高、而神经网络的权值(即可优化的变量)太多造成的。这个在原理上其实跟简单的多项式回归是很类似的。

我不知道matlab是否已经有了优化NN结构的功能。我的理解是这是NN理论中的难点之一。工程上多数用的还是trial-and-error的人工方法。这在一般NN书中都有介绍的。

如果楼主可以将问题更加具体化一点,那么获得的帮助可能更直接一点。毕竟深入研究神经网络的理论和解决现实问题是两会事。
8楼2009-11-05 16:49:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yujunhui

银虫 (著名写手)

谢谢你们!
我在试着算算!
安静
9楼2009-11-06 13:11:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yujunhui

银虫 (著名写手)

谢谢 你们!
可能我描述有误,

我运算了 20次 ,总算有一个结果比较理想了 !
针对这中问题我的观点认为
1  多运算几次
2 修改网络的参变量 (动量 因子, 学习速率 等)
这样结果比较理想!

[ Last edited by yujunhui on 2009-11-7 at 15:31 ]
安静
10楼2009-11-07 14:23:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yujunhui 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见