gpt4 book ai didi

genetic-algorithm - 应用于曲线拟合的遗传算法

转载 作者:行者123 更新时间:2023-12-04 08:59:37 26 4
gpt4 key购买 nike

假设我有一个未知函数,我想通过遗传算法来近似它。对于这种情况,我假设它是 y = 2x。

我有一个由 5 个元素组成的 DNA,每个 x 一个 y,从 x = 0 到 x = 4,其中,经过大量试验和计算,我会接近以下形式:

best_adn = [ 0, 2, 4, 6, 8 ]

请记住,我事先不知道它是线性函数、多项式还是更丑陋的东西,而且,我的目标不是从 best_adn 推断函数的类型是什么,我只想要这些点,所以我以后可以使用它们。

这只是一个示例问题。就我而言,DNA 中不是只有 5 个点,而是有 50 或 100 个点。使用 GA 找到最佳点集的最佳方法是什么?

  • 产生100人口,
    丢弃更差的 20%
  • 重组剩下的80%?如何?
    在随机点切割它们并
    然后把第一个放在一起
    父亲的 ADN 的一部分
    母亲的ADN的第二部分?
  • 突变,我应该如何定义
    这种问题突变?
  • 是否值得使用精英主义?
  • 任何其他值得使用的简单想法
    大约?

  • 谢谢

    最佳答案

    通常你只能通过实验找到这些……也许编写一个 GA 来调整你的 GA。

    但除此之外,我不明白你在问什么。如果你不知道函数是什么,也不知道相处的要点,你如何确定适应度?

    从我目前对这个问题的理解来看,这更适合神经网络。

    编辑:

    2.重组剩下的80%?如何?在随机点切割它们,然后将父亲的 ADN 的第一部分与母亲的 ADN 的第二部分放在一起?

    这称为交叉。如果你想变得有趣,做一些事情,比如选择一个随机的起点并交换一个随机的长度。例如,一个对象中有 10 个元素。在 1 到 10 之间随机选择一个点 X 并交换 x..10-rand%10+1.. 你得到了图片......给它加点料。

    3.Mutation,这种问题的mutation应该如何定义?
    通常,这更多地取决于定义为合法解决方案的内容,而不是其他任何内容。你可以用与交叉相同的方式进行变异,除了你用随机数据填充它(这是合法的)而不是与另一个样本交换......而且你以低得多的速度进行。

    4.是否值得使用精英主义?
    实验并找出答案。

    关于genetic-algorithm - 应用于曲线拟合的遗传算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1885148/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com