用戶調研
- 優勢:能夠得到不少體現用戶主觀感覺的指標,比在線實驗風險低,出現錯誤後很容易彌補。
- 缺點:招募測試用戶代價較大;很難組織大規模的測試用戶,所以測試結果的統計意義不足。
在線評估
設計一個在線實驗,而後根據用戶的在線反饋結果來衡量推薦系統的表現。在線評估中,比較重要的兩個選擇點是——在線實驗方式和在線評估指標。算法
ABTest介紹
ABTest就是爲了實現同一個目標制定兩個方案,讓一部分用戶使用A方案,另外一部分用戶使用B方案,記錄下兩部分用戶的反饋狀況,而後根據相應的評估指標確認哪一種方案更好。
互聯網行業裏,在軟件快速上線的過程當中,ABTest是一個幫助咱們快速試錯的實驗方法。在統計學上,ABTest實際上是假設檢驗的一種形式。它能幫助開發者瞭解推薦系統的改動是否有效、可以帶來多大的KPI提高。
在推薦系統中,爲了對比不一樣算法、不一樣數據集對最終結果的影響,經過必定的規則將用戶隨機分紅幾組,並對不一樣組採起不一樣的召回或推薦算法,最終經過不一樣組用戶的各類評估指標來進行對比分析。
一個典型獲得ABTest架構圖以下所示:
架構
這裏須要注意的是,在對用戶進行分桶並召回商品以後,須要從新將用戶打散並分桶,這樣能確保不一樣桶之間的用戶沒有相關性,召回池中的ABTest和排序部分的ABTest沒有關聯,互不影響。機器學習
在線評估指標
在線評估指標是指在實際的業務場景中去評估推薦系統好壞的指標。常見的在線評估指標包括點擊率、轉化率、GMV等。性能
離線評估
根據待評估推薦系統在實驗數據集上的表現,基於一些離線評估指標來衡量推薦系統的效果。相比於在線評估,離線評估更方便、更經濟,一旦數據集選定,只需將待評估的推薦系統在此數據集上運行便可。離線評估最主要的環節有兩個:拆分數據集、選擇離線評估指標。
數據集拆分
在機器學習中,一般將數據集拆分爲訓練數據集、驗證數據集和測試數據集。它們的功能分別以下。
訓練數據集(Train Dataset):用來構建機器學習模型。
驗證數據集(Validation Dataset):輔助構建模型,用於在構建過程當中評估模型,爲模型提供無偏估計,進而調整模型的超參數。
測試數據集(Test Dataset):評估訓練完成的最終模型的性能。
三類數據集在模型訓練和評估過程當中的使用順序如圖所示。
數據集拆分的方式有:學習
離線評估指標
離線評估指標用於預估模型上線前在整個推薦系統中能達到的效果。常見的離線評估指標能夠分爲兩大類:
- 準確度指標:評估推薦系統的最基本的指標,衡量的是指標推薦算法在多大程度上可以準確預測用戶對推薦商品的偏好程度,能夠分爲分類準確度指標、預測評分準確度指標、預測評分指標關聯。
- 非準確度指標:在推薦系統達到必定的準確度以後,衡量推薦系統豐富度和多樣性等的指標。
其中預測分類準確度指標包含:測試
- AUC
- 準確率(Accuracy)
- 精確率(Precision)
- 召回率(Recall)
- F-measure值。
預測評分準確度指標包含:.net
- 平均絕對偏差(MAE)
- 均方偏差(MSE)
- 均方根偏差(RMSE)
預測評分關聯指標包含:設計
- 皮爾遜積距相關係統
- 斯皮爾曼等級相關係數
- 肯德爾等級相關係數
預測排序準確度指標包含:blog
非準確度的指標包含:排序
- 多樣性
- 新穎性
- 驚喜度
- 覆蓋率
- 信任度
- 實時性
- 健壯性
- 商業目標
參考資料
http://www.javashuo.com/article/p-seraxgep-mt.html