什么是好的推薦系統:
一個完整的推薦系統包括三部分用戶,網站,內容提供方。
好的推薦系統設計,能夠讓推薦系統本身收集到高質量的用戶反饋,不斷完善推薦的質量,增加 用戶和網站的交互,提高網站的收入。因此在評測一個推薦算法時,需要同時考慮三方的利益, 一個好的推薦系統是能夠令三方共贏的系統。
推薦系統的指標:
推薦系統最為重要的指標是准確率,即預測的准確率。例如預測某個用戶是否會購買某個商品。
但是准確率並不是總能衡量一個推薦系統的優劣。為了評價推薦系統對三方利益的影響,推薦系統還有一下衡量指標:
這些
指標包括准確度、覆蓋度、新穎度、驚喜度、信任度、透明度等。這些指標中,有些可以離線計 算,有些只有在線才能計算,有些只能通過用戶問卷獲得。
推薦系統的實驗方法:
1 離線實驗。
離線實驗的方法一般由如下幾個步驟構成:
(1) 通過日志系統獲得用戶行為數據,並按照一定格式生成一個標准的數據集;
(2) 將數據集按照一定的規則分成訓練集和測試集;
(3) 在訓練集上訓練用戶興趣模型,在測試集上進行預測;
(4) 通過事先定義的離線指標評測算法在測試集上的預測結果。
優點:
這種實驗方法的 好處是不需要真實用戶參與,可以直接快速地計算出來,從而方便、快速地測試大量不同的算法。
缺點:
它的主要缺點是無法獲得很多商業上關注的指標,如點擊率、轉化率等,而找到和商業指標非常相關的離線指標也是很困難的事情
2 用戶調查
在進行離線實驗之后,如果各項指標比之前算法有優勢,可以在上線之前進行用戶調查。
用戶調查的優點是可以直接獲取大量關於用戶主觀體驗的指標。但是缺點是招募測試用戶的代價比較大,
難以組織大量的測試用戶,因此統計意義不足。
3 線上測試
在線上做AB測試。就是將新舊系統進行對比測試。
AB測試的優點是可以公平獲得不同算法實際在線時的性能指標,包括商業上關注的指標。 AB測試的缺點主要是周期比較長,必須進行長期的實驗才能得到可靠的結果。因此一般不會用 AB測試測試所有的算法,而只是用它測試那些在離線實驗和用戶調查中表現很好的算法。其次, 一個大型網站的AB測試系統的設計也是一項復雜的工程。一個大型網站的架構分前端和后端, 從前端展示給用戶的界面到最后端的算法,中間往往經過了很多層,這些層往往由不同的團隊控 制,而且都有可能做AB測試。如果為不同的層分別設計AB測試系統,那么不同的AB測試之間往 往會互相干擾。比如,當我們進行一個后台推薦算法的AB測試,同時網頁團隊在做推薦頁面的 界面AB測試,最終的結果就是你不知道測試結果是自己算法的改變,還是推薦界面的改變造成 的。因此,切分流量是AB測試中的關鍵,不同的層以及控制這些層的團隊需要從一個統一的地並對不同組的用戶采用不同的算法,然后通過統計不同組用戶的各種不同的評測指標比較不同算 法,比如可以統計不同組用戶的點擊率,通過點擊率比較不同算法的性能。