離線評估
重要
從 2023 年 9 月 20 日起,您將無法建立新的個人化工具資源。 個人化工具服務將于 2026 年 10 月 1 日淘汰。
離線評估是一種方法,可讓您測試及評估個人化工具服務的有效性,而不需要變更程式碼或影響使用者體驗。 離線評估會使用從您的應用程式傳送至排名和獎勵 API 的過去資料,來比較不同排名的執行方式。
離線評估會在日期範圍上執行。 範圍可以延遲到目前的時間完成。 範圍的開頭不能超過為 資料保留 指定的天數。
離線評估可協助您回答下列問題:
- 個人化工具對於成功的個人化排名有多有效?
- 個人化工具線上機器學習原則達成的平均獎勵為何?
- 個人化工具如何比較應用程式預設會執行哪些工作的有效性?
- 個人化隨機播放的比較有效性為何?
- 手動指定不同學習原則的比較有效性為何?
- 內容哪些功能為成功個人化貢獻了或多或少?
- 動作的哪些功能或多或少地有助於成功個人化?
此外,離線評估可用來探索個人化工具未來可用來改善結果的更優化學習原則。
離線評估不會針對要用於探索的事件百分比提供指引。
離線評估的必要條件
以下是代表離線評估的重要考慮:
- 有足夠的資料。 建議的最小值至少為 50,000 個事件。
- 從具有代表性使用者行為和流量的期間收集資料。
探索優化的學習原則
個人化工具可以使用離線評估程式自動探索更理想的學習原則。
執行離線評估之後,您可以看到個人化工具與目前線上原則相較之下的新原則比較有效性。 然後,您可以套用該學習原則,使其在個人化工具中立即生效,方法是下載並上傳至 [模型和原則] 面板。 您也可以下載它以供日後分析或使用。
評估中包含的目前原則:
學習設定 | 目的 |
---|---|
線上原則 | 個人化工具中使用的目前學習原則 |
基線 | 應用程式的預設值 (由排名呼叫中傳送的第一個動作所決定) |
隨機原則 | 虛構的 Rank 行為,一律會傳回所提供動作的隨機播放。 |
自訂原則 | 啟動評估時上傳的其他學習原則。 |
優化原則 | 如果評估是以探索優化原則的選項開始,也會進行比較,而且您將能夠下載或使其成為線上學習原則,並取代目前的原則。 |
瞭解離線評估結果的相關性
當您執行離線評估時,分析結果的信賴範圍 非常重要 。 如果它們很寬,表示您的應用程式尚未收到足夠的資料,獎勵估計值才會精確或顯著。 當系統累積更多資料,而且您在較長的期間內執行離線評估時,信賴區間會變得更窄。
離線評估的完成方式
離線評估是使用稱為 「反事實評估 」的方法完成。
個人化工具是以使用者的行為(因此獎勵)無法追溯預測的假設為基礎(個人化工具無法得知如果使用者所看到的內容不同,會發生什麼情況),而且只能從測量的獎勵中學習。
這是用於評估的概念性程式:
[For a given _learning policy), such as the online learning policy, uploaded learning policies, or optimized candidate policies]:
{
Initialize a virtual instance of Personalizer with that policy and a blank model;
[For every chronological event in the logs]
{
- Perform a Rank call
- Compare the reward of the results against the logged user behavior.
- If they match, train the model on the observed reward in the logs.
- If they don't match, then what the user would have done is unknown, so the event is discarded and not used for training or measurement.
}
Add up the rewards and statistics that were predicted, do some aggregation to aid visualizations, and save the results.
}
離線評估只會使用觀察到的使用者行為。 此程式會捨棄大量資料,特別是如果您的應用程式執行具有大量動作的 Rank 呼叫時。
功能評估
離線評估可以提供動作或內容中有多少特定功能權衡更高的獎勵的相關資訊。 此資訊會根據指定的時間週期和資料使用評估來計算,而且可能會隨著時間而有所不同。
建議您查看功能評估,並詢問:
- 您的應用程式或系統可以沿著更有效率的程式提供哪些其他其他功能?
- 由於效率低,可以移除哪些功能? 低效率功能會將雜訊 新增 至機器學習服務。
- 是否有任何意外包含的功能? 這些範例包括:使用者可識別資訊、重複識別碼等。
- 由於法規或負責任的使用考慮,是否有任何不應該用來個人化的不想要功能? 是否有可 Proxy 的功能(也就是密切鏡像或相互關聯)不想要的功能?