SHAP 是什麼?

SHapley Additive exPlanations — SHAP 的完整解釋

SHAP 是一種基於賽局理論 Shapley 值的模型解釋方法,用於量化各特徵對模型預測的貢獻程度

容易混淆

傳統特徵重要性 傳統特徵重要性像只看誰出力最大,但沒考慮隊友之間怎麼互相影響。 SHAP 則像個精算師,它不只看單一特徵的影響,還會考慮所有特徵組合的情況,確保每個特徵的貢獻被公平且一致地評估。

最關鍵的區別:先看它是在比意思、比結構,還是在做任務輸出。

記住這句就好

要公平分攤每個特徵對預測的貢獻,就想到 SHAP。

實際案例

銀行想知道申請人被拒絕,是收入、負債比,還是信用紀錄影響最大。 醫療模型判定高風險時,醫師需要知道是哪個症狀或檢驗值推高了分數。

算法與應用

它用 Shapley value 思想衡量每個特徵在所有可能組合下的平均貢獻。 好處是能做局部解釋,也能彙總成全局重要性。

情境判斷

Q1(直覺題): 如果你只想知道哪個特徵影響最大,SHAP 還有用嗎?

→ 有。它不只給排名,還能看單一樣本的影響方向。

Q2(判斷題): 如果特徵之間彼此強相關,SHAP 的解讀會不會變複雜?

→ 會。看情況,特徵共線性高時,解釋要更小心。

相關術語

常見問題

SHAP 值可以是負數嗎?代表什麼意思?

是的,SHAP 值可以是負數。負的 SHAP 值表示該特徵對預測結果產生了負面影響,也就是說,該特徵降低了模型預測的數值。例如,在信用評分模型中,逾期還款的記錄可能會產生負的 SHAP 值,降低客戶的信用評分。

SHAP 值如何處理特徵之間的相關性?

SHAP 值在處理特徵相關性方面存在一定的挑戰。當特徵高度相關時,它們的 SHAP 值可能會被分配得不準確。一些研究提出了改進 SHAP 以更好地處理特徵相關性的方法,例如考慮特徵之間的交互作用或使用基於因果模型的 SHAP 變體。

SHAP 的計算成本很高,有沒有更快的替代方案?

是的,SHAP 的計算成本可能很高,特別是對於複雜模型和大型數據集。除了 KernelSHAP 和 TreeSHAP 等近似算法外,還有一些更快的替代方案,例如 FastSHAP 和 Saabas。這些方法通常犧牲一定的準確性來換取更快的計算速度,需要根據具體應用場景進行權衡。