automl 演化演算法

2021-10-01 14:17:03 字數 3732 閱讀 8470

快速搜尋

多目標

基本概念

選擇

在進化演算法中存在兩個階段的選擇。

經典的選擇演算法:

輪盤賭演算法和錦標賽演算法是常見兩種選擇策略。

「我想問一下「精英」代表歷史最優個體,還是代表每一代的最優個體。」

-----由於每一代都執行該策略,所以歷史最優和每代最優一樣一樣滴。

分類

進化演算法包括遺傳演算法、遺傳規劃/程式設計、進化策略等。

1、遺傳演算法 genetic algorithm,ga

2、進化規劃 evolutionary programming,ep (ps:不知與遺傳規劃有何區別?)

3、遺傳規劃 genetic programming,gp

4、進化策略 evolution strategy, es

5、差分進化演算法

6、協同進化

優勢種、建群種、關鍵種與冗餘種

(1)一般而言,群落中常有乙個或幾個生物種群大量控制能流,其數量、大小以及在食物鏈中的地位強烈影響著其他物種的棲境,這樣的物種稱為群落的優勢種(dominant species)。群落各層中的優勢種可以不止乙個種,即共優種。在我國熱帶森林裡,喬木層的優勢種往往是由多種植物組成的共優種。

簡而言之,群落中起主導和控制作用的物種稱為優勢種。可用有關重要值評價方法來表徵。常被用來劃分群落的型別。

(2)群落主要層(如森林的喬木層)的優勢種,稱為建群種。建群種有個體數量上不一定佔絕對優勢,但決定著群落內容結構和特殊的環境條件。如在主要層中有兩個以上的種共佔優勢,則把它們稱為共建種。

(3)物種在群落中的地位不同,一些珍稀、特有、龐大的對其他物種具有不成比例影響的物種,它們在維護生物多樣性和生態系統穩定方面起著重要的作用。如果它們消失或削弱,整個生態系統可能要發生根本性的變化,這樣的特有種稱為關鍵種(keystone species)。

(4)在一些群落中,有些物種是多餘的,這些種的去除不會引起群落內其他物種的丟失,同時對整個系統的結構和功能不會造成太大的影響。

如果開發建設專案徵佔地區物種屬於冗餘種(redundant species),則專案建設占地對生態環境的影響一般是可以接受的。

7、免疫演算法(免疫遺傳演算法)

8、粒子群演算法.

粒子群優化演算法(particle swarm optimization)

本人的另一篇部落格:automl-演化演算法-粒子群演算法

9、魚群演算法

雖然這些概念的內涵有一定的差別,它們有各自不同的側重點,各自有不同的生物進化背景,各自強調了生物進化過程中的不同特性,但本質上都基於進化思想的,都能產生魯棒性較強的計算機演算法,適應面較廣,因此又稱它們為進化演算法或進化計算。

遺傳演算法和遺傳程式設計有什麼不同?

遺傳程式設計和遺傳演算法非常相似。它們都被用來通過比較潛在候選人群體中的每個候選人在多代人中的適應度來演變問題的答案。

每一代人都可以通過隨機改變(突變)或交換其他候選人的部分(交叉)來找到新候選人。最不「適合」的候選人被從人口中移除。

1、結構差異

它們之間的主要區別是演算法/程式的表示。

1

+x*3-5

*6 #這裡將其看作乙個字串,而不是乙個運算

必須為此編碼編寫解析器,即將字串對映到實際的意義,例如將其轉換為函式。由此產生的功能可能如下所示:

function

(x)

解析器還需要知道如何處理無效狀態,因為變異和交叉操作不關心演算法的語義,會產生無效編碼,例如可以產生下列字串:1+/3-2*。需要決定處理這些無效狀態的方法。

-

/ \

**/ \ / \1*

56/ \ x 3

解析器也必須為此編碼編寫,但遺傳程式設計通常不會產生無效狀態,因為變異和交叉操作在樹的結構中起作用。

2、實際差異

遺傳演算法 差分進化演算法 粒子群優化演算法區別

