策略產品經理干貨系列之推薦系統離線評估方法與指標介紹

4 評論 5026 瀏覽 32 收藏 17 分鐘

不同的評估方法存在不同的優缺點,所以在進行推薦評估時,要詳細了解其指標,選擇合適的評估方法。本篇文章將分享推薦系統離線評估方法,幫助策略產品經理高效地完成工作。希望能對你有所幫助。

今天想就所有策略產品比較關注的推薦系統評估方法展開系列文章介紹,給大家從頭到尾講清楚推薦系統的評估度量衡,同時也是幫助大家明確作為策略如何基于不同的場景確認優化的標的方向。

本系列將基于離線評估、Replay方法、interleaving方法以及線上AB測試的視角來給大家從頭到尾講清楚策略產品對于推薦系統評估體系的搭建,各種評估方式的優缺點及其應用場景,讓每一位策略產品對于評估效果的選擇了然于心;歡迎大家對于本文進行討論。

一、推薦系統的評估體系

核心要點:一個成熟的推薦系統評估體系應該綜合考慮評估的效率和正確性,利用較少的資源位,快速篩選出效果更好的模型。

對于一個公司來說,最公正和合理的評估方法及時進行線上測試,評估模型是否能夠更好達成公司或者團隊的商業目標。

但是光使用線上A/B的測試方法要占用寶貴且有限的線上流量字眼,并且可能會對用戶體驗造成傷害。

所以,正是由于線上測試的種種限制,“離線測試”才成了策略產品退而其其次的選擇。離線測試可以利用近乎無限的計算資源,快速得到評估結構,從而實現模型的快速迭代化。

所以,并不是一種單一的評估體系即可滿足所有的評價場景和標準,作為策略產品,應該深刻的知曉和運用每一種評估方法去做到評測效率和正確性的平衡。

1. 推薦系統評估體系概述

從上圖可以看出,在線上A/B測試(最接近線上真實環境)和傳統的離線評估(評測的效率最高)之間,還有Replay和Interleaving等測試方法。

  • Replay方法是用來最大程度在離線狀態下模擬線上環境的過程。
  • Interleaving方法則可以建立快速的線上測試環境。

這種多層級的評估測試方法共同構成了完整的推薦系統評估體系,做到評測實現計算效率和線上真實性反饋的平衡。

2. 應用場景

1)評估效率適用場景

可以看的出來離線評估需要快速驗證模型的思想和提升效率,因此存在更多篩選的模型和驗證改正思想的時候。

由于數量巨大,“評估效率”就成為了最為關鍵的考慮因素,線上反饋的“真實性”就沒有那么苛刻和高要求,這時候就應該選擇效率更高的離線評估法則。

2)線上真實性反饋適用場景

候選模型被一層層篩選出來之后,接近正式上線接單,評估方法對于是否能夠真實反饋線上環境更加重要。

在模型正式上線前就需要做最接近真實產品體驗的A/B測試做模型評估,產生最具說服力的——業務商業指標,才能進行模型上線,完成模型迭代優化過程。

二、離線評估的方法

  • 定位:在推薦系統評估當中,離線評估往往被當做是最常用也是最基本的評估方法。其核心是指在模型部署在線上環境之前,在離線的環境進行評估。
  • 優點:1)由于不用部署到生產環境當中,離線評估就沒有線上部署的工程風險,也不用浪費線上流量的資源;2)測試時間短、同時可以進行多種并行測試,能夠利用豐富線下資源等優點。
  • 能力要求:對于策略產品充分掌握離線評估的要點,需要掌握兩個方面的知識:一是離線評估的方法有哪些;二是離線評估的指標有哪些。

離線評估的基本原理大家比較熟悉,主要是在離線環境當中,講數據集分為“訓練集”和“測試集”,用“訓練集”來訓練模型,用“測試集”來評估模型。

根據數據集劃分方式不同,離線評估的方法可以分為Hold out檢驗、交叉檢驗和自助法。

1. Hold-out留出法

Holdout檢驗是基礎的離線評估方法,其將原始的樣本集合隨機劃分成訓練集和測試集。

