【问题标题】:Whats the difference between Cross-Entropy and Genetic Algorithms?交叉熵和遗传算法有什么区别?
【发布时间】:2015-09-21 09:42:28
【问题描述】:

我的一些实验室伙伴一直在玩交叉熵强化学习。从我可以从他们那里收集到的所有信息和快速的互联网搜索中,交叉熵方法似乎与遗传算法几乎相同。有人可以向我解释一下这两种技术之间的真正区别是什么?

【问题讨论】:

    标签: machine-learning genetic-algorithm reinforcement-learning


    【解决方案1】:

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

    简单地说:

    遗传算法是一系列算法/一种优化方法

    交叉熵是一种特定的遗传算法。

    【讨论】:

      【解决方案2】:

      这两种方法都适用于经过多代改进的种群。关键区别在于人口的代表方式。

      遗传算法 (GAs) 适用于个人人群,例如通过突变。您可以枚举每个个体的祖先。

      交叉熵方法 (CEM) 将总体表示为概率分布。个人是从这个分布中抽取的。分布参数从最好的重新估计,例如2% 和其他 98% 被丢弃。

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

      实际考虑:

      • CEM 要求您提出个人的概率分布。除了突变强度等参数之外,大多数 GA 还需要这种分布仅用于生成初始种群。

      • CEM 实施简单,参数少。这是一个很棒的基线算法,有时它会击败更复杂的方法。然而,CMA-ES 是一个更好的基准,因为它有强大的跟踪记录,因此只需要几百个参数就可以解决连续问题。

      • 仅从 2% 的人口估计参数需要非常大的人口规模。丢弃 98% 的信息是一种浪费。另一方面,它可以防止 CEM “侧身”并被次优解决方案分散注意力。

      • GA 可以更花哨,并且存在于许多针对特定问题的变体中。 CEM 可以通过选择巧妙的分布来适应问题。这对于一些离散问题非常有效。一般来说,我会说使用 GA 比 CEM 更上一层楼,无论是在复杂性(更难让它正常工作)和潜在性能方面(更多机会使其操作员适应问题)。

      参考资料:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-18
        • 2011-02-22
        • 2018-03-12
        • 2016-09-16
        • 2018-11-27
        • 2014-08-12
        • 2011-12-08
        相关资源
        最近更新 更多