各式各樣的遺傳演算法

參考文章:

1、協同進化演算法研究進展 王凌

2、基於競爭協同進化的改進遺傳演算法_李碧

3、雙精英協同進化遺傳演算法_劉全

4、基於生態種群競爭模型的協同進化_曹先彬(種群動態變化)

協同進化:

多種群下的分布式操作協同. 不同的搜尋操作作用於不同的子種群, 各種群單獨進化並適時互動資訊, 同時通過種間競爭決定各操作在後期的使用情況.

– mallipeddi 等[68]提出多操作協同自適應進化規劃演算法, 兩個子種群分別採用高斯變異與柯西變異.

– tasgetiren等[69]提出多種群下的離散de, 不同子種群採用不同的交叉運算元和引數配置.

– elsayed 等[70]提出了基於多操作協同的ga 與 de 演算法.

– wang等[71]提出了雙種群協同進化演算法, 兩個種群分別採用側重全域性探索與區域性開發的兩套操作.

mgacc:評價者集合、 學習者集合和名人堂模型

mgacc中存在 3個同時 進化的子群體, 即評價者集合、 學習者集合和名人 堂 (famehall).其中 , 評價者集合裡, 可根據相 對適應度選取部分個體作為評價者 ;乙個子群體是 學習者集合 , 進化過程中選擇操作的依據是相對適 應度;名人堂裡保留著每一代進化過程**現的優 秀個體 (elite).名人堂的優秀個體同時也在進化 , 選擇操作的依據是絕對適應度 ;在每一代, 名人堂 隨機選取部分個體作為評價者 .

mgacc結構如圖 :

個體 pop1和 pop2 輪流擔任學習者和評價者的角 色, 輪流刺激對方生存能力的提高 , 輪流出現新穎 積木塊 , 從而以一種 「軍備競賽 」 (armsrace)方 式[ 11]尋找最優解.mgacc演算法步驟為:

①初始化種群 pop1 、 pop2 和 pop3 ;

②定義 pop1 為學習者 ,pop3 為名人堂;

③從 pop2 中選取評價者集合 e;

④ 計算 pop1 中個體的相對適應度 ;

⑤據相對適應度 對 pop1 實行選擇操作;

⑥ 對 pop1 實行交叉和變異 操作;

⑦從 pop1 中選取最佳個體加入 pop3;

⑧據 絕對適應度對 pop3 實行選擇操作 ;

⑨ 對 pop3 實行 交叉和變異操作 ;

⑩交換 pop1 和 pop2 中的個體;

11、如果沒有達到中止條件, 返回 ③;

12、名人堂中的最佳個體作為演算法的解 .

學習資源

莫煩python 神經進化

neat-python neat演算法的python庫

遺傳演算法庫

- pyvolution: 非常模組化且非常可擴充套件的進化演算法框架,具有完整的文件, apache license 2.0

- pyevolve

- pyrobot: 開源的演化演算法(ga + gp)模組

- ponygea 是ge的乙個小型,單一原始檔實現,具有互動式圖形演示應用程式, gnu gpl v3

- inspyred: 生物啟發式計算,包括進化計算,群體智慧型和神經網路, gnu gpl v3

- drp: 定向ruby程式設計,遺傳演算法和語法進化庫, gnu gpl

- gplearn :遺傳規劃方面的乙個通用包,支援自定義適應度函式

automl 演化演算法 多目標

nsga net neural architecture search using multi objective genetic algorithm 筆記 nsga net neural architecture search using multi objective genetic algor...

automl 演化演算法 粒子群演算法

參考博文 粒子群優化演算法 particle swarm optimization pso 離散粒子群演算法 dpso 和離散二進位制粒子群演算法 bpso 粒子群優化演算法 1 粒子群優化演算法 2 離散粒子群演算法 普通粒子群演算法 particle swarm optimization alg...

演化演算法及其衍生演算法的主要思想

lib libcaffe.so.1.0.0 undefined reference toleveldb db open leveldb options const std string const leveldb db lib libcaffe.so.1.0.0 undefined referenc...