對于一個推薦模型來說,可以把樣本按照90%-10%的比例隨機劃分成兩個部分,90%用來做模型的訓練集,10%用來做模型的評估測試集。

Holdout檢驗的方法會存在一定的缺點,也就是在驗證集上計算出的評估指標與訓練集和測試集的劃分有直接的干系,如果進行少量的Holdout檢驗,則得到的結論會存在比較大的隨機性。

所以,為了消除隨機性影響,“交叉檢驗”法被提出。

2. 交叉檢驗法

1)K-fold交叉驗證法

把全部樣本劃分成K個大小相等的樣本子集(K取決于樣本集合總數,一般行業實驗取10),依次遍歷K個子集,每次會把當前的子集作為驗證集,其余所有子集當做是訓練集,進行模型的訓練和評估。

最后把K次評估的指標的平均值作為最終的評估指標,這個在之前機器學習的章節有提到過。

2)留一驗證法

和K-fold交叉驗證的思想比較類似,每次就留1個樣本作為驗證集,其余所有樣本作為測試集。

樣本總數n,依次遍歷n個樣本,進行n次驗證,再將評估的指標進行平均求得最終指標。缺點就是樣本多的情況下,驗證的計算和時間成本很大。

事實上,留1驗證是留p驗證的一種特例。留p驗證就是指代n個樣本集合中每次留p個樣本來做驗證集。

3. 自助法Bootstrap

前面提到的關于Hold-out留存法,或者是交叉檢驗法都需要劃分測試集和訓練集進行模型評估。然而當樣本規模比較小的時候,劃分驗證集會進一步讓訓練集減小,最終影響模型訓練的效果。

所以誕生了自助法(Bootstrap)自助采樣的檢驗方法:對于總數是n的樣本集合來進行n次有放回的隨機抽樣,得到大小為n的訓練集。

在n次采樣的過程中,有的樣本被重復采樣,有的樣本沒有被抽樣過,把這些沒有被抽樣的樣本作為驗證集合進行模型驗證,這就是自助法驗證過程。

三、離線評估的指標

要客觀評估一個推薦模型的好壞,那么就需要有一個客觀的度量衡指標來進行評估,并且需要多個角度的指標來評估推薦系統,從不同的視角來得到多個維度的結論。

以下是推薦系統在離線評估當中使用的比較多的指標,其實在之前介紹推薦系統排序模塊的時候就有給大家概述性介紹,從混淆矩陣的視角出發說明準確率(Accuracy)、召回率(recall)和精確率(Precision),這里我們再詳細介紹一下。

混淆矩陣說明

我們通過舉例的方式讓大家更加容易理解,首先,我們來理解混線矩陣當中的幾個概念,用推薦系統舉例方便大家理解。

  • TP(True Positive)在混淆矩陣中的意思就是模型預測item被點擊并且實際也被點擊。
  • FN(False Negetive)在混淆矩陣中的意思就是模型預測item不會被點擊但是實際被點擊。
  • FP(False Positive)在混淆矩陣中的意思就是模型預測item會被點擊但是實際不被點擊。
  • TN(True Negtive)在混淆矩陣的位置就是預測不被點擊實際也是曝光未點擊的結果。

1. 準確率(Accuracy)

準確率代表分類正確的樣本占據總樣本的個數比例,也就是:

其中分母代表總樣本數量,分子代表的是無論是預測會被點擊還是不被點擊,預測結果和實際結果保持一致的的樣本數量。

準確率是分類任務當中比較直觀的評價指標,雖然有比較強的可解釋性,但是也存在明顯缺陷。就是當不同分類的樣本不均勻的時候,占比大的類別往往就成為了影響預估準確率的主要因素。

如果負樣本占比是99%(即100個曝光后的樣本都是未點擊),那么把所有的樣本去預測成負樣本都可以獲得99%的準確率。

如果把推薦問題當做是一個點擊率預估方式的分類問題,在選定閾值進行正負樣本區分的前提下,可以用準確率評估推薦模型。

而在實際場景當中更多是利用推薦模型得到一個推薦序列,因此更多用精確率和召回率指標來衡量好壞。

