推薦系統(tǒng)UserCF和ItemCF

一、UserCF

UserCF(User Collaboration Filter),又稱 基于用戶的協(xié)同過(guò)濾算法。

協(xié)同過(guò)濾:就是指眾多的用戶可以齊心協(xié)力,通過(guò)不斷地和網(wǎng)站互動(dòng),使 自己的推薦列表能夠不斷過(guò)濾掉自己不感興趣的物品,從而越來(lái)越滿足自己的需求。

而基于用戶是指通過(guò)分析用戶對(duì)商品的行為(如瀏覽、收藏、加入購(gòu)物車、購(gòu)買……)計(jì)算出哪些用戶是興趣相似的,然后把興趣相似的用戶所關(guān)注的商品相互推薦。

舉個(gè)例子:

用戶/商品 商品1 商品2 商品3 商品4
用戶A
用戶B
用戶C 推薦

由上表可以看出用戶A和用戶C比較相似,所以把用戶A感興趣的商品4推薦給用戶C。

步驟一般分為兩步:

  1. 計(jì)算物品之間的相似度
  2. 根據(jù)物品的相似度和用戶的歷史行為給用戶生成推薦列表

再舉個(gè)詳細(xì)點(diǎn)的例子:

假設(shè)我們這么一些數(shù)據(jù)(用戶(字母) 商品(數(shù)字)_行為,):

A  1_瀏覽
A  3_加入購(gòu)物車
A  4_收藏
B  2_收藏
B  5_收藏
C  1_加入購(gòu)物車
C  6_購(gòu)買
D  1_購(gòu)買
D  5_加入購(gòu)物車
E  3_加入購(gòu)物車
E  4_瀏覽
F  2_加入購(gòu)物車
F  3_收藏
F  6_瀏覽

我們可以給不同的行為賦予不同的評(píng)分(假設(shè)瀏覽1分、收藏3分、加入購(gòu)物車5分、購(gòu)買10分),得到以下數(shù)據(jù):

A  1_1
A  3_5
A  4_3
B  2_3
B  5_3
C  1_5
C  6_10
D  1_10
D  5_5
E  3_5
E  4_1
F  2_5
F  3_3
F  6_1

這樣看著比較累,而且也不方便計(jì)算,可以把它轉(zhuǎn)換為矩陣形式,稱之為評(píng)分矩陣

用戶/商品 1 2 3 4 5 6
A 1 5 3
B 3 3
C 5 10
D 10 5
E 5 1
F 5 3 1

計(jì)算相似度

計(jì)算相似度的方式有很多,如余弦相似度、切比雪夫距離、歐里幾得距離、曼哈頓距離、杰卡德距離、皮爾森系數(shù)……計(jì)算相似度的方式不同計(jì)算出來(lái)的相似度也不同。

這里只介紹余弦相似度,其他的請(qǐng)自行百度。

假設(shè)有二維向量a,b如下圖所示


則他們的余弦相似度為


推廣到多維向量a(a1,a2,a3,a4……),b(b1,b2,b3,b4……)


有了公式就能計(jì)算出用戶相似度了:


這些用戶之間的相似度可以轉(zhuǎn)換為一個(gè)矩陣,稱之為相似度矩陣

A B C D E F
A 1 0 0.08 0.15 0.93 0.43
B 0 1 0 0.32 0 0.6
C 0.08 0 1 0.4 0 0.15
D 0.15 0.32 0.4 1 0 0
E 0.93 0 0 0 1 0.5
F 0.43 0.6 0.15 0 0.5 1

推薦列表 = 相似度矩陣 X 評(píng)分矩陣

1 2 3 4 5 6
A 2.9 2.2 11.0 3.9 0.8 1.2
B 3.2 6.0 1.8 0 4.6 0.6
C 9.1 0.8 0.9 0.2 2.0 10.2
D 11.2 1.0 0.8 0.5 6.0 4.0
E 0.9 2.5 11.2 3.8 0 0.5
F 1.2 6.8 7.7 1.8 1.8 2.5

由于用戶已經(jīng)對(duì)推薦列表中的一些商品有過(guò)行為,所以還要把這些商品給濾除掉

得到最終的推薦列表,其數(shù)值代表的意義是用戶對(duì)商品的感興趣程度:

1 2 3 4 5 6
A 2.2 0.8 1.2
B 3.2 1.8 0 0.6
C 0.8 0.9 0.2 2.0
D 1.0 0.8 0.5 4.0
E 0.9 2.5 0 0.5
F 1.2 1.8 1.8

二、ItemCF

ItemCF(Item Collaboration Filter),又稱 基于商品(物品)的協(xié)同過(guò)濾算法。

其原理與UserCF類似,是基于用戶對(duì)商品的偏好找到相似的商品,然后推薦相似的商品品給他。
計(jì)算過(guò)程也非常相似,區(qū)別在于計(jì)算時(shí)把UserCF的評(píng)分矩陣轉(zhuǎn)置,再計(jì)算商品與商品之間的相似度得到商品之間的相似度矩陣
最后的推薦列表 = 商品之間的相似度矩陣 X 評(píng)分矩陣轉(zhuǎn)置

UserCF與ItemCF的對(duì)比

對(duì)于電子商務(wù),用戶數(shù)量一般大大超過(guò)商品數(shù)量,此時(shí)Item CF的計(jì)算復(fù)雜度較低。
比如在購(gòu)書網(wǎng)站上,當(dāng)你看一本書的時(shí)候,推薦引擎會(huì)給你推薦相關(guān)的書籍,這個(gè)推薦的重要性進(jìn)進(jìn)超過(guò)了網(wǎng)站首頁(yè)對(duì)該用戶的綜合推薦??梢钥吹剑谶@種情況下,Item CF 的推薦成為了引導(dǎo)用戶瀏覽的重要手段?;谖锲返膮f(xié)同過(guò)濾算法,是目前電子商務(wù)采用最廣泛的推薦算法。

在非社交網(wǎng)絡(luò)的網(wǎng)站中,內(nèi)容內(nèi)在的聯(lián)系是很重要的推薦原則,它比基于相似用戶的推薦原則更加有效。在社交網(wǎng)絡(luò)站點(diǎn)中,User CF 是一個(gè)更好錯(cuò)的選擇,User CF 加上社會(huì)網(wǎng)絡(luò)信息,可以增加用戶對(duì)推薦解釋的信服程度。

推薦多樣性和精度,各有千秋。


參考:
Spark基于用戶的協(xié)同過(guò)濾算法https://www.toutiao.com/a6498952374487368205/?tt_from=mobile_qq&utm_campaign=client_share&app=news_article&utm_source=mobile_qq&iid=15393016323&utm_medium=toutiao_android

推薦系統(tǒng)_itemCF和userCF
http://blog.csdn.net/u011263983/article/details/51498458

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容