《推薦系統(tǒng)實(shí)踐》學(xué)習(xí)筆記系列(一)
前言
? ? ? ?推薦系統(tǒng)解決的問(wèn)題:信息過(guò)載(information overload)。
? ? ? ?解決方法:分類-->搜索引擎-->推薦系統(tǒng)
? ? ? ?學(xué)術(shù)界把推薦問(wèn)題看成評(píng)分預(yù)測(cè)問(wèn)題铸屉,最常見(jiàn)的是TopN推薦饵蒂。
第一章
1.1什么是推薦系統(tǒng)
- 推薦算法分類
(1)按數(shù)據(jù)分
? ? ? ?協(xié)同過(guò)濾(social recommendation)
? ? ? ?內(nèi)容過(guò)濾(content-based recommendation)
? ? ? ?社會(huì)化過(guò)濾(social recommendation)
(2)按算法分
? ? ? ?基于鄰域的算法
? ? ? ?基于圖的算法
? ? ? ?基于矩陣分解或概率模型的算法 - 什么是推薦系統(tǒng)
? ? ? ?推薦系統(tǒng)的任務(wù)就是聯(lián)系用戶和信息(物品),一方面幫助用戶發(fā)現(xiàn)對(duì)自己有價(jià)值的信息十饥,另一方面讓信息能夠展現(xiàn)在對(duì)它感興趣的用戶面前尿瞭,從而實(shí)現(xiàn)信息消費(fèi)者和信息生產(chǎn)者的雙贏。
1.2個(gè)性化推薦系統(tǒng)的應(yīng)用
(1)電子商務(wù)
? ? ? ?亞馬遜(Amazon)是業(yè)界做的最好的之一每界,其推薦方法主要為協(xié)同過(guò)濾、內(nèi)容過(guò)濾家卖、打包銷售(cross selling)眨层。
(2)電影和視頻網(wǎng)站
? ? ? ?Netflix是業(yè)界做的最好的之一,其推薦方法主要為協(xié)同過(guò)濾上荡。
(3)個(gè)性化音樂(lè)網(wǎng)絡(luò)平臺(tái)
? ? ? ?個(gè)性化音樂(lè)電臺(tái)非常符合個(gè)性化推薦技術(shù)的產(chǎn)品趴樱。
? ? ? ?Pandora根據(jù)專家標(biāo)注的基因計(jì)算歌曲的相似度,并給用戶推薦和他之前喜歡的音樂(lè)在基因上相似的其他音樂(lè)酪捡。
? ? ? ?Last.fm主要通過(guò)利用用戶行為計(jì)算歌曲的相似度叁征。
(4)社交網(wǎng)絡(luò)
推薦技術(shù)主要分三種:
? ? ? ?利用用戶的社交網(wǎng)絡(luò)信息對(duì)用戶進(jìn)行個(gè)性化物品推薦
? ? ? ?信息流的會(huì)話推薦
? ? ? ?給用戶推薦好友
? ? ? ?Facebook開(kāi)發(fā)了EdgeRank算法對(duì)會(huì)話進(jìn)行排序,是用戶能夠盡量看到熟悉的好友的最新會(huì)話逛薇。
(5)個(gè)性化閱讀
? ? ? ?Google Reader讓用戶關(guān)注感興趣的人捺疼,推薦這些人發(fā)表的文章。
? ? ? ?Zite通過(guò)收集用戶對(duì)文章的偏好信息更新用戶的個(gè)性化文章列表永罚。
(6)基于位置的服務(wù)
? ? ? ?位置是一種很重要的上下文信息啤呼,基于位置給用戶推薦離他近且他感興趣的服務(wù),用戶更有可能去消費(fèi)呢袱。
(7)個(gè)性化郵件
? ? ? ?過(guò)分析用戶閱讀郵件的歷史行為和習(xí)慣對(duì)新郵件進(jìn)行重新排序(Tapestry)或分類(Google)官扣,從而提高用戶的工作效率。
(8)個(gè)性化廣告
推薦技術(shù)主要分3種:
? ? ? ?上下文廣告
? ? ? ?搜索廣告
? ? ? ?個(gè)性化廣告
1.3推薦系統(tǒng)評(píng)測(cè)
- 推薦系統(tǒng)參與者
? ? ? ?用戶羞福、網(wǎng)站惕蹄、內(nèi)容提供方。 - 推薦系統(tǒng)評(píng)測(cè)方法
? ? ? ?(1)離線實(shí)驗(yàn)
? ? ? ?優(yōu)點(diǎn):不需要真實(shí)用戶參與坯临,快速焊唬,大量。
? ? ? ?缺點(diǎn):無(wú)法獲取商業(yè)上的指標(biāo)看靠。
? ? ? ?(2)用戶調(diào)查
? ? ? ?優(yōu)點(diǎn):獲取用戶主觀感受
? ? ? ?缺點(diǎn):成本高
? ? ? ?(3)在線實(shí)驗(yàn)
? ? ? ?含義:AB測(cè)試赶促,用戶分組用不同算法進(jìn)行推薦對(duì)比效果
? ? ? ?缺點(diǎn):周期長(zhǎng) - 評(píng)測(cè)指標(biāo)
(1)用戶滿意度
(2)預(yù)測(cè)準(zhǔn)確度
? ? ? ?i.評(píng)分預(yù)測(cè)
? ? ? ?均方誤差(RMSE)
? ? ? ?平均絕對(duì)誤差(MAE)
? ? ? ?RMSE加大了對(duì)預(yù)測(cè)不準(zhǔn)的用戶物品評(píng)分的懲罰(平方項(xiàng)的懲罰),因而對(duì)系統(tǒng)的評(píng)測(cè)更加苛刻挟炬。
? ? ? ?ii. TopN推薦
? ? ? ?TopN推薦的預(yù)測(cè)準(zhǔn)確率一般通過(guò)準(zhǔn)確率(precision)/召回率(recall)度量鸥滨。
? ? ? ?令R(u)是根據(jù)用戶在訓(xùn)練集上的行為給用戶作出的推薦列表嗦哆,而T(u)是用戶在測(cè)試集上的行為列表。那么婿滓,推薦結(jié)果的召回率定義為:
? ? ? ?推薦結(jié)果的準(zhǔn)確率定義為:
? ? ? ?iii.覆蓋率
? ? ? ?假設(shè)系統(tǒng)的用戶集合為U老速,推薦系統(tǒng)給每個(gè)用戶推薦一個(gè)長(zhǎng)度為N的物品列表R(u)。那么推薦系統(tǒng)的覆蓋率可以通過(guò)下面的公式計(jì)算:
? ? ? ?再細(xì)化一下,可以用信息熵
? ? ? ?p(i)是物品i的流行度除以所有物品流行度之和 或者
? ? ? ?基尼系數(shù)(Gini Index)
? ? ? ?這里凸主,ij是按照物品流行度p()從小到大排序的物品列表中第j個(gè)物品橘券。
? ? ? ?iv.多樣性
????簡(jiǎn)而言之,就是“不在一棵樹(shù)上吊死”卿吐。
????多樣性描述了推薦列表中物品兩兩之間的不相似性旁舰。因此,多樣性和相似性是對(duì)應(yīng)的嗡官。假設(shè)定義了物品i和j之間的相似度箭窜,那么用戶u的推薦列表R(u)的多樣性定義如下:
而推薦系統(tǒng)的整體多樣性可以定義為所有用戶意見(jiàn)列表多樣性的平均值:
? ? ? ?v.新穎性(新穎的推薦是指給用戶推薦那些他們以前沒(méi)有聽(tīng)說(shuō)過(guò)的物品)
? ? ? ?vi.驚喜度
? ? ??驚喜度與新穎性的區(qū)別:假設(shè)一名用戶喜歡周星馳的電影,然后我們給他推薦了一部叫做《臨歧》的電影(該電影是1983年由劉德華衍腥、周星馳磺樱、梁朝偉合作演出的陆馁,很少有人知道這部有周星馳出演的電影)煎殷,而該用戶不知道這部電影,那么可以說(shuō)這個(gè)推薦具有新穎性涧偷。但是尚骄,這個(gè)推薦并沒(méi)有驚喜度活孩,因?yàn)樵撚脩粢坏┝私饬诉@個(gè)電影的演員,就不會(huì)覺(jué)得特別奇怪乖仇。但如果我們給用戶推薦張藝謀導(dǎo)演的《紅高粱》,假設(shè)這名用戶沒(méi)有看過(guò)這部電影询兴,那么他看完這部電影后可能會(huì)覺(jué)得很奇怪乃沙,因?yàn)檫@部電影和他的興趣一點(diǎn)關(guān)系也沒(méi)有,但如果用戶看完電影后覺(jué)得這部電影很不錯(cuò)诗舰,那么就可以說(shuō)這個(gè)推薦是讓用戶驚喜的警儒。
? ? ? ?vii.信任度
? ? ??度量推薦系統(tǒng)的信任度只能通過(guò)問(wèn)卷調(diào)查的方式,詢問(wèn)用戶是否信任推薦系統(tǒng)的推薦結(jié)果眶根。
? ? ??提高信任度的主要方法
? ? ??增加推薦系統(tǒng)的透明度蜀铲,而增加推薦系統(tǒng)透明度的主要方法是提供推薦解釋。
? ? ??考慮用戶的社交網(wǎng)絡(luò)信息属百,利用用戶的好友信息給用戶做推薦记劝,并且用好友進(jìn)行推薦解釋。
? ? ? ?viii.實(shí)時(shí)性
? ? ??推薦系統(tǒng)需要實(shí)時(shí)地更新推薦列表來(lái)滿足用戶新的行為變化族扰。
? ? ??推薦系統(tǒng)需要能夠?qū)⑿录尤胂到y(tǒng)的物品推薦給用戶厌丑。
? ? ? ?ix.健壯性
? ? ??概述:任何一個(gè)能帶來(lái)利益的算法系統(tǒng)都會(huì)被人攻擊定欧,這方面最典型的例子就是搜索引擎。搜索引擎的作弊和反作弊斗爭(zhēng)異常激烈怒竿,這是因?yàn)槿绻茏屪约旱纳唐烦蔀闊衢T搜索詞的第一個(gè)搜索果砍鸠,會(huì)帶來(lái)極大的商業(yè)利益。推薦系統(tǒng)目前也遇到了同樣的作弊問(wèn)題耕驰,而健壯性(robustness)指標(biāo)衡量了一個(gè)推薦系統(tǒng)抗擊作弊的能力爷辱。
? ? ??提高健壯性的三種方法
? ? ??選擇健壯性高的算法
? ? ??設(shè)計(jì)推薦系統(tǒng)時(shí)盡量使用代價(jià)比較高的用戶行為。比如朦肘,如果有用戶購(gòu)買行為和用戶瀏覽行為饭弓,那么主要應(yīng)該使用用戶購(gòu)買行為,因?yàn)橘?gòu)買需要付費(fèi)厚骗,所以攻擊購(gòu)買行為的代價(jià)遠(yuǎn)遠(yuǎn)大于攻擊瀏覽行為示启。
? ? ??在使用數(shù)據(jù)前,進(jìn)行攻擊檢測(cè)领舰,從而對(duì)數(shù)據(jù)進(jìn)行清理夫嗓。
? ? ? ?x.商業(yè)目標(biāo)
? ? ? ?總結(jié)
*評(píng)測(cè)維度
? ? ? ?用戶維度:主要包括用戶的人口統(tǒng)計(jì)學(xué)信息、活躍度以及是不是新用戶等冲秽。
? ? ? ?物品維度:包括物品的屬性信息舍咖、流行度、平均分以及是不是新加入的物品等锉桑。
? ? ? ?實(shí)踐維度:包括季節(jié)排霉,是工作日還是周末,是白天還是晚上等民轴。
第一次寫技術(shù)總結(jié)攻柠,希望能把書讀薄。希望以后能越寫越好后裸。如有建議可以通過(guò)qhd0081@vip.163.com聯(lián)系我瑰钮。
作者[錢昊達(dá)]
2018年8月14日