有没有人见过用online learning实现的GP,而不是标准的离线学习?我做了一些关于遗传程序的事情,我只是想不出什么是让学习过程在网上进行的好方法。
如果你有任何想法,看到任何实现,或者有任何我可以参考的参考资料,请让我知道。
发布于 2010-04-13 21:36:18
根据维基百科的链接,在线学习“一次学习一个实例”。在线/离线标签通常指的是如何将训练数据馈送到有监督的回归或分类算法。由于遗传编程是一种启发式搜索,它使用评估函数来评估其解的适合性,而不是带有标签的训练集,因此这些术语并不真正适用。
如果你问的是GP算法的输出(即最好的表现型)是否可以在它还在“搜索”更好的解决方案时使用,我看不出为什么不可以,假设它对你的域/应用程序是有意义的。一旦GA/GP群体的适合度达到某个阈值,您可以将该解决方案应用于您的应用程序,并继续运行GP,当有更好的解决方案可用时,切换到新的解决方案。
沿着这条线的一种方法是一种名为rtNEAT的算法,它试图使用遗传算法来实时生成和更新神经网络。
发布于 2010-04-13 16:14:30
我通过在谷歌学者中搜索online Genetic Programming找到了一些例子。
An On-Line Method to Evolve Behavior and to Control a Miniature Robot in Real Time with Genetic Programming
实际上,看起来他们找到了一种方法,可以让GP在实际活动中修改机器人控制系统的机器代码--非常酷!
这些作者继续制作更多相关的工作,例如这个改进:
Evolution of a world model for a miniature robot using genetic programming
希望他们的工作足以让你上手--我没有足够的遗传编程经验,无法给你任何具体的建议。
发布于 2011-12-11 20:41:54
看起来他们找到了一种方法,可以让GP在实际活动中修改机器人控制系统的机器代码--非常酷!
是的,多特蒙德大学的部门非常喜欢线性GP :-)
直接执行GP程序与解释代码相比有一些优势,尽管现在你可能更愿意使用动态语言,如Java,C#或Obj-C,这些语言允许你在运行时编写类/方法,同时你仍然可以从一些运行时受益,而不是在原始CPU上运行。
在我看来,在线学习方法并不是什么新奇的东西,也不是什么与“经典全科医生”不同的东西。根据我的理解,这只是一个在运行时扩展训练/健康/测试用例集的情况?
干杯,杰伊
https://stackoverflow.com/questions/2627833
复制相似问题