一個好的推薦系統,通常會使得用戶、物品提供者和推薦系統三方雙贏。預測準確度是推薦系統最重要的指標,一般這個指標比較容易經過離線的數據計算出來。可是準確的預測不表明好的推薦,如這個用戶在使用推薦系統以前就準備好購買這個物品,那麼對這個物品準確的預測沒有任何意義。算法
好的推薦系統不只僅可以準確預測用戶的行爲,並且可以擴展用戶的視野,幫助用戶發現那些他們可能會感興趣,但卻不那麼容易發現的東西。數據庫
從不一樣的角度會有不一樣的指標,如準確度、覆蓋度、新穎度、驚喜度、信任度、透明度等,後面會更加詳細的解釋。性能
包括離線實驗,用戶調查和在線實驗。測試
離線實驗通常包括以下步驟:日誌
離線實驗的好處是,全部的過程都是經過數據集完成,不須要真實用戶的參與,也能夠快速的進行計算和實驗,方便測試大量的算法。缺點也很明顯,正是因爲缺乏線上的實際效果的測試,所以,缺乏了商業上關注的指標,如點擊率,轉化率等等。即便從離線數據中計算了這些指標,與線上實際的指標的結果偏差也較大。class
在對算法會不會下降用戶滿意度不太有把握的狀況下,上線測試會具備較高的風險,因此在上線測試前通常須要作一次稱爲用戶調查的測試。在用戶對新推薦系統上的實驗以後,觀察並記錄他們的行爲,並對用戶滿意度等主觀感覺進行調查。可是通常用戶調查的成本也會比較高,另外參加測試的人數過少一般也不具備統計意義。通常用戶調查的實驗儘可能是雙盲實驗,不要讓實驗人員和用戶事先知道測試的目標,以避免用戶的回答和實驗人員的測試受主觀成分的影響。擴展
最多見的在線實驗方法就是AB測試。AB測試過必定的規則將用戶隨機分紅幾組,並對不一樣組的用戶採用不一樣的算法,而後經過統計不一樣組用戶的各類不一樣的評測指標比較不一樣算法,好比能夠統計不一樣組用戶的點擊率,經過點擊率比較不一樣算法的性能。方法
AB測試的優勢是能夠公平得到不一樣算法實際在線時的性能指標,包括商業上關注的指標。AB測試的缺點主要是週期比較長,必須進行長期的實驗才能獲得可靠的結果。通常那些在離線實驗中表現較好的算法纔會參與到AB Test當中。因爲系統一般由不一樣團隊負責不一樣部分,不一樣團隊在同時作AB Test的時候不免會相互影響。所以,切分流量是AB Test的關鍵。不一樣的層以及控制這些層的團隊須要從一個統一的地方得到本身AB測試的流量,而不一樣層之間的流量應該是正交的。統計
一個簡單的AB Test系統能夠以下圖所示:數據
通常來講,一個新的推薦算法要上線,須要知足上面的三個實延:
下一篇筆記咱們將介紹推薦算法所關注的指標。