作者:馮向博
微信:supermvn
介紹:推薦系統(tǒng)學(xué)習(xí)整理
目錄
一. 前面的話
二. 原始用戶物品評(píng)分?jǐn)?shù)據(jù)
三. 物品相似度計(jì)算過程
四. 推薦列表計(jì)算
五. 總結(jié)一下
六. 練習(xí)
一. 前面的話
根據(jù)上篇文中反饋,基于物品的協(xié)同過濾的原理在上篇中描述對(duì)部分讀者理解起來有一定的困難,我重新梳理了下,輸出了用圖的形式表示物品相似及推薦算法的推文。
主要拆解為以下幾個(gè)數(shù)據(jù)的處理過程

image
- 用戶物品(購買、點(diǎn)擊、收藏、付款)評(píng)分?jǐn)?shù)據(jù)
- 用戶物品評(píng)分矩陣
- 物品相似度矩陣
- 推薦物品矩陣
二. 原始用戶物品評(píng)分?jǐn)?shù)據(jù)

image
-
usre_id評(píng)分用戶ID -
item_id評(píng)分的物品ID -
rating用戶對(duì)物品的評(píng)分
這里評(píng)分就是根據(jù)用戶的行為數(shù)據(jù),對(duì)這個(gè)物品進(jìn)行一個(gè)打分?jǐn)?shù)據(jù)處理,我們這里只使用其他其他數(shù)據(jù)部門,提供的評(píng)分?jǐn)?shù)據(jù)。
根據(jù)我們的數(shù)據(jù)處理過程,我們需要將這個(gè)打分?jǐn)?shù)據(jù)處理成用戶物品評(píng)分矩陣,處理過程是將同一個(gè)用戶 id 作為 Key,對(duì)所有物品的 id 和 rating 作為 value 記錄,當(dāng)同一個(gè)物品id有多個(gè)打分,就將這個(gè)打分求和。構(gòu)成用戶物品評(píng)分矩陣

image
三. 物品相似度計(jì)算過程
這里的物品相似度計(jì)算我們需要一個(gè)公式

image
-
|Ni|是喜歡物品i的用戶數(shù) -
|Nj|是喜歡物品j的用戶數(shù) -
Wij是物品i與j相似度

image
- 這里需要根據(jù)用戶物品評(píng)分矩陣計(jì)算
Ni,我們?cè)诒闅v用戶物品評(píng)分矩陣的時(shí)候會(huì)記錄物品i的用戶數(shù)Ni。 - 同時(shí)需要構(gòu)建一個(gè)物品兩兩共現(xiàn)矩陣,記錄每個(gè)用戶對(duì)物品的打分記錄數(shù)。然后將所有用戶的物品兩兩共現(xiàn)矩陣求和得到
Cij。
image
依據(jù) N 和 C 就計(jì)算出物品相似矩陣
四. 推薦列表計(jì)算
推薦列表計(jì)算,需要使用物品評(píng)分矩陣和相似度矩陣來計(jì)算

image
這里就是涉及一個(gè)矩陣相乘計(jì)算。
最后去掉用戶評(píng)分矩陣中的數(shù)據(jù),剩余的就是推薦的物品集合。

image
五. 總結(jié)一下
- 總的物品推薦,圖形表示出來。
- 物品相似度過程,圖形化表示。
六. 練習(xí)
- 對(duì)比上一篇的文章,這篇圖形表示算法都可以在代碼中找到。
- 試著用圖形繪制物品推薦過程,掌握之。

微信公眾號(hào)
