一、首先我們要明確,我們為什么要構建推薦系統
1.對於用戶而言:信息化的時代,海量的數據產生也帶來了信息過載和選擇障礙的困擾,每個用戶的時間和精力都是有限的,幫助用戶進行信息過濾和選擇是非常有價值的。
2.對與企業而言:推薦系統帶來的收益是看得見的:Netflix每年2/3的觀看電影來自推薦系統
亞馬遜每年35%的銷售額來源於它的推薦
Google news 的推薦系統能帶來額外38%的點擊
二、推薦系統的前提條件
1.對於數據量的要求:1萬以下 不建議個性化推薦
1萬到10萬 可以嘗試
10萬以上 可以用
2.用戶足夠多,用戶的分布足夠廣:用戶種類越多,推薦系統的效果越好
3.用戶點擊的內容足夠廣:如果用戶分布很廣,用戶也很多,但是,他們都只點擊少部分信息,這時,個性化推薦的系 統的優勢並不十分明顯。
三、推薦系統到底是什么
1.簡單看來說:推薦系統實際上是尋找過去連接的過程,並從過去的連接推測未來。
連接:用戶和商品的連接,商品和商品的連接,用戶和用戶的連接。
2.在數學上:推薦系統實際上是擬合一個用戶對內容滿意度的函數:
Y=F(xi,xu,xc) xi:item特征 xu:user特征 xc:contex特征
結合內容特征,用戶特征,環境特征這三個維度,模型會給出一個預估,既推測推薦內容在這一場景下對這一用戶是否合適。
舉個例子:
四、推薦系統算法分類
這里我們只講述基於協同過濾的推薦
五、協同過濾推薦系統:
1.基於用戶的協同過濾(User CF):
(1)基本原理:通過用戶對不同內容(物品)的行為,來評測用戶之間的相似性,找到“鄰居”基於這種 相似性做出推薦。
相當於,給相似的用戶推薦其他用戶喜歡的內容。
(2)基本步驟: 找到和目標用戶興趣相似的用戶集合
找到這個集合中的用戶喜歡的,並且目標用戶沒有聽說過的物品推薦給目標用戶
(3)怎么找到和你相似的人:
2.基於物品的協同過濾(Item CF):
(1)基本原理:根據用戶的歷史偏好,推薦相似的物品給用戶。
(2)計算:
1>物品相似度的計算:
2>生成物品相似矩陣的計算:
(3)TopN推薦:
舉個例子:
3.UserCF和ItemCF的比較:
四、代碼實現