gfo-project/Gradient-Free-Optimizers

Lightweight optimization with local, global, population-based and sequential techniques across mixed search spaces

解決的問題

Gradient-Free-Optimizers (GFO) 提供了一種統一的方式來最佳化無法取得梯度或計算梯度不切實際的「黑盒」函數。它是專為機器學習模型的超參數調整、模擬最佳化與工程設計等任務而設計,在這些任務中,輸入與輸出之間的關係無法用導數在數學上進行定義。

運作方式

該函式庫為 23 種不同的最佳化演算法提供了一致的 API,這些演算法分為局部搜尋、全域搜尋、基於群體以及基於序列模型的技術(例如貝氏最佳化)。使用者定義一個要最大化的目標函數以及一個可以混合連續範圍、離散網格、分類選擇與 SciPy 分佈的搜尋空間。接著,最佳化器會提出參數、評估目標函數,並反覆運算以找出最佳分數。

適用對象

需要在不依賴基於梯度方法的情況下調整超參數或最佳化複雜系統的資料科學家、機器學習工程師與研究人員。由於其相依性極低(僅需 NumPy 與 pandas),它也非常適合在最小環境、容器或嵌入式系統中工作的開發人員。

特色

  • 統一的 API:只需一行程式碼即可在 23 種不同的演算法(例如 Hill Climbing、Bayesian、Particle Swarm)之間切換。
  • 混合搜尋空間:支援在一次搜尋中結合連續、離散、分類與基於分佈的維度。
  • 內建快取:記憶體系統可防止對昂貴的目標函數進行重複評估。
  • 靈活控制:包含用於手動迴圈控制的「Ask/Tell」介面、提早停止準則以及用於避免無效區域的約束支援。
  • 輕量級:核心相依性極少,易於整合作為其他工具的後端。

相關

  • 專案
  • 專案
  • 專案
  • 專案