推薦系統評測的三個步驟
通常來講,一個新的推薦算法最終上線,須要完成離線實驗,用戶調查和在線實驗三個步驟。
首先須要經過倆西安實驗證實它在不少離線指標上優於現有算法。
而後,須要經過用戶調查肯定它的用戶滿意度不低於現有算法。
最後,經過在線的AB測試肯定他在咱們關心的指標上優於現有算法。算法
離線實驗的方法通常由以下幾個步驟構成:
1:經過日誌系統得到用戶行爲數據,並按照必定格式生成一個標準的數據集。
2:將數據集按照必定的規則分紅訓練集和測試集。
3:在訓練集上訓練用戶興趣模型,在測試集上進行預測。
4:經過實現定義的離線指標評測算法在測試集上預測結果。
離線實驗的好處在不須要真是用戶參與,能夠直接快速地計算出來,從而方便,快速的測試大量不一樣的算法、他的主要缺點是沒法得到不少商業上關注的指標,如點擊率,轉化率。離線實驗的指標和實際的商業指標存在差距,好比預測準確性和用戶友好度之間就存在很大的差異,高預測準確率不等於高用戶滿意度。
對離線實驗算法的評價,最好的辦法是將算法直接上線測試,但在對算放會不會下降用戶滿意度不太有把握的狀況下,上線測試具備較高的風險。因此通常在上線測試前通常須要作一次稱爲用戶調查的測試。工具
用戶調查是推薦系統評測的一個重要工具,不少離線是沒有辦法評測的與用戶主觀感覺有關的指標均可以經過用戶調查得到。
用戶調查須要找一些真是用戶,讓他們在須要測試的推薦系統上完成一些任務。
在他們完成任務是,咱們須要觀察和記錄他們的行爲,並讓他們回答一些問題。
最後,咱們須要經過分析他們的行爲和答案瞭解推薦系統的性能。
不過,用戶調查成本很高,須要用戶花大量時間完成一個我的物,並回答相關的問題,有些時候,還須要花錢僱傭測試用戶。所以,大多數狀況下,很難進行大規模的用戶調查,而對於參數人數較少的用戶調查,得出的不少結論每每沒有統計意義。性能
作用戶調查時,一方面要控制成本,另外一方面又要保證結果的統計意義。
須要注意的是,測試用戶不是隨便選擇的,須要儘可能保證測試用戶的分佈和真是用戶的分佈相同,好比男女各半,以及年齡、活躍度和分佈都和真是用戶儘可能相同。
此外,用戶調查要儘可能保證雙盲實驗,不要讓實驗人員和測試用戶事先知道測試的目標,以避免用戶的回答和實驗人員主觀成分的影響。不過要保證雙盲實驗是很是困難的事情,並且用戶在測試環境下的行爲和真是環境下的行爲可能有所不一樣。測試
在完成離線實驗和必要的用戶調查後,能夠將推薦系統作AB測試,將它和舊的算法進行比較。
AB測試是一種很經常使用的在線評測算法的實驗方法,他經過必定的規則將用戶隨機分紅幾組,並對不一樣組的用戶採用不一樣的算放,而後經過統計不一樣組用戶的各類不一樣的評測指標還比較不一樣算法。好比能夠統計不一樣組用戶的點擊率,經過點擊率比較不一樣算法的性能。
AB測試的優勢是能夠公平得到不一樣算法實際在線時的性能指標,包括商業上的關注指標。不過AB測試的週期性比較長,必須進行長期的實現才能的到可靠的結果。所以通常不會用AB測試測試所用的算法,而只是用它測試那些在離線實驗和用戶調查中表現比較好的算法。spa