推薦系統 推薦系統的常用演算法概述

2021-09-02 06:51:46 字數 2199 閱讀 8226

前一陣子準備畢業**的開題,一直在看推薦系統相關的**。對推薦系統有了乙個更加清晰和理性的認識,也對推薦演算法有了深入了解。藉此機會總結分享一下,大家多多拍磚。

推薦系統的出現

隨著網際網路的發展,人們正處於乙個資訊**的時代。相比於過去的資訊匱乏,面對現階段海量的資訊資料,對資訊的篩選和過濾成為了衡量乙個系統好壞的重要指標。乙個具有良好使用者體驗的系統,會將海量資訊進行篩選、過濾,將使用者最關注最感興趣的資訊展現在使用者面前。這大大增加了系統工作的效率,也節省了使用者篩選資訊的時間。

在此背景下,推薦系統出現了,推薦系統的任務就是解決上述的問題,聯絡使用者和資訊,一方面幫助使用者發現對自己有價值的資訊,另一方面讓資訊能夠展現在對他感興趣的人群中,從而實現資訊提供商與使用者的雙贏。

推薦演算法介紹

1 基於人口統計學的推薦

這是最為簡單的一種推薦演算法,它只是簡單的根據系統使用者的基本資訊發現使用者的相關程度,然後將相似使用者喜愛的其他物品推薦給當前使用者。

系統首先會根據使用者的屬性建模,比如使用者的年齡,性別,興趣等資訊。根據這些特徵計算使用者間的相似度。比如系統通過計算發現使用者a和c比較相似。就會把a喜歡的物品推薦給c。

優勢:a 不需要歷史資料,沒有冷啟動問題

b 不依賴於物品的屬性,因此其他領域的問題都可無縫接入。

不足:演算法比較粗糙,效果很難令人滿意,只適合簡單的推薦

2 基於內容的推薦

與上面的方法相類似,只不過這次的中心轉到了物品本身。使用物品本身的相似度而不是使用者的相似度。

系統首先對物品(圖中舉電影的例子)的屬性進行建模,圖中用型別作為屬性。在實際應用中,只根據型別顯然過於粗糙,還需要考慮演員,導演等更多資訊。通過相似度計算,發現電影a和c相似度較高,因為他們都屬於愛情類。系統還會發現使用者a喜歡電影a,由此得出結論,使用者a很可能對電影c也感興趣。於是將電影c推薦給a。

優勢:對使用者興趣可以很好的建模,並通過對物品屬性維度的增加,獲得更好的推薦精度

不足:a 物品的屬性有限,很難有效的得到更多資料

b 物品相似度的衡量標準只考慮到了物品本身,有一定的片面性

c 需要使用者的物品的歷史資料,有冷啟動的問題

3 協同過濾

協同過濾是推薦演算法中最經典最常用的,具體的思路我已經在之前的一篇文章中提到過,大家可以去看一下。

這裡只想介紹一下協同過濾中的方法和剛才提到方法的區別。

大家都知道協同過濾分為基於使用者的協同過濾和基於物品的協同過濾。那麼他們和基於人口學統計的推薦和基於內容的推薦有什麼區別和聯絡呢?下面簡單介紹一下。

基於使用者的協同過濾——基於人口統計學的推薦

基於使用者的協同過濾推薦機制和基於人口統計學的推薦機制都是計算使用者的相似度,並基於「鄰居」使用者群計算推薦,但它們所不同的是如何計算使用者的相似度,基 於人口統計學的機制只考慮使用者本身的特徵,而基於使用者的協同過濾機制可是在使用者的歷史偏好的資料上計算使用者的相似度,它的基本假設是,喜歡類似物品的使用者 可能有相同或者相似的口味和偏好。

基於物品的協同過濾——基於內容的推薦

基於專案的協同過濾推薦和基於內容的推薦其實都是基於物品相似度**推薦,只是相似度計算的方法不一樣,前者是從使用者歷史的偏好推斷,而後者是基於物品本身的屬性特徵資訊。

協同過濾的優勢:

a 它不需要對物品或者使用者進行嚴格的建模,而且不要求物品的描述是機器可理解的,所以這種方法也是領域無關的。

b 這種方法計算出來的推薦是開放的,可以共用他人的經驗,很好的支援使用者發現潛在的興趣偏好

不足:a 方法的核心是基於歷史資料,所以對新物品和新使用者都有「冷啟動」的問題。

b 推薦的效果依賴於使用者歷史偏好資料的多少和準確性。

c 在大部分的實現中,使用者歷史偏好是用稀疏矩陣進行儲存的,而稀疏矩陣上的計算有些明顯的問題,包括可能少部分人的錯誤偏好會對推薦的準確度有很大的影響等等。

d 對於一些特殊品味的使用者不能給予很好的推薦。

e 由於以歷史資料為基礎,抓取和建模使用者的偏好後,很難修改或者根據使用者的使用演變,從而導致這個方法不夠靈活。

4 混合推薦演算法

以上介紹的方法是推薦領域最常見的幾種方法。但是可以看出,每個方法都不是完美的。因此實際應用中,向amazon這樣的系統都是混合使用各種推薦演算法,各取所長。因此我們在使用時,也可以多考慮一下什麼情況下更適合使用哪種演算法,來提高我們系統的效率。

推薦系統的發展方向

1 需要考慮在保證推薦準確性的同時增加推薦的多樣性,使特殊喜好的使用者得到推薦

2 需要考慮使用者對系統的實時反饋,更好的利用反饋資料強化推薦演算法

3 考慮時間,空間,任務等因素,來更好的完成推薦

推薦系統常用演算法概述

前一陣子準備畢業 的開題,一直在看推薦系統相關的 對推薦系統有了乙個更加清晰和理性的認識,也對推薦演算法有了深入了解。藉此機會總結分享一下,大家多多拍磚。推薦系統的出現 隨著網際網路的發展,人們正處於乙個資訊 的時代。相比於過去的資訊匱乏,面對現階段海量的資訊資料,對資訊的篩選和過濾成為了衡量乙個系...

推薦系統的常用演算法概述

前一陣子準備畢業 的開題,一直在看推薦系統相關的 對推薦系統有了乙個更加清晰和理性的認識,也對推薦演算法有了深入了解。藉此機會總結分享一下,大家多多拍磚。推薦系統的出現 隨著網際網路的發展,人們正處於乙個資訊 的時代。相比於過去的資訊匱乏,面對現階段海量的資訊資料,對資訊的篩選和過濾成為了衡量乙個系...

推薦系統(1) 推薦系統概述

推薦系統是主動從大量資訊中找到使用者可能感興趣的資訊的工具。推薦系統的核心問題是如何實現推薦個性化 如何向使用者推薦匹配度高的產品 商品 或專案,本質是通過一定的方式將使用者和專案聯絡起來。自從xerox palo alto研究中心於1992年研發出了基於協同過濾的實驗系統tapestry以來 主要...