Optimization 我可以使用这个健身功能吗?

Optimization 我可以使用这个健身功能吗?,optimization,artificial-intelligence,genetic-algorithm,Optimization,Artificial Intelligence,Genetic Algorithm,我正在进行一个使用遗传算法的项目,我正在尝试制定一个适应度函数,我的问题是: 适应度公式的选择对遗传算法有什么影响 在最小化的情况下,是否有可能使适应度函数直接等于违规次数 适应度公式的选择对遗传算法有什么影响 适应度函数在指导遗传算法中起着非常重要的作用 良好的适应度函数将有助于遗传算法有效地探索搜索空间。另一方面,不好的适应度函数容易使遗传算法陷入局部最优解,失去发现能力 不幸的是,每个问题都有自己的适应度函数 对于分类任务,错误度量欧几里德,曼哈顿。。。被广泛采用。您还可以使用基于熵的方法

我正在进行一个使用遗传算法的项目,我正在尝试制定一个适应度函数,我的问题是:

适应度公式的选择对遗传算法有什么影响

在最小化的情况下,是否有可能使适应度函数直接等于违规次数

适应度公式的选择对遗传算法有什么影响

适应度函数在指导遗传算法中起着非常重要的作用

良好的适应度函数将有助于遗传算法有效地探索搜索空间。另一方面,不好的适应度函数容易使遗传算法陷入局部最优解,失去发现能力

不幸的是,每个问题都有自己的适应度函数

对于分类任务,错误度量欧几里德,曼哈顿。。。被广泛采用。您还可以使用基于熵的方法

对于优化问题,可以使用正在研究的函数的粗略模型

关于适应度函数的特征,如{2}、{3}、{5},有大量文献可供查阅

从实现的角度来看,必须考虑一些额外的机制:线性缩放、西格玛截断、功率缩放。。。见{1}、{2}

此外,适应度函数可以是动态的:在进化过程中不断变化,以帮助搜索空间探索

在最小化的情况下,是否有可能使适应度函数直接等于违规次数

是的,这是可能的,但是你必须考虑它可能是一个太粗粒度的适应度函数。< /P> 如果适应度函数太粗糙*,它没有足够的表达能力来指导搜索,遗传算法将更多地陷入局部极小值,可能永远不会收敛到一个解

理想情况下,一个好的适应度函数应该能够告诉你从给定点开始的最佳方向是什么:如果一个点的适应度是好的,那么其邻域的子集应该更好

因此,没有大的平台——一个宽而平的区域,它不会给出搜索方向,并导致随机行走

*另一方面,完美平滑的适应度函数可能表明您使用了错误类型的算法

一个简单的例子:您查找参数A、b、c

g(x) = a * x / (b + c * sqrt(x))
是n个给定数据点x_i,y_i的良好近似值

您可以最小化此适应度函数:

        | 0   if g(x_i) == y_i                 
E1_i =  |
        | 1   otherwise

f1(a, b, c) = sum (E1_i)
               i
它可以工作,但搜索的目的不是。更好的选择是:

E2_i = (y_i - g(x_i)) ^ 2

f1(a, b, c) = sum (E2_i)
               i
现在你有了一个搜索方向和更大的成功概率

进一步详情:

Vladik Kreinovich,Chris Quintana 搜索、优化和机器学习中的遗传算法,Goldberg,D.1989,Addison-Wesley 梅勒妮·米切尔、斯蒂芬妮·福雷斯、约翰·H·霍兰德。 国际汽联拉金,康纳·瑞安ISBN:978-1-60558-325-9 肖恩·卢克
非常感谢,就这一点而言:理想情况下,一个好的适应度函数应该能够告诉您最佳方向是什么,我不太清楚,您能给我举个例子吗?@hichamATR我在答案中添加了一些细节。