-3
A
回答
0
什么是健身公式选择在GA
健身功能的影响起着指导GA非常重要的作用。
良好的健身功能将帮助GA有效和高效地探索搜索空间。另一方面,糟糕的健身功能很容易使GA陷入局部最优解,并丧失发现能力。
不幸的是,每个问题都有其自身的适应功能。
对于分类任务错误的措施(欧洲,曼哈顿......)被广泛采用。你也可以使用基于熵的方法。
对于优化问题,您可以使用正在调查的函数的原始模型。
有关适应度函数(例如{2},{3},{5})的特征的大量文献。从实现的角度来看,必须考虑一些额外的机制:线性缩放,西格玛截断,功率缩放......(请参阅{1},{2})。
另外,健身功能可以是动态的:在进化过程中改变以帮助搜索空间探索。
它可以使适应度函数直接等于违反的数量(以最小化的情况下)?
是的,这是可能的,但你必须考虑它可能是一个过于粗糙的粒度适应度函数。
如果适应度函数太粗糙(*),它没有足够的表现力来指导搜索,并且遗传算法会更多地陷入局部极小值,并且可能永远不会收敛于解。
理想情况下,良好的健身功能,应该有能力告诉你什么是最好的方向从给定的点走的是:如果一个点的适应性好,其周边的子集,应该会更好。
所以没有大的高原(一个广阔的平坦区域,没有给出搜索方向和诱导随机游走)。
(*)另一方面,完美平滑的适应度函数可能是您正在使用错误算法类型的符号。
一个简单的例子:你看参数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
现在你有一个“搜索方向”和更大的成功几率。
进一步了解详细:
- Genetic Algorithms: what fitness scaling is optimal?通过弗迪克·克里诺维奇,克里斯·金塔纳
- 遗传算法在搜索,优化和机器学习由戈德堡,D.(1989年,Addison-Wesley出版社)
- The Royal Road for Genetic Algorithms: Fitness Landscapes and GA Performance Melanie Mitchell,Stephanie Forrest,John H Holland。
- Avoiding the pitfalls of noisy fitness functions with genetic algorithms通过Fiacc拉金,康纳尔瑞恩(ISBN:978-1-60558-325-9)
- Essentials of Metaheuristics由肖恩·卢克
相关问题
- 1. 我可以使用这种语法吗?
- 2. 有GA经验的人可以检查我的健身功能吗?
- 3. 我可以加快这个功能吗?
- 4. Java健身功能 - 缩放
- 5. 如何做健身功能
- 6. 了解健身功能
- 7. 我可以在这里使用Oracle分析功能吗?
- 8. Java健身功能不起作用
- 9. 我可以使用Node.js中的所有Javascript功能/功能吗
- 10. 在这种情况下可以从库扩展功能吗?
- 11. 我可以优化这种查询吗?
- 12. 我可以在我的AngularJS工厂中使用多种功能吗?
- 13. WordPress可以处理这些功能吗?
- 14. 这种查询可能吗?
- 15. 这种请求可能吗?
- 16. 在Laravel 5.1中可以使用两种功能的路线吗?
- 17. 我可以用这种方式使用tmpfs吗?
- 18. 我可以用这种方式使用MySql CASE吗?
- 19. 我可以用这种方式使用urlize过滤器吗?
- 20. 我可以将这两种方法/功能合并为一个吗?
- 21. Arangodb:我可以从用户功能调用用户功能吗?
- 22. 我可以使用身体两次吗?
- 23. 球和束的健身功能
- 24. 音频数据的健身功能
- 25. 遗传编程 - 健身功能
- 26. PSO的健身功能在我的代码中不起作用?
- 27. 我可以在这种情况下使用变量吗?
- 28. 我可以在这种情况下使用WCF吗?
- 29. 在这种情况下,我可以使用eval函数吗?
- 30. 我可以在这种情况下使用触发器吗?
非常感谢你, 只是这一点:“理想情况下,良好的健身功能应该有能力告诉你什么是最好的方向“,这对我来说不是很清楚,你能举个例子吗? –
@hichamATR我在答案中增加了一些细节。 – manlio
哦,谢谢soooo多! –