-
這個(gè)不錯(cuò)的
查看全部 -
Usercf Vs Itemcf
優(yōu)缺點(diǎn)比較
推薦實(shí)時(shí)性:Usercf 中用戶有了新的行為不會(huì)造成推薦結(jié)果的變化,因?yàn)閡sercf是根據(jù)用戶相似度矩陣來(lái)完成推薦的,所以u(píng)ser本身的行為并不能造成推薦結(jié)果的改變。對(duì)于Itemcf來(lái)說(shuō),用戶一旦有了新的行為,推薦結(jié)果可以立即發(fā)生改變,因?yàn)镮temcf是基于相似度物品矩陣來(lái)完成推薦的,所以點(diǎn)擊了物品會(huì)立刻推薦出相似的物品。
新用戶/新物品的推薦:新用戶的到來(lái)是不能立即推薦的,需要等用戶有了一定的行為并且得到了與其他用戶的相似度矩陣之后才能完成推薦。新物品入庫(kù)后,一旦被用戶點(diǎn)擊,Usercf可以通過(guò)用戶相似度矩陣將其推薦給相似用戶。對(duì)于Itemcf,新用戶一旦完成了新物品點(diǎn)擊,便可以推薦與該Item相似的其余Item,新物品的到來(lái),由于此時(shí)新物品并沒(méi)有與其他物品在相似度矩陣中出現(xiàn),所以Itemcf并不能及時(shí)將新物品推薦出去。
推薦理由可解鎖性:Usercf是通過(guò)用戶相似度矩陣來(lái)完成推薦的,因此結(jié)果會(huì)略顯難以解釋。Itemcf是通過(guò)用戶的歷史點(diǎn)擊行為來(lái)完成的推薦,所以推薦結(jié)果會(huì)更加令人信服。
適用場(chǎng)景
性能層面考量:因?yàn)閡sercf需要計(jì)算用戶的相似度矩陣,因此它不適合用戶很多的場(chǎng)景,因?yàn)檫@樣用戶的相似度矩陣計(jì)算起來(lái)代價(jià)會(huì)非常大。Itemcf因?yàn)橐?jì)算物品的相似度矩陣,所以Itemcf適用于Item數(shù)量遠(yuǎn)小于user數(shù)量的場(chǎng)合,由于實(shí)戰(zhàn)中,user數(shù)量往往遠(yuǎn)大于item的數(shù)量,所以實(shí)戰(zhàn)中更傾向于Itemcf。
個(gè)性化層面考量:Usercf使用于物品需要及時(shí)推薦下發(fā)且個(gè)性化需求不太強(qiáng)烈的領(lǐng)域,而Itemcf適用于物品豐富并且個(gè)性化需求強(qiáng)烈的領(lǐng)域,由于真實(shí)的推薦系統(tǒng)中,多種個(gè)性化召回算法組合會(huì)有一些召回方法來(lái)解決新物品及時(shí)下發(fā)問(wèn)題,而我們需要個(gè)性化程度強(qiáng)烈,所以從個(gè)性化層面考慮,也更傾向于在落地實(shí)戰(zhàn)中采用Itemcf
查看全部 -
User cf
給用戶推薦相似興趣用戶感興趣的物品
如何評(píng)價(jià)相似興趣用戶集合
找到集合用戶感興趣的而目標(biāo)用戶沒(méi)行為過(guò)的item
example
用戶 u 和 v 的相似度?
N(u)用戶u行為過(guò)的item的集合
用戶u對(duì)item i 的推薦得分
rvi 表示用戶v對(duì)item i的行為得分
u(i)表示對(duì)item i 行為過(guò)的用戶集合
用戶v是與用戶u相似的前top k個(gè)用戶,且有item i 被v行為過(guò)但沒(méi)被u行為過(guò)
公式升級(jí)
1.理論意義:降低那些異?;钴S物品對(duì)用戶相似度的貢獻(xiàn)
2.理論意義:不同用戶對(duì)同一item行為的時(shí)間段不同應(yīng)該給予時(shí)間懲罰
查看全部 -
Collaborative filtering 協(xié)同過(guò)濾
背景 1.信息過(guò)載 --> 找到用戶所需? 2.強(qiáng)依賴用戶行為
Item cf??
??給用戶推薦他之前喜歡的物品的相似物品
? 如何衡量相似 -- > 喜歡兩個(gè)物品的用戶重合度越高,那么兩個(gè)物品就越相似
? 如何衡量喜歡 -- > 信息流產(chǎn)品下,是否為真實(shí)點(diǎn)擊 ,電商產(chǎn)品下,更看重實(shí)際轉(zhuǎn)化 ==》一定時(shí)長(zhǎng)的停留。故要結(jié)合具體的產(chǎn)品
物品 i 和 j 相似度計(jì)算公式:
user對(duì)item j 的推薦得分?
N(u) : user行為過(guò)的item 的總數(shù)
rui : user對(duì)物品i的行為得分(比如電影評(píng)分系統(tǒng)中用戶對(duì)電影的評(píng)分-->歸一化0~1間的一個(gè)值)
Sij? : 物品 i 和 j 的相似得分
item i 是用戶行為過(guò)的物品且是與item j 最相似的top k個(gè) item (一般實(shí)戰(zhàn)中選取50個(gè))
公式升級(jí)
1.理論意義:活躍用戶應(yīng)該被降低在相似度公式中的貢獻(xiàn)度
每個(gè)用戶對(duì)相似度的貢獻(xiàn)不一樣,活躍用戶的貢獻(xiàn)度降低
2.理論意義:用戶在不同時(shí)間對(duì)item的操作應(yīng)給予時(shí)間衰減懲罰
查看全部 -
if?not?os.path.exits(rating_file): ??return?{} fp?=?open(rating_file) num?=?0 user_click?={} for?line?in?fp: ???if?num?==0: ??????num+= ??????continue ????user?=?line.strip().split(',') ????if?len(item)?<?4: ???????continue ?????[userid,movieid,rating,timestamp]?=?user
查看全部 -
推薦算法查看全部
-
推薦系統(tǒng)架構(gòu)
查看全部 -
公式升級(jí)二,時(shí)間衰減懲罰
查看全部 -
推薦系統(tǒng)架構(gòu)。
查看全部 -
推薦算法實(shí)現(xiàn)
查看全部 -
協(xié)同矩陣排序
查看全部 -
計(jì)算物品的協(xié)同矩陣
查看全部 -
計(jì)算物品相識(shí)矩陣,item_user_click_item是返回值,
dict key:itemid,value dict:value_key itemid_j,value_value simscore.?
查看全部 -
解析電影數(shù)據(jù)
查看全部 -
獲取用戶點(diǎn)擊商品記錄
查看全部
舉報(bào)