2. 召回率(Recall)與精確率(Precision)

召回率代表分類正確的正樣本數占比所有真正的正樣本數的比例,也就是:

考察的是推薦系統模型當中在做分類任務時候把所有實際為正樣本預測成正樣本的能力,更多考察的就是對正樣本的覆蓋情況。

精確率是分類正確的正樣本數量占比分類器判定成正樣本的樣本個數比例,也就是:

代表著推薦系統模型在做分類任務中分類預測正向樣本的精準程度。

精確率和召回率是矛盾統一的兩個指標:即為了提高精確率,分類器需要盡量在“更優把握的時候”才把預測樣本預測為正樣本,但是往往會因為過于保守的預估而漏掉很多“沒有把握”的正樣本,導致召回率變低。

所以為了綜合的反映精確率和召回率的結果,可以采用F1-score,F1-score代表的是精確率和準確率的調和平均值。

其定義如下所示:

3. 均方根誤差 RMSE & 絕對百分比誤差 MAPE

均方根誤差(Root Mean Square Error,RMSE)經常被用來衡量回歸模型的好壞。

使用點擊率預估模型構建推薦系統的時候,推薦系統預測的其實是樣本為正樣本的概率,就可以用RMSE來評估。

定義如下:

其中yi表示第i個樣本點的真實值,而括號內的后者代表的是第i個點的預測值,n表示的是樣本點的個數。一般情況下RMSE能夠很友好的反映出預測值和真實值的偏離程度。

但是也存在一個明顯的缺點,就是如果個別點的偏離程度非常大(俗稱離群點),即使離群點非常的少,也會使得RMSE指標變得比較差。

所以為了解決這個問題,提出了魯棒性更強的平均絕對百分比誤差MAPE(Mean Absolute Percent Mape)。

MAPE的定義公式如下所示:

相比較RMSE,MAPE把每個點的誤差做了歸一化處理,降低了個別的離群點帶來的絕對誤差影響。

4. 對數損失函數LogLoss

對數損失函數LogLoss也經常在二分類問題用于離線評估使用的指數,LogLoss定義如下:

其中,yi為輸入實例xi的真實類別,pi為預測輸入實例xi是正樣本的概率,N為樣本總數。

其實LogLoss就是邏輯回歸的損失函數,大量深度學習模型的輸出層正是邏輯回歸或者是softmax,因此采用LogLoss作為評估指標可以非常直觀的反映模型的損失函數變化。

非常適用于觀察模型收斂情況的評估指標。

四、關于離線評估方法與指標介紹

本篇主要是針對日常策略產品工作中推薦系統離線的常用評估方法評估指標做了詳盡的介紹。

離線評估是推薦系統評估效率最快的一種方式,但是其缺點也較為明顯,即無法準確的反饋模型策略變更對于線上產生的影響效果,以及和業務場景結合的指標效果體現,這些都是離線評估方法的缺點。

但同時線上評估方法會存在諸多評估效率的問題。因此推薦系統策略產品需要明曉什么場景下應當選擇使用什么類型的評估方法,來達到準確真實性和效率的平衡。

關于離線評估方法和對應的指標文章也介紹了對應的優勢和缺點,復雜的推薦系統需要綜合不同的指標來進行全貌了解。

希望本篇文章能夠給大家引入對于推薦系統評估的方法論建議,有幫助還辛苦大家點贊、評論以及收藏三連。

本文由 @策略產品Arthur 原創發布于人人都是產品經理,未經許可,禁止轉載

題圖來自 Unsplash,基于 CC0 協議

該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 很經典的評估方法,只不過這個描述里面例子太少了,也不夠巨像,這么寫的話,除了那些做推薦或者做策略的同學,其他人恐怕都是一頭霧水

    來自江蘇 回復
  2. 感興趣策略產品同學可以關注Arthur主頁

    來自北京 回復
  3. 沒看懂,這個東西會用在什么地方嗎?

    來自廣東 回復
    1. 這個主要是推薦系統策略產品用于離線評估推薦模型離線效果的衡量方法,屬于垂直行業產品經理的工作經驗文章分享。

      來自北京 回復