基于用戶協(xié)同過濾(User-CF)的推薦算法

提綱

1. 數(shù)學(xué)必備知識(shí)(向量)

2. 構(gòu)建矩陣模型

3. User-CF的思想和計(jì)算

問題域

在一個(gè)個(gè)性化推薦系統(tǒng)中,當(dāng)一個(gè)用戶A需要個(gè)性化推薦時(shí),可以先找和他有相似興趣的其他用戶,然后把那些用戶喜歡的、而用戶A沒有聽說過的物品推薦給A。這種方法成為基于用戶的協(xié)同過濾算法(User-CF)

向量

根據(jù)問題域中構(gòu)建出來的用戶-行為評(píng)分矩陣(圖1-1),我們可以構(gòu)建出用戶的向量.首先,把每一個(gè)用戶用一個(gè)向量表示,每個(gè)向量里有6個(gè)數(shù)字,分別代表該用戶對(duì)6本書喜愛程度的評(píng)分.0代表用戶沒看過這本書.圖示:

余弦相似度

接下來,計(jì)算倆個(gè)用戶的相似性,這里使用的指標(biāo)叫作余弦相似度,計(jì)算公式如下:


其中,分子部分a·b表示兩個(gè)向量的點(diǎn)積,計(jì)算方法就是兩個(gè)向量對(duì)應(yīng)元素先相乘再求和,比如:

用戶a=[4 3 0 0 5 0]和用戶b=[5 0 4 0 4 0]

a·b=4x5+3x0+0x4+0x0+5x4+0x0=40

分母部分的\vert\vert a \vert \vert代表向量a的模長(zhǎng),\vert\vert a \vert \vert\vert\vert b \vert\vert就是a,b兩個(gè)向量模長(zhǎng)的乘積.向量模長(zhǎng)的計(jì)算方法就是把向量

中的每個(gè)元素平方后再求和最后再開根號(hào).

\vert\vert a\vert\vert =  \sqrt{4^2+3^2+0^2+0^2+5^2+0^2}

\vert\vert b \vert\vert=\sqrt{5^2+0^2+4^2+0^2+4^2+0^2}

于是,第一個(gè)用戶和第二個(gè)用戶的相似度就可以進(jìn)行如下計(jì)算:

\frac{4\times5 + 5\times4}{\sqrt{4^2 +3^2+5^2}\times \sqrt{ 5^2+4^2+4^2} }\approx 0.75

余弦相似度的值在[0,1]閉區(qū)間內(nèi),值越大說明越相似,值越小說明越不相似.根據(jù)上面的計(jì)算公式,分別計(jì)算小白和其他5個(gè)同事的相似度,然后根據(jù)從大到小的順序排列.可以看到小白和前倆個(gè)同事相似度高而和最后一個(gè)同事完全不相似.


?User-CF的思想和計(jì)算

比如,和小白最相似的兩個(gè)同事的閱讀列表編號(hào)有1,3,4,5共4本書.其中1,5這兩本書小白已經(jīng)看過,3,4這兩本書哪本可能更適合小白的口味呢?

可以計(jì)算這兩個(gè)同事對(duì)這兩本書的加權(quán)評(píng)分并作為小白的可能評(píng)分,權(quán)重就是他們之間的相似度,具體計(jì)算如

下圖.通過計(jì)算可以看出編號(hào)為3的書可能更適合小白的口味.


計(jì)算步驟:

1. 先確定第一個(gè)同事?lián)碛械拈喿x列表的圖書編號(hào)為1,3,5

2. 再確定第二個(gè)同事?lián)碛械拈喿x列表的圖書編號(hào)為1,3,4,5

3. 小白自己已經(jīng)擁有的閱讀的圖書列表是1,2,5[這也是打叉的意義,自己已經(jīng)有的,不需要再推薦給自己了]

4. 最后剩余的只有編號(hào)為3和編號(hào)為4的兩本書了

5. 計(jì)算公式說明,0.75和0.63代表權(quán)重,也就是相似值.4,3,5代表的是該用戶對(duì)這本書的評(píng)分.

適用場(chǎng)景

1. 性能:適用于用戶較少的場(chǎng)合,如果用戶過多,計(jì)算用戶相似度矩陣的代價(jià)較大

2. 領(lǐng)域:實(shí)效性要求高,用戶個(gè)性化興趣要求不高

3. 實(shí)時(shí)性:用戶有新行為,不一定需要推薦結(jié)果立即變化

4. 冷啟動(dòng):在新用戶對(duì)少的物品產(chǎn)生行為后,不能立即對(duì)他進(jìn)行個(gè)性化推薦,因?yàn)橛脩粝嗨贫仁请x線計(jì)算的?

新物品上線后一段時(shí)間,一旦有用戶對(duì)物品產(chǎn)生行為,就可以將新物品推薦給其他用戶

最后編輯于
?著作權(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)容