基因演算法 是什麼?
Genetic Algorithm — 基因演算法 的完整解釋
基因演算法是一種模擬生物進化過程的優化算法,通過選擇、交叉和突變等操作,逐步演化出更優的解,用於解決複雜的搜索和優化問題。
容易混淆
基因演算法 vs 窮舉法 窮舉法把所有可能都試過。 基因演算法只保留和繁殖較好的候選解。
基因演算法 vs 集成學習 集成學習是把多個模型結合起來。 基因演算法是用來搜尋解的優化方法,不是在直接組模型。
記住這句就好
選好的、混新的、再小改,就是基因演算法的核心。
實際案例
超參數調校 想找學習率、層數和正則化組合時,可以用它在大量候選設定裡慢慢演化。
排程最佳化 在工廠排班或路徑安排上,當搜尋空間太大,基因演算法常能找出不錯的近似解。
算法與應用
它通常經過族群初始化、適應度評估、選擇、交叉與突變,再反覆迭代。 優點是搜尋範圍廣,缺點是參數不好調,也不保證一定找到全域最佳。
情境判斷
Q1:如果問題空間很大又沒有明確梯度,基因演算法有機會派上用場嗎? → 有,這正是它常被拿來解的類型。
Q2:如果你只想快速得到精確到小數點後很多位的最優解,基因演算法一定最合適嗎? → 不一定,它比較擅長找不錯的近似解,不是每次都要追求數學上的精確最優。
相關術語
常見問題
基因演算法一定模仿真實生物嗎?
不一定,它只是借用了演化的概念。
適應度函數為什麼重要?
因為它決定哪些候選解更值得被留下來。
突變是不是越多越好?
不是,太多會讓搜尋變得像亂試。
它適合機器學習嗎?
適合做超參數搜尋或特徵搜尋,但不常拿來當主訓練法。