推斷解釋性

重要

從 2023 年 9 月 20 日起,您將無法建立新的個人化工具資源。 個人化工具服務將於 2026 年 10 月 1 日淘汰。

個人化工具可協助您瞭解所選動作的哪些功能,在推斷期間最不具影響力和最不具影響力。 啟用時,推斷可解釋性包含基礎模型的功能分數到排名 API 回應,因此您的應用程式會在推斷時收到這項資訊。

功能分數可讓您進一步瞭解特性與個人化工具所做出決策之間的關聯性。 其可用來提供使用者關於為何提出特定建議的見解,或分析您的模型是否表現出特定內容設定、使用者和動作的偏差。

如何? 啟用推斷解釋性嗎?

在您的服務組態中設定服務組態旗標 IsInferenceExplainabilityEnabled 可讓個人化工具在排名 API 回應中包含功能值和權數。 若要更新您目前的服務組態,請使用 服務組態 – 更新 API。 在 JSON 要求主體中,包含您目前的服務組態,並新增其他專案:「IsInferenceExplainabilityEnabled」:true。 如果您不知道目前的服務組態,您可以從服務組態 – 取得 API 取得它

{
  "rewardWaitTime": "PT10M",
  "defaultReward": 0,
  "rewardAggregation": "earliest",
  "explorationPercentage": 0.2,
  "modelExportFrequency": "PT5M",
  "logMirrorEnabled": true,
  "logMirrorSasUri": "https://testblob.blob.core.windows.net/container?se=2020-08-13T00%3A00Z&sp=rwl&spr=https&sv=2018-11-09&sr=c&sig=signature",
  "logRetentionDays": 7,
  "lastConfigurationEditDate": "0001-01-01T00:00:00Z",
  "learningMode": "Online",
  "isAutoOptimizationEnabled": true,
  "autoOptimizationFrequency": "P7D",
  "autoOptimizationStartDate": "2019-01-19T00:00:00Z",
"isInferenceExplainabilityEnabled": true
}

注意

啟用推斷可解釋性會大幅增加對排名 API 的呼叫延遲。 建議您試驗這項功能,並測量案例中的延遲,以查看它是否符合應用程式的延遲需求。

如何解譯特徵分數?

啟用推斷說明功能會將集合新增至排名 API 中名為 inferenceExplanation 的 JSON 回應。 這包括在排名要求中提交的功能名稱和值清單,以及個人化工具基礎模型所學習的功能分數。 功能分數可讓您深入瞭解在選擇動作的模型中,每個功能的影響程度。


{
  "ranking": [
    {
      "id": "EntertainmentArticle",
      "probability": 0.8
    },
    {
      "id": "SportsArticle",
      "probability": 0.15
    },
    {
      "id": "NewsArticle",
      "probability": 0.05
    }
  ],
 "eventId": "75269AD0-BFEE-4598-8196-C57383D38E10",
 "rewardActionId": "EntertainmentArticle",
 "inferenceExplanation": [
    {
        "id”: "EntertainmentArticle",
        "features": [
            {
                "name": "user.profileType",
                "score": 3.0
            },
            {
                "name": "user.latLong",
                "score": -4.3
            },
            {
                "name": "user.profileType^user.latLong",
                "score" : 12.1
            },
        ]
  ]
}

在上述範例中,排名集合中會傳回三個動作標識符,以及其各自的機率分數。 具有最大機率的動作the_最佳action_,如傳送至個人化工具 API 的數據定型模型所決定,在此案例中為 "id": "EntertainmentArticle"。 您可以在推斷Explanation 集合中再次看到動作標識符,以及模型針對該動作所決定的功能名稱和分數,以及傳送至排名 API 的功能和值。

回想一下,個人化工具會傳回 探索原則選擇的最佳動作探勘動作 。 最佳動作是模型判斷的最大機率來最大化平均獎勵,而探勘動作則是在排名 API 呼叫中提供的所有可能動作集合中選擇。 在探索期間所採取的動作不會利用特徵分數來判斷要採取的動作,因此 不應使用探勘動作的功能分數來了解採取動作的原因。您可以在這裏深入瞭解探索。

針對個人化工具傳回的最佳動作,功能分數可以提供一般見解,其中:

  • 較大的正數分數為選擇此動作的模型提供更多支援。
  • 較大的負數分數可為模型提供更多支援,而不是選擇此動作。
  • 接近零的分數對選擇此動作的決定有很小的影響。

推斷解釋性的重要考慮

  • 延遲增加。 啟用 推斷解釋性 會大幅增加排名 API 呼叫的延遲,因為處理功能資訊。 執行實驗並測量案例中的延遲,以查看它是否符合應用程式的延遲需求。

  • 相互關聯的功能。 彼此高度相互關聯的功能可減少功能分數的公用程式。 例如,假設特徵 A 與功能 B 高度關聯。可能是特徵 A 的分數是較大的正值,而特徵 B 的分數是較大的負值。 在此情況下,這兩個功能可能會有效地取消彼此,而且對模型沒有影響。 雖然個人化工具對高度相互關聯的功能非常強大,但在使用 推斷解釋性時,請確定傳送至個人化工具的功能不會高度相互關聯

  • 僅限預設探索。 目前,推斷解釋性僅支持預設探索演算法。

下一步

增強式學習