遺傳算法-目標函數與適應度函數變換


基本概念

最優化問題可分為兩類,一類是求最大值,一類是求最小值,這里的最大最小指的是目標函數,當然通常也把目標函數叫適應度;

而遺傳算法本身是求最大值的,因為優勝劣汰,得到的是適應度最大的個體;

如果想求最小值,就需要做適應度函數變換

如果目標函數之間差別很小,個體被選擇的概率也就相差不大,這樣算法的選擇功能將被大大弱化,此時也可作適應度函數變換;

如果有其他需求,或者個性化設計,也需要適應度函數變換;

 


適應度函數變換也叫 標定

 

適應度(目標函數)的設計 和 適應度函數變換 是 兩碼事

 

函數設計的基本思想

適應度函數(目標函數)

目標函數的設計主要是結合業務,可分為單目標和多目標

設計不當有可能出現欺騙問題:

(1)進化初期,個別超常個體控制選擇過程;

(2)進化末期,個體差異太小導致陷入局部極值 ;

適應度函數變換

1. 適應度不能既有正又有負,這樣算概率時沒法算,為了方便計算,一般保證適應度全為正

2. 適應度一般不為 0,因為 0 的概率為 0,永遠不會被選擇,沒有意義;

3. 適應度函數變換的核心就是為了使得 適應度高的個體更容易被選擇;

 

標定方法

方法很多,這里做個總結

 

線性變換 

max:減去最小值的目的,一是防止出現負數,二是增加相對差別;

min:目標函數加負號,即取最小,最大值減去目標函數也是防止出現負數;

加上 ξ 是為了避免出現 0;

 

動態線性變換 

把線性標定中 ξ改成了ξ的k次方,希望開始的時候,大家都有機會,而越到后面,越要保留優秀的個體 

 


下面這張圖挺不錯的,雖然內容有重復,也貼上來

 

M 就是一個初始值,可為 1, 也可不為 1,ξ€ [0, 1]

 

其他標定

以下方法不太常用,包括 冪律標定、對數標定、指數變換、窗口技術、正規化技術、

 

 

 

 

參考資料:

https://blog.csdn.net/qcyfred/article/details/76731706  遺傳算法(2):對適應度函數的改進


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM