好的推薦系統(tǒng)的幾大原則
7.信任度:
? ? ?提高推薦系統(tǒng)信任度主要有兩種方法:1.增加透明度(transparency),主要辦法是提供解釋(例子是大眾點(diǎn)評(píng)首頁推薦“好友XX贊過”,“最近收藏過”)。只有用戶認(rèn)同推薦機(jī)制才會(huì)提高信任度。2.考慮用戶的社交網(wǎng)絡(luò)信息,并利用好友進(jìn)行推薦解釋。(Epinion在每條用戶評(píng)論右側(cè)都顯示了評(píng)論者的信息,并且讓用戶判斷信任或加入黑名單,盡量推薦他信任的其他用戶評(píng)論過的物品)。
8.實(shí)時(shí)性:
? ? ?推薦系統(tǒng)的實(shí)時(shí)性包括兩個(gè)方面:1.推薦系統(tǒng)需要實(shí)時(shí)地更新推薦列表來滿足用戶新的行為變化(可以用推薦列表的變化速率來評(píng)測(cè));需要能夠?qū)⑿录尤胂到y(tǒng)的物品推薦給用戶(可以用用戶推薦列表中多大比例的物品是當(dāng)天新加的來評(píng)測(cè))。
9.健壯性
? ? ?健壯性(robust)指標(biāo)衡量了一個(gè)推薦系統(tǒng)抗擊作弊的能力,抗擊算法攻擊的能力。
? ? ?很多作弊方法,最著名的要數(shù)行為注入攻擊(profile injection attack),“購買A商品的用戶經(jīng)常購買其他商品”,注冊(cè)很多賬號(hào),這些正好同時(shí)購買A和自己的商品,評(píng)分系統(tǒng)(淘寶,雇傭水軍刷好評(píng))。?
? ? ? ?算法健壯性的測(cè)評(píng)主要利用模擬攻擊:用算法給出的注入噪聲前后的數(shù)據(jù)集算出的推薦列表的相似度來評(píng)測(cè)(相似度越高健壯性越好)。
? ? ? 提高系統(tǒng)健壯性的方法除了算法之外,還有:(1)設(shè)計(jì)推薦系統(tǒng)盡量使用代價(jià)比較高的用戶行為(比如使用用戶購買行為而不是瀏覽行為)(2)使用數(shù)據(jù)前用攻擊檢測(cè)對(duì)數(shù)據(jù)進(jìn)行清清理。
10.商業(yè)目標(biāo):
? ? ? ? 不同的網(wǎng)站具有不同的商業(yè)目標(biāo),推薦系統(tǒng)目的除了滿足用戶發(fā)現(xiàn)內(nèi)容的需求,也需要利用推薦系統(tǒng)加快實(shí)現(xiàn)商業(yè)上的指標(biāo)。
對(duì)于可離線優(yōu)化的指標(biāo),書中給聽的看法是:
最大化預(yù)測(cè)準(zhǔn)確度的情況下,覆蓋率>A,多樣性>B,新穎性>C,其中A/B/C的取值應(yīng)該視不同的應(yīng)用而定。
1.1.3 ?測(cè)評(píng)維度
? ? ? ? 增加測(cè)評(píng)維度的目的就是知道一個(gè)算法在什么情況下性能最好。
一般來說,評(píng)測(cè)維度分為如下三種:
用戶維度:用戶的人口統(tǒng)計(jì)學(xué)信息、活躍度以及是不是新用戶等。
物品維度:物品的屬性信息、流行度、平均分、是否是新加入物品。
時(shí)間維度:包括季節(jié),是工作日還是周末,是白天還是晚上等。
第二章 ?利用用戶行為數(shù)據(jù)
? ? ? ?實(shí)現(xiàn)個(gè)性化推薦最理想的情況是用戶能在注冊(cè)的時(shí)候告訴我們他們喜歡什么,但這種方法有3個(gè)缺點(diǎn):1.自然語言處理技術(shù)在當(dāng)下很難提取出用戶來描述興趣的自然語言;2、用戶的興趣是不斷變化的,但用戶不會(huì)不停地更新興趣描述;3.很多用戶并不能準(zhǔn)確表達(dá)自己喜歡什么。
? ? ? ?在推薦系統(tǒng)誕生之前用戶行為數(shù)據(jù)最知名的例子是被利用于排行榜。用戶行為不是隨機(jī)的,而是蘊(yùn)含很多模式。購物車是分析很多電子商務(wù)網(wǎng)站,甚至傳統(tǒng)零售業(yè)務(wù)的核心數(shù)據(jù)分析任務(wù)。
? ? ? ?協(xié)同過濾算法:用戶可以齊心協(xié)力,通過不斷地和網(wǎng)站互動(dòng),使得自己的推薦列表能夠不斷過濾掉自己不感興趣的物品,從而越來越滿足自己的需求。
2.1 ?用戶行為數(shù)據(jù)簡介
2.2 用戶行為分析
?2.2.1 ?用戶活躍度與物品流行度的分布
? ? ? ? ?

?? ? 其中第一個(gè)公式代表對(duì)k個(gè)物品產(chǎn)生過行為的用戶數(shù),第二個(gè)代表被k個(gè)用戶產(chǎn)生過行為的物品數(shù),這兩個(gè)函數(shù)都滿足長尾分布。
2.2.2 ?用戶活躍度和物品流行度的關(guān)系
? ? ? 不活躍的用戶要么是新用戶,要么是只來過網(wǎng)站一兩次的老用戶。一般認(rèn)為,新用戶對(duì)網(wǎng)站還不熟悉,只能點(diǎn)擊首頁的熱門物品,而老用戶會(huì)逐漸開始瀏覽冷門的物品。用戶越活躍,越傾向于瀏覽冷門的物品。
? ? ? ?僅僅基于用戶行為數(shù)據(jù)設(shè)計(jì)的推薦算法一般稱為協(xié)同過濾算法,學(xué)術(shù)界提出了很多方法,比如基于鄰域的方法(neighobrhood-based)、隱語義模型(latent factor model)、基于圖的隨機(jī)游走算法(random walk on graph)等。在這些方法中,最著名的要數(shù)基于鄰域的方法。
基于鄰域的協(xié)同過濾算法 ? ?這種算法給用戶推薦和他興趣相識(shí)的其他用戶喜歡的物品。
基于物品的協(xié)同過濾算法 ? ? 這種算法給用戶推薦和他之前喜歡的物品相似的物品。
2.3實(shí)驗(yàn)設(shè)計(jì)與算法評(píng)測(cè)
? ? ? ?本章采用研究隱反饋數(shù)據(jù)集中的TopN推薦問題,也就是預(yù)測(cè)用戶會(huì)不會(huì)對(duì)某部電影評(píng)分。
2.3.2 實(shí)驗(yàn)設(shè)計(jì)
操作步驟:1.將用戶行為數(shù)據(jù)集合按照均勻分布隨機(jī)分成M份,挑選一份作為測(cè)試集,將剩下的M-1份作為訓(xùn)練集。
2.在訓(xùn)練集上建立用戶興趣模型,并在測(cè)試集上對(duì)用戶行為進(jìn)行預(yù)測(cè),統(tǒng)計(jì)出相應(yīng)的測(cè)評(píng)指標(biāo)。
3.為了保證評(píng)測(cè)指標(biāo)并不是過擬合的結(jié)果,需要進(jìn)行M次實(shí)驗(yàn),并且每次都使用不同的測(cè)試集。然后將M次實(shí)驗(yàn)測(cè)出的評(píng)測(cè)指標(biāo)的平均值作為最終的評(píng)測(cè)指標(biāo)。