目錄
- 基于內(nèi)容的推薦系統(tǒng)
- 基于協(xié)同過(guò)濾的推薦系統(tǒng)
- (1)基于item的協(xié)同過(guò)濾
- (2)基于用戶(hù)的協(xié)同過(guò)濾
基于內(nèi)容的推薦系統(tǒng)
根據(jù)每部電影的內(nèi)容以及用戶(hù)已經(jīng)評(píng)過(guò)分的電影來(lái)判斷每個(gè)用戶(hù)對(duì)每部電影的喜好程度,從而預(yù)測(cè)每個(gè)用戶(hù)對(duì)沒(méi)有看過(guò)的電影的評(píng)分。

電影內(nèi)容矩陣X * 用戶(hù)喜好矩陣θ = 電影評(píng)分表
那么,用戶(hù)喜好矩陣θ(用戶(hù)對(duì)于每種不同類(lèi)型電影的喜好程度)如何求解呢?
用戶(hù)喜好矩陣θ的代價(jià)函數(shù):

其中,正則化項(xiàng)為防止過(guò)擬合。
(1)不存在商品冷啟動(dòng)問(wèn)題
(2)可以明確告訴用戶(hù)推薦的商品包含哪些屬性
(1)需要對(duì)內(nèi)容進(jìn)行透徹的分析
(2)很少能給用戶(hù)帶來(lái)驚喜
(3)存在用戶(hù)冷啟動(dòng)的問(wèn)題
基于協(xié)同過(guò)濾的推薦系統(tǒng)
根據(jù)電影評(píng)分表和用戶(hù)喜好矩陣θ,來(lái)求得電影內(nèi)容矩陣X。然后,將電影內(nèi)容矩陣X與用戶(hù)喜好矩陣θ相乘,這樣就得到了一個(gè)完整的電影評(píng)分表。

所以,基于協(xié)同過(guò)濾的電影推薦就是根據(jù)每個(gè)用戶(hù)對(duì)于每種電影類(lèi)型的喜好程度以及用戶(hù)已經(jīng)評(píng)過(guò)分的電影來(lái)推斷每部電影的內(nèi)容,從而預(yù)測(cè)每個(gè)用戶(hù)對(duì)沒(méi)有看過(guò)的電影的評(píng)分。
那么,如何求解電影內(nèi)容矩陣X呢?
電影內(nèi)容矩陣X的代價(jià)函數(shù):

用戶(hù)喜好矩陣X的獲取:
(1)通過(guò)在線問(wèn)卷調(diào)查來(lái)獲取用戶(hù)對(duì)電影的評(píng)價(jià),但并不是所有的用戶(hù)都會(huì)填寫(xiě),就算填寫(xiě)了,也不一定全部是正確信息;
(2)通過(guò)一種更高效的方式來(lái)同時(shí)求解電影內(nèi)容矩陣X和用戶(hù)喜好矩陣θ.
通過(guò)前面,可以看到電影內(nèi)容矩陣X和用戶(hù)喜好矩陣θ,它們的第一項(xiàng)是相同的,因此,我們可以將這兩個(gè)公式合并為一個(gè)公式來(lái)同時(shí)求解X與θ,這種方法的好處就是只用搜集用戶(hù)對(duì)電影的評(píng)分。

目標(biāo)是最小化這個(gè)代價(jià)函數(shù),隨機(jī)初始化X和θ,通過(guò)梯度下降法或其他優(yōu)化算法求解。
(1)基于item的協(xié)同過(guò)濾
先計(jì)算商品之間的相似度,然后根據(jù)商品之間的相似度來(lái)向用戶(hù)進(jìn)行推薦,如:用戶(hù)購(gòu)買(mǎi)了硬盤(pán),則很有可能向用戶(hù)推薦u盤(pán),因?yàn)橛脖P(pán)和u盤(pán)具有相似性。
在基于item的協(xié)同過(guò)濾中,只需要用戶(hù)對(duì)商品的評(píng)分,首先需要計(jì)算商品之間的相似度。
如何度量商品之間的相似度?

計(jì)算出商品之間的相似度之后, 我們就能夠預(yù)測(cè)用戶(hù)對(duì)商品的評(píng)分。

:商品i 與其他商品的相似度
:用戶(hù)u對(duì)其他商品的評(píng)分
分母:與商品 i 相似的商品的相似度的總和
表達(dá)的是:根據(jù)用戶(hù)u對(duì)其他和商品 i 相似的商品的評(píng)分來(lái)推斷用戶(hù)對(duì)商品 i 的評(píng)分。 當(dāng)求出用戶(hù)u對(duì)所有商品的預(yù)測(cè)評(píng)分后,將其進(jìn)行排序,選擇得分最高的商品推薦給用戶(hù)。
(2)基于用戶(hù)的協(xié)同過(guò)濾
基本思想:假設(shè)我們要對(duì)用戶(hù)A進(jìn)行推薦,首先要找到與用戶(hù)相似的其他用戶(hù),看其他用戶(hù)都購(gòu)買(mǎi)過(guò)其他商品,把其他用戶(hù)購(gòu)買(mǎi)的商品推薦給用戶(hù)A。
這時(shí)就需要度量用戶(hù)之間的相似度,與基于item的協(xié)同過(guò)濾類(lèi)似:

:用戶(hù)u對(duì)商品 i 的評(píng)分
:用戶(hù)u對(duì)這些商品評(píng)分的平均值
計(jì)算了用戶(hù)之間的相似度之后就可以預(yù)測(cè)用戶(hù)對(duì)商品的評(píng)分。
商品評(píng)分公式:

公式表示:根據(jù)與用戶(hù)u相似的其他用戶(hù)對(duì)商品i 的評(píng)分來(lái)推斷用戶(hù)u對(duì)商品i 的評(píng)分。 當(dāng)求出用戶(hù)u對(duì)所有商品的預(yù)測(cè)評(píng)分后,將其進(jìn)行排序,選擇得分最高的幾個(gè)商品推薦給用戶(hù)。
- 基于協(xié)同過(guò)濾推薦系統(tǒng)的優(yōu)點(diǎn):
(1)能夠根據(jù)各個(gè)用戶(hù)的歷史信息推斷出商品的質(zhì)量
(2)不需要對(duì)商品有任何專(zhuān)業(yè)領(lǐng)域的知識(shí)
(1)冷啟動(dòng)問(wèn)題
(2)gray sheep
(3)協(xié)同過(guò)濾的復(fù)雜度會(huì)隨著商品數(shù)量和用戶(hù)數(shù)量的增加而增加
(4)同義詞的影響
(5)shilling attack:對(duì)競(jìng)爭(zhēng)對(duì)手的商品專(zhuān)門(mén)打低分,對(duì)自己的商品打高分
日常生活中,我們每個(gè)人其實(shí)都直接或者間接接觸過(guò)推薦系統(tǒng),也都享受過(guò)推薦系統(tǒng)帶來(lái)的生活上便利。關(guān)于推薦系統(tǒng)的介紹就到這里,希望大家以后多多支持腳本之家!
您可能感興趣的文章:- 不到40行代碼用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的推薦系統(tǒng)
- 如何用Python來(lái)搭建一個(gè)簡(jiǎn)單的推薦系統(tǒng)
- Python用戶(hù)推薦系統(tǒng)曼哈頓算法實(shí)現(xiàn)完整代碼
- Python基于機(jī)器學(xué)習(xí)方法實(shí)現(xiàn)的電影推薦系統(tǒng)實(shí)例詳解