协同过滤系统基于用户的评分预测
推薦算法–協(xié)同過濾
什么是協(xié)同過濾
協(xié)同過濾推薦(Collaborative Filtering recommendation)是在信息過濾和信息系 統(tǒng)中正迅速成為一項(xiàng)很受歡迎的技術(shù)。與傳統(tǒng)的基于內(nèi)容過濾直接分析內(nèi)容進(jìn)行 推薦不同,協(xié)同過濾分析用戶興趣,在用戶群中找到指定用戶的相似(興趣)用 戶,綜合這些相似用戶對(duì)某一信息的評(píng)價(jià),形成系統(tǒng)對(duì)該指定用戶對(duì)此信息的喜 好程度預(yù)測(cè)。 協(xié)同過濾是迄今為止最成功的推薦系統(tǒng)技術(shù),被應(yīng)用在很多成功的推薦系統(tǒng)中。 電子商務(wù)推薦系統(tǒng)可根據(jù)其他用戶的評(píng)論信息,采用協(xié)同過濾技術(shù)給目標(biāo)用戶推 薦商品。 協(xié)同過濾算法主要分為基于啟發(fā)式和基于模型式兩種。 其中,基于啟發(fā)式的協(xié)同過濾算法,又可以分為基于用戶的協(xié)同過濾算法 (User-Based)和基于項(xiàng)目的協(xié)同過濾算法(Item-Based)。 ? 啟發(fā)式協(xié)同過濾算法主要包含 3 個(gè)步驟: 1)收集用戶偏好信息; 2)尋找相似的商品或者用戶; 3)產(chǎn)生推薦。 “巧婦難為無米之炊”,協(xié)同過濾的輸入數(shù)據(jù)集主要是用戶評(píng)論數(shù)據(jù)集或者行為數(shù) 據(jù)集。這些數(shù)據(jù)集主要又分為顯性數(shù)據(jù)和隱性數(shù)據(jù)兩種類型。其中,顯性數(shù)據(jù)主 要是用戶打分?jǐn)?shù)據(jù),譬如用戶對(duì)商品的打分,五分制的 1 分,2 分等。 但是,顯性數(shù)據(jù)存在一定的問題,譬如用戶很少參與評(píng)論,從而造成顯性打分?jǐn)?shù) 據(jù)較為稀疏;用戶可能存在欺詐嫌疑或者僅給定了部分信息;用戶一旦評(píng)分,就 不會(huì)去更新用戶評(píng)分分值等。 而隱性數(shù)據(jù)主要是指用戶點(diǎn)擊行為、購買行為和搜索行為等,這些數(shù)據(jù)隱性地揭 示了用戶對(duì)商品的喜好。 隱性數(shù)據(jù)也存在一定的問題,譬如如何識(shí)別用戶是為自己購買商品,還是作為禮 物贈(zèng)送給朋友等。
基于用戶的協(xié)同過濾
1、方法:
1.收集用戶信息 收集可以代表用戶興趣的信息。一般的網(wǎng)站系統(tǒng)使用評(píng)分的方式或是給予評(píng)價(jià), 這種方式被稱為“主動(dòng)評(píng)分”。另外一種是“被動(dòng)評(píng)分”,是根據(jù)用戶的行為模式由 系統(tǒng)代替用戶完成評(píng)價(jià),不需要用戶直接打分或輸入評(píng)價(jià)數(shù)據(jù)。電子商務(wù)網(wǎng)站在 被動(dòng)評(píng)分的數(shù)據(jù)獲取上有其優(yōu)勢(shì),用戶購買的商品記錄是相當(dāng)有用的數(shù)據(jù)。 2.最近鄰搜索(Nearest neighbor search, NNS) 以用戶為基礎(chǔ)(User-based)的協(xié)同過濾的出發(fā)點(diǎn)是與用戶興趣愛好相同的另一 組用戶,就是計(jì)算兩個(gè)用戶的相似度。例如:查找 n 個(gè)和 A 有相似興趣用戶,把 他們對(duì) M 的評(píng)分作為 A 對(duì) M 的評(píng)分預(yù)測(cè)。一般會(huì)根據(jù)數(shù)據(jù)的不同選擇不同的算 法,目前較多使用的相似度算法有 Pearson Correlation Coefficient(皮爾遜相關(guān)系 數(shù))、Cosine-based Similarity(余弦相似度)、Adjusted Cosine Similarity(調(diào)整后 的余弦相似度)。 基于用戶(User-Based)的協(xié)同過濾算法首先要根據(jù)用戶歷史行為信息,尋找與 新用戶相似的其他用戶;同時(shí),根據(jù)這些相似用戶對(duì)其他項(xiàng)的評(píng)價(jià)信息預(yù)測(cè)當(dāng)前 新用戶可能喜歡的項(xiàng)。 給定用戶評(píng)分?jǐn)?shù)據(jù)矩陣 R,基于用戶的協(xié)同過濾算法需要定義相似度函數(shù) s: U×U→R,以計(jì)算用戶之間的相似度,然后根據(jù)評(píng)分?jǐn)?shù)據(jù)和相似矩陣計(jì)算推薦結(jié) 果。
如何計(jì)算
1、基于用戶的協(xié)同過濾推薦系統(tǒng)在搜集了用戶的信息之后有些用戶對(duì)商品的評(píng)分不全面我們就需要通過算法對(duì)該用戶該商品的評(píng)分進(jìn)行預(yù)測(cè)
2、在預(yù)測(cè)是我們就需要找到用戶的相鄰用戶,通過他們對(duì)商品的評(píng)分來預(yù)測(cè)出該用戶對(duì)該商品的評(píng)分,此時(shí)我們就需要用到相似度,我們常用的相識(shí)度算法有以下兩種:
1、皮爾遜相關(guān)系數(shù):
2、余弦相似度算法:
計(jì)算出相似度系數(shù)之后在通過公式計(jì)算用戶 u 對(duì)未評(píng)分商品的預(yù)測(cè)分值:
下面舉一個(gè)基于用戶計(jì)算未評(píng)分的預(yù)測(cè)值的例子:
假設(shè)有如下電子商務(wù)評(píng)分?jǐn)?shù)據(jù)集,預(yù)測(cè)用戶 C 對(duì)商品 4 的評(píng)分:
計(jì)算過程:
通過這種方法我們就可以對(duì)用戶未評(píng)分的商品進(jìn)行評(píng)分預(yù)測(cè)了,進(jìn)而向該用戶推薦頻分較高的相關(guān)產(chǎn)品。
圖1中‘?’表示該用戶未對(duì)該商品進(jìn)行評(píng)分,‘/’之后的表示我們通過算法計(jì)算出來的預(yù)測(cè)值。
總結(jié)
以上是生活随笔為你收集整理的协同过滤系统基于用户的评分预测的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Locate函数
- 下一篇: 服务器显示htx插槽,Socket F接