分類:預測偏誤

邏輯迴歸預測結果不可偏誤。也就是:

「預測的平均值」;應等於「觀測到的平均值」

預測偏誤是指測量這兩個平均值之間的距離。也就是:

$$\text{prediction bias} = \text{average of predictions} - \text{average of labels in data set}$$

重大的非零預測偏誤表示模型中某處出現錯誤,因為這代表模型未發生正面標籤出現錯誤。

舉例來說,假設假設平均有 1% 的電子郵件是垃圾郵件。如果我們完全不知道特定電子郵件的任何資訊,就應該預測 1% 的垃圾郵件可能是垃圾郵件。同樣地,優良的垃圾郵件模型可預測電子郵件平均有 1% 是垃圾郵件。(換句話說,如果每封電子郵件的預測可能性平均值為平均值,結果為 1%)。反之,如果模型的平均預測值為垃圾內容的可能性為 20%,我們就可以歸納出預測代表偏誤。

預測偏誤的可能原因有:

  • 功能集不完整
  • 雜訊資料集
  • Buggy 管道
  • 偏誤訓練範例
  • 過度正規化

您可能會在處理學習的模型後進行後續處理,例如透過新增校正層調整模型的輸出內容,以減少預測偏誤,藉此修正預測偏誤。舉例來說,如果您的模型有 +3% 的偏誤,您可以新增校正層,將平均預測值降低 3%。不過,新增校正圖層是不佳的做法,原因如下:

  • 您需要修正問題,而非原因。
  • 您建構的更精簡的系統必須立即更新。

請盡量避免使用校正圖層。使用校正層的專案通常依賴於這些元件,而使用校正層來修正所有模型。最後,維護校正圖層可能會成為床邊。

特徵分塊和預測偏誤

邏輯迴歸功能可預測介於 0 至 1 之間的值。不過,所有已加上標籤的範例都剛好為 0 (例如,「不是垃圾內容」) 或正好 1 (也就是「免付費」的意思)。因此,在預測預測偏誤時,您無法只根據一個範例準確判斷預測偏誤;您必須針對範例的「值區」檢查預測偏誤。也就是說,邏輯迴歸的預測偏誤只會在將足夠範例分組時,能與預測值 (例如 0.392) 與觀察到的值 (例如 0.394) 進行比較。

您可以透過下列方式建立值區:

  • 以線性方式細分目標預測。
  • 分位數。

請參考下列特定模型的校正圖。每個點都代表一個 1,000 個值的值區。軸的意義如下:

  • X 軸代表模型針對該值區預測的值平均值。
  • Y 軸代表該值區資料集中實際值的平均平均值。

這兩個軸線都是對數比例。

X 軸代表預測,Y 軸代表標籤。如果預測的中位數和高數值,預測偏誤可以忽略,如果預測值偏低,預測偏誤則相對較高。

圖 8. 預測偏誤曲線 (對數比例)

為什麼預測模型只適用於部分部分的模型?以下提供幾種可能性:

  • 訓練集並不代表資料空間的某些子集。
  • 部分資料集較為雜訊。
  • 模型過度正規化。(請考慮降低 lambda 的值)。