主流的推薦系統演算法總結

2021-09-12 06:34:12 字數 2469 閱讀 8243

推薦系統的出現

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

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

1 基於人口統計學的推薦

這是最為簡單的一種推薦演算法,它只是簡單的根據系統使用者的基本資訊發現使用者的相關程度,然後將相似使用者喜愛的其他物品推薦給當前使用者。--這種方式通常用於推薦系統的冷啟動,在使用者偏好情況並沒有足夠歷史資料支撐的條件下,可以通過使用者的一些人口統計學方面的資訊實現基本的推薦功能

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

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

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

不足:演算法比較粗糙,效果很難令人滿意,只適合簡單的推薦--一般已成規模的企業不存在冷啟動問題,這種粗糙的演算法使用的機率比較少!

2 基於內容的推薦

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

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

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

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

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

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

d 物品的屬性在一定程度上存在資料的清洗難度,比如從**上爬取的非結構化資料在儲存以及使用的過程中均存在一定程度的工作難度

3 協同過濾

協同過濾是推薦演算法中最經典最常用的

協同過濾中的方法和上述方法的區別。

協同過濾分為基於使用者的協同過濾和基於物品的協同過濾。那麼他們和基於人口學統計的推薦和基於內容的推薦有什麼區別和聯絡呢?

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

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

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

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

協同過濾的優勢:

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

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

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

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

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

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

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

4 混合推薦演算法

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

推薦系統的發展方向

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

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

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

推薦系統演算法總結

最近看推薦系統方面的東西也有段日子了,有書,部落格,唯獨沒有看 總感覺 對於工業界來說用處真的不如學校做課題 那麼大,只要知道某個演算法好不好用以及怎麼用就可以了,也不必知道太多的細節和數學推導。但根據乙個好的演算法,產品部門可以設計出很多很酷的產品,讓使用者倍感web應用的人性化。在看書,看大牛們...

推薦系統演算法總結

阿俊的部落格 最近看推薦系統方面的東西也有段日子了,有書,部落格,唯獨沒有看 總感覺 對於工業界來說用處真的不如學校做課題 那麼大,只要知道某個演算法好不好用以及怎麼用就可以了,也不必知道太多的細節和數學推導。但根據乙個好的演算法,產品部門可以設計出很多很酷的產品,讓使用者倍感web應用的人性化。在...

推薦系統演算法總結

這個演算法是cf中的一種,也是當今很多大型 都在採用的核心演算法之一。對於 以 amazon 為代表,當然也包括京東那種具有搞笑特色的推薦系統在內 影視類推薦,圖書類推薦,類推薦系統來說,item 的增長速度遠不如 user 的增長速度,而且 item 之間的相似性遠不如 user 之間的相似性那麼...