Artificial intelligence 如何定义适应度函数?

Artificial intelligence 如何定义适应度函数?,artificial-intelligence,genetic-algorithm,evolutionary-algorithm,fitness,Artificial Intelligence,Genetic Algorithm,Evolutionary Algorithm,Fitness,我正在做一个项目,其中将有一组选定的数据,每个数据将有不同的属性。我需要使用适应度函数来选择最符合我使用属性选择的场景的数据 然而,我真的没有找到任何网站解释如何定义我自己的健身功能。我所知道的只是它是遗传算法的一部分,这就是我所知道的。那么,这里可以给我一些提示吗?你确定你真正需要的是一个适应度函数吗 正如你所说,适应度函数是遗传算法中使用的东西。在算法的每次迭代中使用它来评估当前总体中针对您的问题提出的所有解决方案的质量。适应度函数评估总体中单个解决方案的优劣,例如,如果您试图使用遗传算法查

我正在做一个项目,其中将有一组选定的数据,每个数据将有不同的属性。我需要使用适应度函数来选择最符合我使用属性选择的场景的数据


然而,我真的没有找到任何网站解释如何定义我自己的健身功能。我所知道的只是它是遗传算法的一部分,这就是我所知道的。那么,这里可以给我一些提示吗?

你确定你真正需要的是一个适应度函数吗

正如你所说,适应度函数是遗传算法中使用的东西。在算法的每次迭代中使用它来评估当前总体中针对您的问题提出的所有解决方案的质量。适应度函数评估总体中单个解决方案的优劣,例如,如果您试图使用遗传算法查找函数的x值及其y最小值,则单位的适应度函数可能只是负y值(值越小,适应度函数越高)

我基本上想说的是,适应度函数不太处理属性,只是评估结果

如果您想选择包含属性的最具代表性的数据样本,您可能还应该研究分类或聚类方法?您没有给出所选场景将以何种方式表示的太多信息,但也许您可以对数据进行聚类(您可以尝试k-means聚类算法并尝试增加聚类数,直到分类错误停止显著下降?)然后,在满足场景需求后选择一个具有代表性的数据集群

如果您提供了有关查询如何表示为数据表示的更多详细信息,您可能会从其他人那里得到不同(或更好)的答案


再说一次,如果你的唯一目标是学习遗传算法或人工智能/机器学习领域的任何其他部分,你应该完全按照phs的建议去做,找一本书,听一听有声讲座,参加一个类似的课程。

这是GAs的困难部分(好吧,这和数据表示)事实上,你只能通过经验来学习

显而易见的是,函数必须能够衡量结果的好坏。特别是,它必须在广泛的数据范围内平滑-无论数据是什么,您的适应度函数都必须显示正确的改进方法

例如,除非答案正确,否则适应度函数为零是不好的,因为它不能帮助你在开始时接近正确答案

一个适应度函数会随着情况的改善而增加,但不能确定最佳解决方案也不是很好,因为你的人口会提高到某一点,然后陷入困境

因此,您需要坐下来,写出一些数据示例,然后思考您可以使用哪种函数。您需要的是为坏数据提供低值,为好数据提供高值的东西。这在两者之间进行了很好的调整

试一下你一开始能想到的任何疯狂的想法,然后看看你如何把它变成一个好的数学形式。头脑风暴,不断尝试和迭代。。。您可能会发现您的第一个选择不太好,一旦您运行GA,您将能够更详细地了解正在发生的事情并加以改进。

请参阅。