1. 程式人生 > >《推薦系統》--混合推薦、解釋及如何評估推薦系統

《推薦系統》--混合推薦、解釋及如何評估推薦系統

《Recommender System An Introduction》,第五章,混合推薦方法。

《Recommender System An Introduction》,第六章,推薦系統的解釋。

《Recommender System An Introduction》,第七章,評估推薦系統。

混合推薦方法

如何進行混合推薦,要考慮兩個問題:基礎的推薦理論框架和系統的混合設計,也就是組合兩個以上演算法的方法。

推薦理論框架

推薦問題通常可以轉換成效用函式rec,預測物品集合I中得物品i對整個使用者級U中某個特定使用者u的有用性。

效果指的是物品滿足某種抽象目標的能力,比如最好地滿足使用者假定需求,或者是最大地提高零售商的轉化率。因此,推薦演算法的預測任務就是推算給定使用者和物品的效用分數。

基於效用或基於知識的推薦系統,可以直接從先驗的效用機制中得到效用分數值,而協同過濾方法根據群體的評分預測效用分數。

3種主要的推薦理論框架:

(1)協同過濾。協同過濾原理假設人以類聚,大家有著相似的行為,需求和偏好也差不多。協同推薦的任務就是確定相似的對等者,從他們喜歡的物品中得到推薦結果。

(2)基於內容的理論框架遵循“以不變應萬變”的方法,根據使用者過去喜歡的物品推薦相似的物品。

(3)基於知識的推薦,認為會有額外的資訊源,即顯式的個性化知識。

選擇哪種推薦理論框架決定了要輸入資料的型別:

理論框架 使用者記錄和上下文引數 群體資料 產品特徵 知識模型
協同過濾
基於內容
基於知識

混合設計

這是混合演算法的第二個特點,可以概括成三種基本設計思路:整體式、並行式、流水線式。

關於混合設計,既有一些加權演算法或者其他計算方法的支撐,也有很多基於淺層混合上的理解,很多情況,可以從從實際場景出發,從淺層的基於補充層面的混合開始,逐步加深。

推薦系統的解釋

解釋是一種在溝通過程中進行交流的資訊。

為什麼推薦系統需要給出解釋:賣家想要宣傳特定的產品,而買家則比較關心做出正確的購買決策。解釋是一項重要的資訊,可以幫助兩者在交流過程中提高各自的業績和效率。

從實用角度來看,在推薦過程中提供解釋的主要目的可以列舉如下:

(1)透明性

(2)正確性

(3)可信度

(4)說服力

(5)有效性

(6)效率

(7)滿意度

(8)關聯度

(9)可理解性

(10)教育

以下幾個因素會影響到推薦系統在與接受方溝通時的解釋生成:

(1)需要解釋的資訊項

(2)提供(接受)解釋的目的

(3)接受方的模型,包括其行為與知識

(4)溝通的狀態,指交換的資訊,包括提供的推薦

在基於約束、基於例項、協同過濾的推薦系統中,對於解釋,都有各自的比較標準的解釋方法,基於時間的原因,具體的、詳細的內容,這次看書的過程先略過,留待下一步,如果有機會。

評估推薦系統

推薦系統通常採用離線實驗進行評估,設法用已有的交易資料集來估計推薦結果的預測誤差。有人指出這種方法有侷限,也有人認為推薦系統的質量根本就不可直接衡量,因為有太多不同的目標函式。

不管怎樣,推薦系統已在廣泛應用,必須要有科學的方法實際準確地評估其對於使用者的真實效果和作用。

本節介紹了一些評估公式,考慮了實驗物件、研究方法、環境,重點討論瞭如何在歷史資料集上進行實驗評估,並討論了衡量推薦結果準確率或覆蓋率的不同方法以及衡量指標。

Netflix演算法大賽的評估辦法,就是基於歷史資料,採用均方根誤差(RMSE)演算法進行衡量的,是離散數學的知識。

在實際的生產中,我們較少採用這些實驗室方法,而是用真實、客觀的結果資料,進行A/B測試評估推薦的效果,這樣做的原因也可能是因為:直觀、簡單。

實驗方法

一般說來,一個新的推薦演算法最終上線,需要完成如下的3個實驗(理想狀況哈:)):

