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