詳細解釋
在限制條件下尋找最佳解的數學方法,廣泛應用於機器學習超參數調優、資源分配、路徑規劃等。
核心概念:
- 目標函數:要最大化或最小化的量(如準確率、成本)
- 約束條件:必須滿足的限制(如預算、時間、法規)
- 可行域:滿足所有約束的解空間
常見方法:
- 線性規劃:目標和約束都是線性(Simplex 算法)
- 整數規劃:變量必須是整數(NP 難,啟發式求解)
- 凸優化:目標是凸函數,有全局最優保證
- 遺傳算法:模擬進化,適合複雜非線性問題
- 貝葉斯優化:高效的黑盒函數優化
AI 中的應用:
- 超參數調優:Optuna、Ray Tune、Hyperopt
- 神經架構搜索:在計算限制下找最佳模型結構
- 資源調度:GPU 集群的作業分配
- 提示優化:在長度限制下最大化模型輸出質量
與無約束優化的對比:
- 無約束:梯度下降、牛頓法
- 約束:拉格朗日乘數、KKT 條件、投影梯度
工具庫:
- Python:Scipy.optimize、CVXPY、PuLP、Google OR-Tools
- 專用:Gurobi、CPLEX(商業求解器)
挑戰:
- 非凸問題:多個局部最優,難找全局最優
- 大規模:變量數百萬,傳統方法無法處理
- 動態約束:環境變化時約束也變化
這是「工程化 AI」的數學基礎—— 理論上「更好」不如「在限制下最好」實用。