有没有人见过用在线学习实现的遗传编程,而不是标准的离线学习?我用遗传程序做了一些工作,但我就是想不出有什么好方法可以使学习过程在线化。
如果您有任何想法、见过任何实现,或者有任何我可以参考的资料,请告诉我。
回答:
根据维基百科的链接,在线学习“一次学习一个实例”。在线/离线标签通常指的是如何将训练数据馈送到有监督的回归或分类算法。由于遗传编程是一种启发式搜索,它使用评估函数来评估其解决方案的适应度,而不是带有标签的训练集,因此这些术语并不真正适用。
如果您问的是,是否可以在GP算法仍在“搜索”更好的解决方案时使用其输出(即最佳表现型),我认为没有理由不能这样做,假设它对您的领域/应用程序有意义。一旦您的GA/GP种群的适应度达到某个阈值,您就可以将该解决方案应用于您的应用程序,并继续运行GP,当出现更好的解决方案时,切换到新的解决方案。
与此相关的一种方法是称为rtNEAT的算法,该算法试图使用遗传算法来实时生成和更新神经网络。