如何用神经网络遗传算法求极值? 10
1个回答
展开全部
===============学习神经网络可以到<神经网络之家>================
可以先用matlab神经网络工具箱训练网络,当网络训练好之后,把网络存起来.
然后编写遗传算法,你知道,遗传算法是每代不断迭代的,然后每代会根据适应度决定是否进入下一代,这里的适应度你就用sim(net,x)得到的值的倒数(或者类似的)作为适应度,然后其它就和遗传算法没什么两样了.最后得到的最优解, 就是网络的最优解. 也就是你要的结果了.
不过兄弟,这想法很牛B,很值得鼓励这样的想法.但我不得不说两句,从实际角度来说,这样的实现没有太大的意义. 你的目的就是想从数据中找到Y最小的时候,X的什么值, 但数据上毕竟只是数据,不管你怎么绕,透露出来的信息还是有限的,不管怎么绕,其实数据能提供最大限度的信息就是:在Y=10.88时,即X1=25,X2=24....X6=1.5时,Y是最小值的, 这是数据能提供的最大限度的信息,你再怎么绕, 其实当你懂得神经网络的深层原理时,你会发现,你的方案并没能挖掘出更优的解(因为数据的信息是有限的),这只是把自己绕晕了
不过能有这样的想法,兄弟肯定是个学习的好材料,加油.
===============学习神经网络可以到<神经网络之家>================
可以先用matlab神经网络工具箱训练网络,当网络训练好之后,把网络存起来.
然后编写遗传算法,你知道,遗传算法是每代不断迭代的,然后每代会根据适应度决定是否进入下一代,这里的适应度你就用sim(net,x)得到的值的倒数(或者类似的)作为适应度,然后其它就和遗传算法没什么两样了.最后得到的最优解, 就是网络的最优解. 也就是你要的结果了.
不过兄弟,这想法很牛B,很值得鼓励这样的想法.但我不得不说两句,从实际角度来说,这样的实现没有太大的意义. 你的目的就是想从数据中找到Y最小的时候,X的什么值, 但数据上毕竟只是数据,不管你怎么绕,透露出来的信息还是有限的,不管怎么绕,其实数据能提供最大限度的信息就是:在Y=10.88时,即X1=25,X2=24....X6=1.5时,Y是最小值的, 这是数据能提供的最大限度的信息,你再怎么绕, 其实当你懂得神经网络的深层原理时,你会发现,你的方案并没能挖掘出更优的解(因为数据的信息是有限的),这只是把自己绕晕了
不过能有这样的想法,兄弟肯定是个学习的好材料,加油.
===============学习神经网络可以到<神经网络之家>================
追问
只是用来写论文,绕一下而已,我也知道没有太大的实际意义,只是代码不会编写,还是恳请高手帮忙!
追答
要求代码的话在百度知道里估计不大可能,
谁会花那么多心思去写一篇这么复杂的代码来回答一个知道呢?
去淘宝找一些论文代做吧。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询