08 演化式學習
王元俊
Wang Yuan-Jiun
教材
• R 語言資料分析:從機器學習、資料探勘、文 字探勘到巨量資料分析 [第二版] • 作者:李仁鐘、李秋緣 • 出版社:博碩文化股份有限公司 • 書號:MP31714 • 出版日期:2017 年 6 月 2 日 • 範例檔案下載本章內容
• 基因演算法基因演算法 (1)
• 基因演算法的基本精神在於模仿自然界中物競 天擇,優勝劣敗的自然進化規則。 – 選擇物種對環境適應力較強的親代 (Parents Generation),隨機相互交換彼此的基因資訊, 以期產生更優秀的子代 (Offspring Generation)。 – 經過評估 (Evaluation) 與篩選 (Selection) 後, 留下適應力最佳的物種。 – 再繼續交配、繁衍及篩選。 – 如此重複不斷演化出對外在環境適應力最強 的物種。基因演算法 (2)
• 名詞– 在基因演算法中,最佳化問題的候選解
(Candidate Solutions) 被稱為個體 (Individual), 它表示為一個變量序列,叫做染色體 (Chromosome)。 – 許多可能的候選解,形成族群 (Population)。 • 基因演算法基本的三種運作機制: 1. 複製 (Reproduction) 2. 交配 (Crossover) 3. 突變 (Mutation)
基因演算法 (3)
• 基因演算法設計的方式 1. 將問題透過編碼的方式轉換到個體(染色 體)架構上。 2. 然後利用適應函數 (Fitness Function) 的定 義評估解答的優劣程度,經由複製、交配、 突變等運作機制產生新的染色體,並取代 在族群中表現不好的染色體。 • 演化學習的過程是不斷反覆的評估、篩選,找 到適應函數最佳的染色體,以保留至下一個世 代 (Generation),繼續演化,直到滿足終止條件 為止。基因演算法 (4)
• 基因演算法流程 開始 編碼,產生初始族群 計算適應函數值 滿足終止條件 篩選、交配、突變、取代 結束 否 是基因演算法 (5)
• 篩選方法:決定是否能進行交配– 輪盤式篩選法 (Roulette Wheel Selection)
• 適應函數值決定個體再輪盤上的面積,面積 決定獲得放置到交配池中的機率。
– 競爭式篩選法 (Tournament Selection)
• 隨機選擇兩個或多個個體,具有最大適應函 數值者被選中送至交配池中。
基因演算法 (5)
• 交配:依照交配機率 (Crossover Probability) 決 定是否交配。希望經由交配過程持續累積優秀 的染色體,使得交配產生的子代適應函數值越 來越好。 • 常用的交配方法 – 單點交配 (One-point Crossover) – 雙點交配 (Two-point Crossover) – 多點交配 (Multi-point Crossover) – 字罩交配 (Mask Crossover) – 機率均等交配 (Uniform Crossover)基因演算法 (6)
• 突變 – 透過突變使得基因中能得到新的資訊。 – 設定突變機率 (Mutation Probability)。 • 取代 – 取代時通常採取精英政策,目的是將舊族群 中適應函數值最佳的前幾名留下,其餘的以 子代新染色體取代,成為新的族群。 – 例如設定精英政策為 0.6 時,則親代適應函 數值前 60%,與子代適應函數值前 40% 組 成新的族群。範例 8-1 (8-1.R)
• 使用 GA 套件,求函數 f(x) = 25 – x2, –5 ≤ x ≤ 5 的最大值。 • 適應函數 (Fitness Function) – f <− function(x) 25-x*x – fitness <− function(x) f(x) • GA@summary:檢視 GA 執行時,各世代的統 計摘要。人工蜂群演算法 (1)
• 建立在蜜蜂群體智慧的基礎,核心主要組成: – 覓食蜂 (The Employed Bee)
– 跟隨蜂 (The Onlooker Bee) – 偵察蜂 (The Scout)
– 食物源 (Sources)
• Karaboga 提出人工蜂群 (Artificial Bee Colony, ABC) 演算法,並且成功應用在函數數值最佳