首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >交叉熵和遗传算法有什么区别?

交叉熵和遗传算法有什么区别?
EN

Stack Overflow用户
提问于 2015-07-03 14:00:56
回答 2查看 868关注 0票数 7

我的几个实验伙伴一直在玩交叉熵强化学习。从我能从它们收集到的所有信息和快速的互联网搜索来看,交叉熵方法似乎与遗传算法几乎完全相同。有人能向我解释一下这两种技术之间的真正区别是如果一种技术真的存在吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-03 17:51:21

在这种背景下,交叉熵是遗传算法的一种特殊形式.这比说“遗传算法”要具体得多,因为它涵盖了大量不同的算法。

简单地说:

遗传算法是一类算法/一种优化方法。

交叉熵是一种特殊的遗传算法.

票数 3
EN

Stack Overflow用户

发布于 2019-06-09 10:13:11

这两种方法都适用于经过几代人改进的群体。关键的区别在于人口是如何表示的。

遗传算法( Genetic Algorithms,GAs)对群体中的个体起作用,例如通过突变。您可以枚举每个个体的祖先。

交叉熵方法 (CEM)将种群表示为概率分布.个人是从这一分布中提取出来的。从最佳值( 2% )重新估计分布参数,丢弃其它98%的分布参数。

从技术上讲,“最佳2%”也是一种概率分布。你可以用它画一个很大的样本,但它很贵。所以你试着用简单的分布来近似“2%的分布”。交叉熵测量两个发行版之间的差异,您希望将其最小化。这通常比听起来更简单:如果你的分布是高斯的,你只需估计一个新的均值和(协)方差,从最好的2%。

实际考虑:

  • CEM要求你想出一个个人的概率分布。除了突变强度等参数外,大多数气体还需要这样的分布来生成初始种群。
  • CEM实现简单,参数少。这是一种很好的基线算法,有时它会超过更复杂的方法。然而,CMA是一个更好的基线连续问题,只有几百个参数,因为它的强大的跟踪记录。
  • 从仅有2%的人口中估计参数需要非常大的人口规模。扔掉98%的信息是浪费的。另一方面,它可以防止CEM“侧倾”和被次优解分散注意力。
  • 气体可以更花哨,并存在于许多问题的具体变化。CEM可以通过选择一个聪明的发行版来适应问题。对于一些离散的问题,这是非常有用的。一般来说,我认为使用遗传算法比CEM提高了一步,无论是在复杂性(更难使其正常工作)还是在潜在的性能方面(更多的机会使其操作人员适应这个问题)。

参考文献:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31208655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档