基礎:演算法、近似與誤差
絕對誤差
絕對誤差是近似值與真值之間最樸素、不加修飾的距離:若 x 是真值、x~ 是你算出的近似,則絕對誤差為 |x~ - x|。它回答一個簡單的問題:「我偏離多遠,用量本身的單位來算?」真值是 5.00 公尺、卻預測為 5.03 公尺的長度,其絕對誤差是 0.03 公尺。
因為它帶著量的單位與尺度,當這些單位裡有自然的容忍度時,絕對誤差正是你要的——「零件須在 0.1 公釐內」、「當變化低於 1e-8 時停止迭代」。對向量或函數,你用範數來量它,例如 ||x~ - x||_2(誤差向量的歐氏長度)或最大範數(最大的單一分量誤差)。在迭代法中,相鄰迭代值之間的變化 |x_{n+1} - x_n| 是你看不見的真實絕對誤差的廉價實用替身。
絕對誤差有一個盲點:它不知道量是大是小。0.03 的誤差,在真值為一百萬旁微不足道,在真值為 0.001 旁卻是災難。這正是相對誤差存在的理由——它把誤差按答案的大小縮放。當自然尺度固定且已知時用絕對誤差;當量值橫跨許多數量級(如浮點數那樣)時則改用相對誤差。
用 22/7 = 3.142857... 近似 pi = 3.141592...:絕對誤差為 |3.142857 - 3.141592| = 0.001264,約千分之 1.3,以與 pi 本身相同的(無因次)單位表示。
以量本身的單位表示的、到真值的距離——簡單,但對尺度視而不見。
單看絕對誤差可能誤導:0.001 對接近一百萬的值極佳,對接近 0.001 的值卻很糟。在選用絕對誤差而非相對誤差之前,先問尺度是否固定。
又称
另见