我有一個問題,我想解決與matlab遺傳算法工具箱,我不知道如何解決它。 我想在一個公式中計算3個係數,以使SVM分類模型的分類準確性函數最大化。係數的公式是a * a + b * B + c * C其中a,b,c是我想要找到它們的最優值的係數,A,B,C是數據集的3個屬性的值。我也有約束條件a + b + c = 1和a,b,c> 0我應該如何使用遺傳算法來解決這個問題?遺傳算法與matlab如何使用分類精度作爲健身功能
2
A
回答
2
您首先需要隨機生成一個初始可行解作爲第一代。
這些可行解決方案中的每一個都應該滿足a + b + c = 1
和a, b, c > 0
。
然後根據你的健身功能,評估每個答案,並選擇更好的作爲「父母」。對這些父母應用GA技術,如「交叉」或「突變」,以產生一羣后代,作爲下一代。
重複這個過程一定的時間,比如500代。
例如,您可以定義變量fitness
,較高的值表示其相應的候選人是更合適的解決方案。既然你是最大化這個功能,那麼:
健身= A * A + B * B + C * C
在每個GA操作(交叉,變異等),記得要經常收益率滿足您初始約束的新候選人(a + b + c = 1
和a, b, c > 0
)。
2
根據我的經驗,最好的解決方案之一就是實現MATLAB的遺傳算法。 GA工具箱生成的目的是尋找最小的這種功能,但通過使用對稱性,它會導致您尋找的功能最大化。遵循以下步驟:
- A,B,C =輸入數據
- 歸一化,B,C這導致+ B + C = 1
- 你的適應度函數,一個A + B b + C * C,並將其定義
- 定義nvars這對於你是3
- 穿戴LB(下邊界)中的情況下[0 0 0],這是A,b,C> 0
- 潤[X ,fval] = ga(...)那裏的x將是最終結果x = [abc]
如果有任何問題,請發郵件給我更多的幫助:[email protected]
希望最好
相關問題
- 1. 遺傳算法:健身功能不能正常工作
- 2. 簡單的遺傳算法健身功能
- 3. 旅行商的遺傳算法中的健身功能
- 4. 遺傳編程 - 健身功能
- 5. 遺傳算法的分類和健身評估
- 6. 在遺傳算法中跟蹤健身
- 7. 解決與遺傳算法,健身,突變縱橫字謎
- 8. MATLAB:遺傳算法 - 失敗的初始用戶提供的健身功能評價
- 9. 分類遺傳算法
- 10. 如何做健身功能
- 11. matlab交叉遺傳算法
- 12. 在Python中實現遺傳算法:使用健身對列表進行排序
- 13. Java健身功能不起作用
- 14. 要使用遺傳算法
- 15. Java健身功能 - 縮放
- 16. 瞭解健身功能
- 17. 符合-Inf或NaN作爲使用matlab的遺傳算法的結果
- 18. 遺傳算法的製作
- 19. 遺傳算法實現中最大健身卡在局部最大值
- 20. 解決作業調度與遺傳算法的一些限制
- 21. 遺傳算法
- 22. 如何開始使用遺傳算法工作
- 23. 在Matlab中使用雙精度的算術精度
- 24. 使用Matlab遺傳算法優化昂貴的適應度函數約束
- 25. 僅使用唯一整數的Matlab遺傳算法(GA)
- 26. 在MATLAB中使用遺傳算法進行重量優化
- 27. Matlab優化 - 使用遺傳算法最小化目標函數
- 28. 如何設置Matlab遺傳算法約束?
- 29. 比較MATLAB fmincon和GA(遺傳算法)結果:問題與GA
- 30. 機器學習算法與健身評分
生成一堆與同一配方的功能,但具有不同的係數。然後使用一些評估函數對它們進行測試,保持執行最佳的兩個功能並從它們生成下一代。 – 2012-04-16 16:13:48
謝謝你的迴應,但我也需要知道如何用matlab做到這點。我應該如何在ga中使用約束條件以及如何編碼適應度函數? – user1336745 2012-04-18 07:16:58