gpt4 book ai didi

algorithm - 遗传算法——新一代越来越差

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:31:48 24 4
gpt4 key购买 nike

我已经实现了一个简单的遗传算法来生成基于伊索寓言的短篇小说。以下是我使用的参数:

突变:单词交换突变,测试率为0.01。

交叉:在给定点交换故事句子。率 - 0.7

选择:轮盘选择 - https://stackoverflow.com/a/5315710/536474

健身功能:3种不同的功能。每一项的最高分是 1.0。所以总的最高健身分数是 3.0。

人口规模:因为我使用的是 86 个伊索寓言,所以我用 50 个来测试人口规模。

初始人口:所有86个寓言的句子顺序都被打乱,以便完全胡说八道。我的目标是从这些结构丢失的寓言中产生一些有意义的东西(至少在一定程度上)。

停止条件:3000 代。结果如下:

enter image description here

然而,这仍然没有产生令人满意的结果。我期待着世代相传的情节。关于为什么我的 GA 表现更差的结果有什么想法吗?

更新:正如你们所有人所建议的那样,我已经将精英主义复制到下一代的当前一代中的 10%。结果还是一样: enter image description here

也许我应该使用锦标赛选择。

最佳答案

以上所有回复都很好,我会研究一下。我会添加我的想法。

突变

您的突变率似乎不错,但如果遗传算法不正确,突变率可能会导致很多问题。我会确保您测试很多其他值来确定。

对于突变,我可能会使用两种类型的突变。一种是用字典中的其他词替换单词,另一种是交换句子中的两个词。这将鼓励整个人口多样化,并改组词语。

交叉

我不知道你是如何实现这个的,但在这种情况下,单点交叉似乎不会那么有效。我会尝试实现一个 n 点交叉,这将更好地洗牌你的句子。同样,我不确定它是如何实现的,但只是交换可能不是最好的解决方案。例如,如果一个词在第一个点,有没有办法让它移动到另一个位置,或者如果它是通过选择选择的,它是否永远是第一个词?

如果词序对您选择的问题很重要,简单的交叉可能并不理想。

选择

同样,这看起来不错,但我会确保您测试其他选项。过去,我发现基于排名的轮盘赌选择要成功得多。

健身

这始终是任何遗传算法中要考虑的最重要的事情,并且考虑到您遇到的问题的复杂性,我会加倍确保它有效。您是否测试过它可以解决“已知”问题?

人口规模

您的值(value)似乎很小,但我已经看到遗传算法成功地适用于小群体。不过,我会再次对更大的人群进行实验,看看您的结果是否更好。

目前最受欢迎的建议是实现精英主义,我绝对会推荐它。它不必太多,即使是每一代最好的一对染色体(尽管与其他一切一样,我会尝试不同的值)。

另一个有时有用的操作符是剔除。破坏你最弱的染色体的一部分,或与其他染色体(或两者)相似的染色体,并用新的染色体替换它们。这应该有助于阻止您的人口“过时”,从您的图表看起来它可能正在发生。突变对种群多样化的作用有限。

关于algorithm - 遗传算法——新一代越来越差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31196780/

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