遺傳演算法(Genetic Algorithm)
一句話理解
用「選擇 + 交配 + 突變」模擬自然演化,在搜尋空間中逐步逼近最佳解的最佳化方法。
使用時機
- 最佳化問題(不需要可微的目標函數)
- vs NN:GA-Step3-Fitness轉換 Function 靈活度更高,可直接加入業務 KPI
- vs 暴力搜尋:不需窮舉,靠族群演化收斂
- 解空間非連續、非凸、高維時特別有用
核心流程
初始化族群(隨機 N 條染色體)
↓ 計算 Fitness
↓ Selection(高分存活)
↓ Crossover(交配產子代)
↓ Mutation(隨機翻轉 bit)
↓ 新世代 → 重複
各步驟節點
- GA-Step0-初始化族群
- GA-Step1-Decode
- GA-Step2-計算Loss
- GA-Step3-Fitness轉換
- GA-Step4-Selection
- GA-Step5-Crossover
- GA-Step6-Mutation
關鍵設計
- GA-Encoding — 最難設計,N 位元 → 2^N 種可能解
- Fitness Function:可加 Penalty,不需要可微
- GA-族群大小與多樣性
GA vs Gradient Descent
- 不用微分,可處理離散/不連續/黑箱問題
- GA-Step4-Selection = Exploitation(利用);GA-Step6-Mutation = Exploration(探索)
近代應用
- Greedy特徵選取:染色體 = 0/1 特徵遮罩,Fitness = 分類準確率
- NAS(神經網路架構搜索):Fitness = 驗證集準確率
- GA × AI Agent:多 Agent 協作任務分配