預測功能的特徵歸因

簡介

本頁面提供概念的簡短總覽,瞭解 Vertex AI 支援的特徵歸因方法。如需深入的技術討論,請參閱AI 說明白皮書

全域特徵重要性 (模型特徵歸因) 會顯示各項特徵對模型的影響程度。系統會為每個特徵提供百分比值,百分比越高,代表該特徵對模型訓練的影響越大。舉例來說,在查看模型的全域特徵重要性後,您可能會得出以下結論:「模型發現上個月的銷售量通常是下個月銷售量的最強預測指標。顧客人數和促銷活動等因素固然重要,但相較於銷售數據,重要性還是略遜一籌。」

如要查看模型的全域特徵重要性,請檢查評估指標

時間序列模型的局部特徵歸因會指出模型中各項特徵對預測結果的影響程度。這項指標會根據輸入基準,評估特徵對預測結果的貢獻度。如果是銷售量等數值特徵,基準輸入值就是銷售量中位數。如果是類別特徵 (例如產品名稱),基準輸入內容是最常見的產品名稱。所有歸因的總和並非預測結果。總和表示預測結果與基準預測 (即所有輸入內容都是基準輸入內容) 的差異。

系統會根據反事實預測結果,判斷特徵歸因。預測範例如下:如果將 2020-11-21 的廣告值 TRUE 替換為最常見的值 FALSE,預測結果會如何?反事實的必要數量會隨著資料欄數量和路徑數量 (服務產生) 而擴增。預測結果數量可能比一般預測工作多出好幾個數量級,預期執行時間也會相應增加。

您可以使用 AutoML 預測表格預測工作流程,產生及查詢本機特徵歸因。使用 AutoML 進行預測時,僅支援批次預測。表格預測工作流程支援批次預測線上預測

優點

檢查特定例項,並彙整訓練資料集中的特徵歸因,有助於深入瞭解模型的運作方式。優點如下:

  • 偵錯模型:特徵歸因可協助偵測資料中的問題,而標準模型評估技術通常會遺漏這些問題。

  • 最佳化模型:您可以找出並移除較不重要的特徵,進而提高模型效率。

概念限制

請注意功能歸因的下列限制:

  • 特徵歸因 (包括 AutoML 的本機特徵重要性) 適用於個別推論。檢查個別推論的特徵歸因可提供實用洞察,但這些洞察可能無法套用至該個別執行個體的整個類別或整個模型。

    如要取得 AutoML 模型更具一般性的洞察資料,請參閱模型特徵重要性。如要取得其他模型的更一般化洞察資料,請匯總資料集子集或整個資料集的歸因。

  • 每項歸因只會顯示特徵對特定範例推論的影響程度。單一歸因可能無法反映模型的整體行為。如要瞭解模型在整個資料集上的概略行為,請匯總整個資料集的歸因。

  • 雖然特徵歸因有助於模型偵錯,但無法清楚指出問題是源自模型,還是模型訓練所用的資料。請運用您的判斷力,診斷常見的資料問題,縮小可能原因的範圍。

  • 出處完全取決於模型和用於訓練模型的資料。 說明內容只會揭示模型在資料中發現的模式,無法偵測資料中的任何基礎關係。如果某項特徵的歸因強度高或低,並不代表該特徵與目標之間有或沒有關係。歸因只會顯示模型是否在推論中使用該特徵。

  • 單靠屬性無法判斷模型是否公平、沒有偏見或品質良好。除了歸因之外,請仔細評估訓練資料和評估指標。

如要進一步瞭解相關限制,請參閱「AI 解釋白皮書」。

改善功能屬性

下列因素對特徵歸因的影響最大:

  • 歸因方法會估算 Shapley 值。您可以增加取樣 Shapley 方法的路徑數量,提高近似值的精確度。因此,歸因結果可能會大幅變動。
  • 歸因僅表示這項功能對推論值變更的影響程度 (相較於基準值)。請務必選擇有意義的基準,與您向模型提出的問題相關。切換基準線時,歸因值和解讀方式可能會大幅變更。

您可以在「說明參數和中繼資料」中查看路徑計數和基準。

查看說明中繼資料和參數

說明參數和中繼資料包含下列項目:

  • static_value:用於產生說明的基準
  • pathCount路徑數量,這是產生特徵歸因所需時間的因素之一。
  • historical_valuesprediction_values:預測中可用的資料欄。
  • historical_values:無法在預測中使用的資料欄。

您可以使用 Vertex AI REST API 查看模型,其中包含說明規格。

REST

使用任何要求資料之前,請先替換以下項目:

  • LOCATION:模型儲存所在的區域
  • PROJECT:您的專案 ID
  • MODEL_ID模型資源的 ID

HTTP 方法和網址:

GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID

如要傳送要求,請選擇以下其中一個選項:

curl

執行下列指令:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID"

PowerShell

執行下列指令:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID" | Select-Object -Expand Content

針對訓練完成的 AutoML 模型,畫面會顯示類似以下的輸出:

演算法

Vertex AI 會使用夏普利值提供特徵歸因。夏普利值是一種合作賽局理論演算法,可為遊戲中的每位玩家指派特定結果的功勞。套用至機器學習模型時,這表示每個模型特徵都會被視為遊戲中的「玩家」,並根據特定推論的結果分配功勞。對於結構化資料模型,Vertex AI 會使用確切 Shapley 值的近似取樣,稱為「取樣 Shapley 值」

如要深入瞭解取樣夏普利值方法的運作方式,請參閱「Bounding the Estimation Error of Sampling-based Shapley Value Approximation」論文。

後續步驟

下列資源提供更多實用教育資料: