ahmedfgad/GeneticAlgorithmPython
Source code of PyGAD, a Python 3 library for building the genetic algorithm and training machine learning algorithms (Keras & PyTorch).
它解決了什麼問題
PyGAD 是一個 Python 函式庫,旨在簡化遺傳演算法(GA)在最佳化問題上的實作。它讓使用者透過模擬生物演化的方式,找到複雜問題的最佳解,特別適用於傳統基於梯度的最佳化方法無法使用,或是需要為機器學習模型搜尋最佳參數的情境。
它如何運作
此函式庫提供 pygad.GA 類別,負責管理潛在解的族群。使用者定義一個適應度函式——衡量解「好壞」的指標,函式庫則負責演化過程:選擇父代、執行交配(結合解)、以及套用突變以探索搜尋空間。它可與 Keras 與 PyTorch 整合,最佳化神經網路的權重與偏差,並支援單目標與多目標最佳化。
目標對象
此函式庫適合需要對數學函數或機器學習模型進行最佳化的開發者與資料科學家,且不想從頭自行實作遺傳演算法。
重點特色
- 深度學習整合:原生支援 Keras 與 PyTorch 模型的最佳化。
- 彈性最佳化:支援多種交配、突變與父代選擇方法。
- 可控生命週期:提供回呼函式(例如
on_generation、on_fitness)以追蹤與監控執行過程。 - 雲端執行:可推送至 Vilvik 進行雲端執行與可視化。