推薦算法概述
- 2020 年 4 月 7 日
- 筆記
1為什麼需要推薦?
隨着互聯網發展,各類信息越來越多,如何進行有效的信息獲取及展示成為用戶和平台共同關注的問題,而有效的推薦可幫我們進行信息過濾,成為解決這項問題的重要手段。
- 信息發佈平台:提供個性化服務,提高用戶體驗,增加頁面轉化率,從而增加用戶粘性,有利於用戶運營。
- 用戶方:快速找到喜歡的信息,提高信息過濾速度,尤其可以快速找到喜歡卻相對小眾的信息。
2哪裡有推薦?
推薦其實已經應用在我們生活的各個領域中。
比如微博中的榜單,就是將熱門的東西推薦給用戶,讓用戶可以快速關注到當前熱點信息。

音樂播放器的推薦,就是根據用戶歷史的行為偏好,找到用戶潛在喜歡的歌曲並進行推薦。

包括我們在電商平台購物時,每位用戶的首頁展示都會不一樣,也是根據用戶偏好和推薦算法,實現的千人千面。
3推薦算法有哪些?
推薦算法就是根據一定的規則,得到根據用戶喜歡程度進行排列的推薦列表。除了根據熱度進行推薦,目前主要的推薦算法有如下幾種?
a. 協同過濾
協同過濾(Collaborative Filtering, CF)是最常用和經典的推薦算法,基本原理就是根據用戶的歷史偏好,發現用戶、物品或者內容間的相關性,進行推薦。協同過濾可細分為基於用戶、基於物品的推薦算法。
- 基於用戶(User-based Recommendation)
通過用戶對物品的偏好找到與該用戶相似的用戶,將相似用戶喜歡的物品推薦給當前用戶。比如下方數據記錄了4名用戶對5種商品的購買行為,用戶A和用戶C都購買了牛奶和麵包,相似度最高,因此將用戶D購買過的果醬推薦給用戶A。

適用範圍:物品比用戶多。
優點:能實現跨領域的結果,並且驚喜度高,能發現用戶潛在興趣。
缺點:很多時候用戶間的共同行為較少,難以形成有意義的鄰居集合,且用戶間距離可能變化很快,不適合線上實時計算。
- 基於物品(Item-based Recommendation)
基於物品的推薦算法尤其在電商行業應用最為廣泛,他通過用戶對物品的偏好找到相似物品,為用戶推薦相似物品。根據下圖記錄,購買麵包的用戶都會購買果醬,所以麵包和果醬有較高相似度,因此對買了麵包的用戶D推薦果醬。

適用範圍:用戶比物品多。
優點:推薦精度高,傾向於推薦同類商品,且物品間距離一段時間內穩定,能較快得出在線結果。
缺點:物品冷啟動、數據稀疏時,效果較差。
- 基於模型(Model-based Recommendation)
通過機器學習的方法預測用戶對商品的喜好程度。常規的應用在推薦中的機器學習方法包括關聯分析、聚類算法、回歸算法、分類算法等,隨着神經網絡的研究和發展,基於神經網絡的推薦算法也日漸火爆。神經協調過濾為例,是根據隱性反饋來推斷用戶的偏好值,可以很好的提升模型泛化能力,流程如下圖所示。

適用範圍:數據較為稀疏。
優點:很好的支持發現用戶潛在偏好。
b. 基於內容的推薦
指根據物品的便簽屬性,推薦有相似標籤的物品。如下夏洛特煩惱和人在囧途都是喜劇,那麼基於內容的推薦就會給看過夏洛特煩惱的用戶B推薦人在囧途。

適用範圍:不能根據評分或名稱,需要根據物品本質進行推薦。
優點:最直觀,不受冷啟動問題限制。
缺點:推薦精度較差,結果驚喜度不足。