-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多! –