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