1.推薦系統的實驗方法
1.1 離線實驗 offline experiment
即收集用戶行為數據集,並分為訓練集和測試集,在訓練集上訓練用戶興趣模型,在測試集上進行預測——通過事先定義的離線指標評測算法在測試集上的預測結果。
offline experiment的缺點是無法獲得很多商業上關注的指標,比如點擊率、轉化率等。羅列其優缺點如下:
1.2 用戶調查
即調查問卷。注意提供用戶對於同一個事要在不同的維度的評價。
在線AB測試
即分成不同的組進行對照試驗。
總結
- 一般要通過離線實驗證明很多離線指標優於現有算法;
- 調查問卷證明用戶滿意度不低於現有算法(准確度高不一定滿意度高);
- 通過在線的AB測試確定其商業指標優於現有算法;
2. 評測指標
評測指標主要有預測准確度(評分預測、topN推薦)、覆蓋率、多樣性、新穎性、驚喜度、用戶滿意度、信任度、實時性、健壯性、商業目標等。有些可以定量計算,有些則只能定性描述。
2.1 預測准確度
是最重要的推薦推薦系統離線評測指標。
評分預測即通過用戶以往對於各種商品的評分,來獲得用戶的興趣模型,然后==預測用戶看到一個沒有評過分的物品時會給多少分。評分預測准確度通過均方根誤差RMSE和平均絕對誤差MAE計算。公式如下:
$RMSE=\sqrt{ \frac{ \sum_{r,i\in T}(r_{ui}-\hat{r}_{ui}) }{|T|} } $
$ MAE=\frac{ \sum_{u,i \in T}|r_{u,i}-\hat{r}_{u,i}| }{|T|} $
$r_{ui} $
是用戶u對商品i的實際評分,$\hat{r}_{ui} $
這是推薦算法的預測評分。
topN推薦即網站推薦給用戶的推薦列表,一般通過 准確率precision/召回率recall 度量。公式如下:
-
$ Recall=\frac{ \sum_{u \in U}|R(u)\cap T(u)| }{ \sum_{u \in U}|T(U)| } $
-
$ Recall=\frac{ \sum_{u \in U}|R(u)\cap T(u)| }{ \sum_{u \in U}|R(u)| } $
其中 R(u)是根據用戶在訓練集上的行為給出的推薦列表, T(u) 是根據用戶在測試集上的行為給出的推薦列表。
2.2覆蓋率 coverage
coverage是推薦系統推薦出來的物品占總物品的比例。計算公式如下三種:
-
$ Coverage=\frac{|\cap_{u \in U} R(u)| }{|I|} $
-
信息熵(其中p(i)是物品i流行度除以所有物品流行度之和):
$ H=- \sum_{i=1}^n p(i)logp(i)$
-
基尼系數(Gini Index),其中
$i_j$
是按照物品流行度p從小到大排列順序的物品中第j個物品:
$ G=\frac{1}{n-1} \sum_{j-1}^n(2j-n-1)p(i_j) $
-- 寫latex好麻煩啊,等待實際用到時在詳更這些評測指標,查閱見《推薦系統實踐》項亮