極小極大近似(minimax approximation)
當你用更簡單的函數(譬如低次多項式)取代一個函數時,你在意的是整個範圍中「最糟」的錯誤,而非平均。一個 sin(x) 的函式庫常式必須在每個輸入上都準確,所以目標是讓那單一最大誤差盡可能小。極小極大近似正是如此:在給定形式的所有近似中,它找出最大誤差最小者——它「最小化」「最大」偏差。
形式上,對某區間上的目標 f,你尋找使最糟差距(所謂的 L-無窮或一致範數 max over x of |f(x) - p(x)|)最小的 n 次多項式 p。這與最小平方(最小化「平均」平方誤差,可能放任峰值誤差增長)不同,也與插值(迫使誤差在節點為零,卻不管別處)不同。極小極大解存在且唯一,並有一個由等波動定理描述的驚人特徵:誤差曲線 f(x) - p(x) 至少 n + 2 次達到其最大幅值,且每次正負號翻轉,像一道在 +E 與 -E 之間等量彈跳的波。那等漣波的圖樣就是最優性的指紋——若漣波不均,你就能微調 p 削去最高的那一個。
凡是需要保證誤差界的地方,極小極大都是黃金標準:數學函式庫中為 exp、log、sin 內建的多項式與有理近似都是極小極大設計,由尋找等波動解的 Remez 交換演算法算出。誠實的實務注記:真正的極小極大多項式比最小平方或插值更難計算(需要迭代的 Remez 演算法),所以實務上常用切比雪夫節點上的插值作為近極小極大的捷徑——它可證明在最優的一個小倍數之內,且便宜得多。極小極大回答「一個 n 次近似最好能多好?」,而它的存在仰賴魏爾斯特拉斯定理,後者說隨次數增長誤差可被驅至零。
用一條直線近似 [-1, 1] 上的 f(x) = |x|。最佳一致直線是常數 p(x) = 0.5:誤差 |x| - 0.5 在 x = -1 處為 +0.5、x = 0 處為 -0.5、x = 1 處為 +0.5——三個等幅交替的峰,正是最優性的等波動特徵。沒有直線能做得比 0.5 更好。
最優意味著誤差漣波在 +E 與 -E 之間等量彈跳。
極小極大最小化「最糟」誤差(一致範數),而非平均平方誤差(那是最小平方)。真正的極小極大多項式需要迭代的 Remez 演算法,所以常用切比雪夫節點插值作為便宜的近極小極大替代。