"術語"
- alert fatigue:告警疲勞
alert fatigue 指誤報或告警太多、人對告警逐漸麻木,連真正重要的也忽略。它不是 false positive 的同義詞,而是 false positive 持續累積造成的人因後果
- false alarm:監控的偽警報
false alarm 指監控、告警或入侵偵測系統觸發了,但實際沒事,是 monitoring / IDS 領域的 false positive。字面就是「假警報」,與訊號偵測的 false positive 同源
- false negative:假陰性是 false positive 的另一半
false negative(假陰性)是偵測器漏掉真實存在的東西——說「沒有」,真實卻是「有」。它和 false positive 同屬混淆矩陣的兩個錯誤格,統計叫 Type II error、訊號偵測叫 miss。本篇講概念、各領域稱呼,與兩者的取捨
- false positive:訊號偵測理論借給全世界的詞
假陽性常被當成醫學詞,其實源自二戰的訊號偵測理論。任何「偵測器判斷 × 真實狀態」的二乘二場景都需要這組詞,所以統計、程式、醫學各自沿用。本篇講概念與源頭,並導覽各領域的稱呼
- false trigger / 誤觸:守衛被不該觸發的東西觸發
false trigger(誤觸)指守衛或偵測器被「形似但非真意圖」的輸入觸發,是 hook / guard 場景的 false positive。常見機制是 over-match,典型例子是關鍵字守衛對引用該關鍵字的文字誤觸
- flaky:時綠時紅的測試
flaky test 指同一份程式碼、同一個測試,不改任何東西卻時過時不過。它是測試的 false positive(該綠卻紅)裡特指「間歇、非確定性」的那種
- noise:淹沒真訊號的誤報
noise(噪音)指大量 false positive 累積、淹沒真正重要的訊號。借自訊號處理的訊噪比概念,常用於形容 linter、掃描、監控誤報過多的狀態
- over-match:規則比對過寬而誤命中
over-match(又稱 over-broad match、spurious match)指規則或樣式寫得太寬,命中了不該命中的東西。它是許多 false positive 的機制層成因,常見於 regex 與 glob
- precision:報出來的有多少是真的
precision(精確率)= TP /(TP + FP),衡量偵測器說「有」的之中有多少是真的。false positive 越多,precision 越低。與 recall 成對、構成評估分類器的兩端
- recall:真的之中抓到多少
recall(召回率、又稱敏感度 sensitivity)= TP /(TP + FN),衡量真實存在的之中偵測器抓到多少。false negative 越多,recall 越低。與 precision 成對
- spurious failure:偽失敗
spurious failure 指測試或建置失敗了,但失敗的原因不是被測對象本身(環境、網路、暫態),屬測試的 false positive。與 flaky 的差別在強調「這次的因非真因」而非間歇
- spurious warning:linter 的偽警告
spurious warning 指靜態分析或編譯器報的警告,但其實沒有問題,是 linting / 編譯領域的 false positive。常因規則過嚴或分析器無法證明安全而起
- Type I error:統計學給假陽性的編號
統計假設檢定把 false positive 叫 Type I error、false negative 叫 Type II error。本篇講這兩個編號的意思、與顯著水準 α 的關係,以及一個好記的順序
- Type II error:統計學給假陰性的編號
Type II error 是 false negative 在假設檢定裡的稱呼:沒拒絕為假的虛無假設、漏掉真實效果。與 Type I error 成對,機率記為 β,檢定力 power = 1 − β
- 守衛和規則為什麼會誤觸
一個守衛、linter 或規則明明邏輯沒錯,卻命中了不該命中的東西。多半是規則寫太寬。描述這種誤觸的詞各有切面,這是它們的入口
- 你的自動判斷會犯兩種錯:誤報與漏接
任何會自動判斷有/無的東西——測試、掃描、分類器、守衛——都會犯兩種錯:說有實無(誤報)與說無實有(漏接)。這是理解一整組偵測術語的入口
- 告警太多,反而沒人看
當監控、掃描、linter 的誤報多到一個程度,真正重要的訊號會被淹沒,人也會對告警麻木。這一連串問題各有名字,這是它們的入口
- 怎麼量一個偵測器準不準
當你想說「這個偵測器有多好」,光講準確率不夠。誤報與漏接要分開量,於是有了 precision 和 recall 兩把尺。這是它們的入口
- 測試紅燈不一定是真的壞
測試報紅,未必是被測程式碼有問題。可能是間歇性不穩定,也可能是環境暫態。這兩種測試的誤報各有名字,這是它們的入口