我的一些实验室伙伴一直在玩交叉熵强化学习。从我可以从他们那里收集的所有内容和快速的互联网搜索,交叉熵方法似乎几乎与遗传算法相同。有人可以向我解释一下这两种技术之间的真正区别在于它是否存在?
答案 0 :(得分:1)
在这种情况下,交叉熵是遗传算法的一种特殊形式。它比说"遗传算法"更具体。因为它涵盖了大量不同的算法。
简单地说:
遗传算法是一系列算法/一种优化方法
交叉熵是一种特定的遗传算法。
答案 1 :(得分:0)
这两种方法都适用于经过几代人改善的人群。关键区别在于人口的代表方式。
遗传算法(GA)适用于人口中的个人,例如虽然突变。您可以枚举每个人的祖先。
交叉熵方法(CEM)将总体表示为概率分布。从此分布中抽取个人。分布参数是根据最佳参数重新估算的。 2%和其他98%都被丢弃了。
从技术上讲,“最佳2%”还描述了概率分布。您可以从中抽取非常大的样本,但价格昂贵。因此,您可以通过简单的分布来近似“ 2%分布”。 cross-entropy度量两个分布之间的差异,您希望将它们最小化。通常,这比听起来简单,例如如果您的分布是高斯分布,则只需从2%的样本中估算均值和(协方差)即可。
实际考虑:
CEM要求您得出各个人的概率分布。但是GA除了突变强度之类的参数外,还需要类似的分布才能生成初始种群。
CEM易于实现且参数很少。这是一个很好的基线算法。但是,对于仅具有数百个参数的连续问题,由于其良好的记录,应首选CMA-ES。
GA可能更加花哨,并且存在许多特定于问题的变体。通过选择一个明智的分布,可以使CEM适应问题。这对于某些离散问题很有用。通常,我认为使用GA是从CEM迈出的一步,无论是在复杂性(使其难以正常工作)方面,还是在潜在性能方面(更多机会使其操作员适应该问题)。
< / li>参考文献:
The Cross-Entropy Method for Fast Policy Search(Mannor等,2003)
Learning Tetris Using the Noisy Cross-Entropy Method (PDF) (Szita andLörincz,2006)
The Cross-Entropy Method for Optimization(Botev等人,2013)