Shapley 加法解釋(SHAP (SHapley Additive exPlanations))是什麼?

基於賽局理論 Shapley 值,量化每個特徵對模型單一預測結果貢獻度的可解釋 AI 方法。|本頁含完整原理、應用場景、iPAS 考試重點與 3 個常見問答。

英文
SHAP (SHapley Additive exPlanations)
主題標籤
可解釋AI、特徵重要性、賽局理論
考點定位
非 iPAS 核心術語
最後更新
2026/06/22
Shapley 加法解釋(SHAP (SHapley Additive exPlanations))是什麼? 可解釋AI特徵重要性
術語快查

搜尋意圖: 如果你在找「Shapley 加法解釋 是什麼」或「Shapley 加法解釋 和相近概念差在哪」,先看這頁的短定義、完整說明與延伸比較。

TL;DR: 基於賽局理論 Shapley 值,量化每個特徵對模型單一預測結果貢獻度的可解釋 AI 方法。

實用情境: 適合用在閱讀 AI 文章、產品文件或和同事討論時,先用一頁快速對齊概念。

下一步: 先讀完定義,再往下看延伸比較與對應工具,把概念轉成實際應用。

基於賽局理論 Shapley 值,量化每個特徵對模型單一預測結果貢獻度的可解釋 AI 方法。

SHAP(SHapley Additive exPlanations)由 Lundberg 與 Lee 於 2017 年提出,核心思想源自諾貝爾獎得主 Lloyd Shapley 在 1953 年提出的合作賽局理論(Cooperative Game Theory)中的 Shapley 值(Shapley Value)。

Shapley 值的直觉解釋 在賽局理論中,Shapley 值解決了一個問題:多個玩家合作產生收益時,如何公平地分配各自的貢獻? Shapley 的答案是:每個玩家的貢獻值 = 在所有可能的玩家組合(聯盟)中,該玩家加入與未加入時的平均邊際貢獻。

SHAP 將此概念移植到機器學習:每個特徵是一個「玩家」,模型的預測值是「收益」,SHAP 值衡量的是「這個特徵的存在,使模型的預測從基準值(所有樣本的平均預測)改變了多少」。

SHAP 的數學性質

Lundberg 等人證明 SHAP 是唯一同時滿足以下三個公理的加法性特徵歸因方法:

  1. 局部準確性(Local Accuracy):所有特徵的 SHAP 值之和 + 基準值 = 該樣本的實際模型輸出。
  2. 缺失性(Missingness):不影響預測的特徵,其 SHAP 值為 0。
  3. 一致性(Consistency):如果一個模型被修改後某特徵的邊際貢獻增加,該特徵的 SHAP 值不應減少。

計算方式的演進

精確的 Shapley 值計算需要遍歷所有特徵子集,複雜度為指數級,在特徵數多時不可行。SHAP 框架提出了多種針對不同模型的高效計算方法:

  • TreeSHAP:專為基於樹的模型(XGBoost、LightGBM、隨機森林)設計的精確計算方法,時間複雜度為多項式級,速度極快,是目前使用最廣泛的 SHAP 計算器。
  • LinearSHAP:針對線性模型的解析解,考慮特徵間的相關性。
  • KernelSHAP:模型無關的近似方法,基於 LIME 的加權線性回歸框架,適用於任何黑箱模型,但速度較慢。
  • DeepSHAP:針對深度神經網路,結合 DeepLIFT 方法近似計算。

SHAP 的解釋層次

  1. 局部解釋(Local Explanation):針對單一預測,顯示每個特徵如何將預測值從基準值推高或拉低,常以瀑布圖(waterfall plot)或力圖(force plot)呈現。
  2. 全局解釋(Global Explanation):
    • SHAP 重要性圖(feature importance):所有樣本 SHAP 值絕對值的平均,類似傳統特徵重要性但更精確。
    • SHAP 蜂群圖(beeswarm plot):同時顯示每個特徵的重要性與方向性(正向/負向影響)。
    • SHAP 依賴圖(dependence plot):顯示某特徵的值與其 SHAP 值的關係,類似偏依賴圖(PDP)但更精確。

應用場景

  • 金融信貸決策:解釋為什麼這位申請者被拒絕(法規合規需求)。
  • 醫療 AI:解釋模型為什麼認為某患者有較高風險。
  • 特徵選擇:用 SHAP 值識別對模型真正有貢獻的特徵,剔除雜訊特徵。
  • 模型偵錯:發現模型依賴了不應依賴的特徵(如日期洩漏、偽相關)。
  • 業務洞察:從模型的 SHAP 值中提煉有業務意義的規律。

SHAP vs. 其他解釋方法

  • SHAP vs. LIME:兩者都是局部線性近似,但 SHAP 有嚴格的數學公理(三條準則),LIME 的解釋依賴採樣策略,可能不穩定。
  • SHAP vs. 特徵重要性(Feature Importance):傳統特徵重要性(如 MDI)無法解釋單一預測,且在特徵相關時可能被稀釋;SHAP 可同時做局部與全局解釋,且考慮了特徵間的相互作用。

常見問題

SHAP 值為正是好事還是壞事?

取決於你關注的是什麼。SHAP 值為正代表「這個特徵使模型的預測值相對於基準值升高」,為負代表「這個特徵使預測值降低」。好壞需要結合任務目標判斷:若正類(y=1)代表「患病」,某個特徵的 SHAP 值為正,表示該特徵增加了模型的患病預測概率。若你是患者,這可能是壞消息;若你是模型工程師在分析特徵方向是否合理,需要確認這個正方向是否符合醫學常識。

計算 SHAP 值很耗時嗎?可以在大規模生產環境使用嗎?

取決於模型類型和計算方法。若使用 TreeSHAP(針對樹模型的精確算法),計算速度相當快,通常可在毫秒到秒級完成單一樣本的解釋,可用於線上即時解釋。若使用 KernelSHAP(模型無關的近似方法),每個樣本的計算時間較長(可能需數十秒甚至更久),在大規模生產環境中通常需要非同步計算或預先批次計算。深度神經網路的 SHAP 計算也較慢。實務上,建議先評估目標環境的延遲要求,再選擇適合的計算策略。

SHAP 能解釋特徵之間的交互效應嗎?

可以,這是 SHAP 相較於許多解釋方法的優勢之一。SHAP 互動值(SHAP Interaction Values)能將每個特徵的 SHAP 值進一步分解為「主效應」(該特徵單獨的貢獻)和「與每個其他特徵的互動效應」(兩個特徵聯合出現時的額外貢獻)。這讓分析人員可以識別哪些特徵對存在顯著的交互作用,例如「年齡」與「吸菸」在預測心臟病風險時可能有非線性的交互效應。TreeSHAP 支援高效的互動值計算,KernelSHAP 則不直接支援。