(1)首先,需要通過離線實驗(offline experiment)證明它在很多離線指標上優於現有的演算法;

(2)然後,需要通過使用者調查(user study)確定它的使用者滿意度不低於現有的演算法;

(3)最後,通過線上(online experiment)的AB測試確定它在我們關心的指標上優於現有的演算法

評測指標

(1)使用者滿意度:使用者滿意度作為推薦系統的重要參與者,其滿意度是評測推薦系統的重要指標。使用者滿意度沒有辦法離線計算,只能通過使用者調查或線上實驗獲得。

(2)預測準確度:度量一個推薦系統或者推薦演算法預測使用者行為的能力。這個指標是最重要的推薦系統離線評測指標,幾乎99%與推薦相關的論文都在討論這個指標。這抓喲是因為該指標可以通過離線實驗計算,方便了很多學術界的研究人員研究推薦演算法。簡單說,就是訓練集和預測集的對照。

a、對於評分預測,其預測準確度一般通過均方根誤差(RMSE)和平均絕對誤差(MAE)計算

b、對於TopN推薦,其預測準確度一般通過準確率(precision)/召回率(recall)度量

(3)覆蓋率(coverage):描述一個推薦系統對物品長尾的發掘能力

(4)多樣性:需要覆蓋使用者不同的興趣領域

(5)新穎性:給使用者推薦那些他們以前沒有聽說過的物品

(6)驚喜度(serendipity):不相似而滿意

(7)信任度:同樣地推薦結果,以讓使用者信任的方式推薦給使用者就更能讓使用者產生購買慾,而以類似廣告形式的方法推薦給使用者就可能很難讓使用者產生購買的意願。

提高推薦系統的信任度主要由兩種方法:

a、增加推薦系統的透明度(transparency)。增加透明度的主要辦法是提高推薦解釋。使用者瞭解了推薦的執行機制,認同了,才會提高信任度

b、考慮使用者的設計網路資訊,利用使用者的好友資訊給使用者做推薦,並且用好友進行推薦解釋

(8)實時性:特定物品需要實時性,比如新聞、微博等

(9)健壯性:衡量一個推薦系統抗擊作弊的能力

(1)商業目標:比如,對於電商,目標是銷售額,對於廣告,可能是展示或點選。

獲取各種評測指標的途徑

離線實驗 問卷調查 線上實驗
使用者滿意度 ×
預測準確度 ×
覆蓋率
多樣性
新穎性
精細度 × ×

案例分析:移動網際網路個性化遊戲推薦

對於一個線上零售商而言,重要的效能指標包含:

(1)提高轉化率,即如何將網站訪問者轉化為實際購買者;

(2)如何影響訪問者,讓他們買更多可賺錢的物品。

通過對一個移動網際網路個性化遊戲推薦的7種不同演算法:CF、Slope One、基於內容、混合、Top-Rating(非個性化:根據物品的評價評分)、熱銷(非個性化:根據熱銷)、對照組(非個性化:按照日期最新),比較7種不同演算法,評估的重點是以下假設:

(1)H1:個性化推薦能吸引更多地使用者到詳細產品資訊頁面(物品瀏覽轉化率)

(2)H2:個性化推薦有助於將更多訪問者變成購買者(銷售轉化率)

(3)H3:個性化推薦促使單個使用者瀏覽更多物品

(4)H4:個性化推薦促使單個使用者購買更多物品

對於H1、H2,7種演算法差別細微,因此額外採用個性化推薦列表並不會增加入口網站訪問者瀏覽或購買物品的數量;對於H3、H4(提高每個使用者瀏覽及購買物品的數量),所有的個性化演算法都要勝過非個性化的熱銷列表和對照組。

總體上說:當用戶沒有對某種型別有強烈預期時(比如“我的推薦品牌”),協同過濾方法(也推薦使用者之前沒有見過的類別)表現的特別好;在一些其他的情況,使用者更喜歡他們已經知道的遊戲子類別的推薦結果。。。

最重要的結論是:在實際銷售方面基於內容和基於物品的方法明顯比其他方法要好。總而言之,可以確認推薦系統能夠在整個平臺上促使整體銷量有超過3%的可觀提升。