談談推薦系統(一)什麼是推薦系統

2022-09-01 23:42:18 字數 2444 閱讀 5594

前言:

上個月公司的同事提議組內做幾次關於資料探勘的技術串講交流下學習和工作經驗,本著提攜新人的考慮,建議博主也講點什麼。開始時博主想簡單講一講推薦演算法的協同過濾演算法。後來考慮到其實串講不僅僅是和其他人交流分享,也是對自己已有知識的鞏固。想一想還是加點挑戰,談談推薦系統吧^_^。為什麼選推薦系統呢,原因有三個:

1.人們在網路中經常接觸推薦,講起來例子多,人們不陌生;

2.原理比較簡單,不需要學習者有高超的數學基礎;

3.這個領域是博主最先接觸的資料探勘領域^_^。

博主第一次接觸推薦系統的學習是在林老師的《文字挖掘與搜尋引擎》的課上,課上他向我們推薦項亮編著的《推薦系統實踐》,雖然期末的大作業博主被分到了qa組(注:這裡的qa不是質量保證而是問答系統),但博主拜讀了這本書,感覺受益頗多,之後和直博北大的學霸大白弄了個簡陋的基於社交網路的好友推薦系統,當時也不會什麼hadoop、spark什麼的,我們倆全程手撕**,雖然效果和效率都不好但加深了對推薦系統的了解,這樣看來手撕**或許對學習幫助比較好吧(寫到這裡博主想起了一天下午和大白敲完碼,大白興致勃勃拉著博主去爬學校後面的牛角山,博主爬一半沒了力氣,上不去也下不來的可怕回憶)。

一、什麼是推薦系統

設想一下這個情景:

到樓下的小超市或便利店買零食。你飛快的走到零食貨架,從十幾種零食中選了一種你愛吃的。

去離你最近的大超市家樂福買零食。家樂福有三層,有上千種商品在**,你蒙了,還好漂亮的店員小姐告訴你,你需要的零食在二樓的零食區的非膨化食品貨架有賣。

作為乙個宅男,你怎麼可能下樓去買東西,你機智的拿出手機,開啟**,**上有無數的商品**,即使在分類的零食區也有數不盡的網頁,還好你很機智,在搜尋欄輸入了你想要的零食,馬上你找到你想要的零食,江浙滬包郵,你所在的地區不包郵,預計下週日到達,你怒了。

上面三個例子對應著資訊量的發展,隨著網際網路時代的到來,資訊從匱乏的狀態變成了過載的狀態。當資訊很少時(小賣鋪),我們只憑經驗瀏覽就可以得到我們想要的資訊;當資訊增加時(大超市),我們無法一一瀏覽資訊找出我們想要的,這時就出現了門戶分類**(雅虎等);到了資訊過載時(電子商務**),分類已經無法讓我們快捷的獲取資訊了,這時就出現了搜尋引擎(谷歌等)。

但僅僅有搜尋引擎就夠了嗎?上訴例子是在使用者有明確的目標的條件(買某個品牌的零食)下完成的。但在使用者沒有明確目標時(比如晚上沒啥事想隨便找部電影看看),搜尋引擎就顯得捉襟見肘了。

在這個資料過載的時代,資訊的消費者需要從海量的資訊中找到自己所需要的資訊,資訊的生產者要讓自己生產的資訊在海量的資訊中脫穎而出,這時推薦系統就應運而生了。對使用者而言,推薦系統不需要使用者提供明確的目標;對物品而言,推薦系統解決了2/8現象的問題(也叫長尾效應),讓小眾的物品可以展示到需要它們的使用者面前。

二、什麼是好的推薦系統

我們回到買零食的情景,假如你沒有去**購買零食而是去了另乙個**,這個**用了一套高超的推薦演算法算出了此時此刻的你想要買某個品牌的零食(比算命的都厲害),當你開啟應用的一剎那,就把這個品牌的零食呈現在你眼前,你在驚訝的同時,欣然的下單。那麼這個**的推薦系統是不是乙個好的推薦系統呢?答案可能會讓你驚訝。不是!原因是使用者在之前已經有了明確的目標要買某種零食,這套推薦系統可能會增加使用者的體驗,但除此之外並沒有給**帶來多大的利益,因為即使沒有這套推薦系統,使用者也會通過**的搜尋引擎來找到這種零食並購買,,有沒有這套推薦系統**的收入都是一樣的(當然這套系統提高了使用者體驗可能會讓使用者更傾向使用這個**,收入還是有所提公升的)。而另一套推薦系統在你買零食時向你推薦了一款啤酒,你突然想到「看球不喝啤酒咋行」,你欣然買下了這款啤酒。這個推薦就好於上乙個。因為使用者本來沒有買啤酒的計畫,但看了推薦後購買了啤酒,**通過這個推薦多賺了一單。

使用者滿意度

也就是加完這套推薦系統後使用者的的滿意度,這個指標可以通過使用者調查問卷等形式得到,但值得注意的一點是獲得指標的方式方法也有可能降低使用者的滿意度。

**準確率:

就是我們**結果的準確度。一般情況下在topn**時我們計算召回率和準確率;在評分等**時用mae或rmse

覆蓋率:

代表推薦的事物對全部事物的覆蓋情況,可以用來判斷推薦系統是否有馬太效應。馬太效應是出自《聖經 馬太福音》的乙個典故,社會學中的一種強者越強弱者越弱的現象,也就是說推薦系統是否會使被關注的事物更加被關注,被忽視的事物更加被忽視。常用的協同過濾就有馬太效應。比較簡單的測試指標就是資訊熵。

多樣性:

判斷推薦結果是否覆蓋使用者各個興趣點

新穎性:

例如不應該推薦使用者已經看過的電影等,應該多推薦給使用者使用者不知道的商品。記得當時林教授舉了乙個例子,乙個朋友買了5l的洗衣液,應該幾個月都不需要洗衣液了,但那個電子商務平台(不說是哪個了)還是想推薦洗衣液,這就是乙個新穎性不夠的推薦。假如使用者買了一台電腦,新穎性高的推薦是向他推薦一些外設,而不是另一台電腦。

驚喜性:

使用者對推薦的商品之前沒有興趣,但用過之後很滿意。

信任性:

健壯性:

是否能承受住攻擊和刷分(就是使用一些手段使自己的商品優先被推薦)等現象

商業目標:

該推薦系統上線後商業目標完成情況,如業績提公升、銷量增加等等

推薦系統 電影推薦系統(一)

二 電影推薦思路總結 資料儲存部分 離線推薦部分 實時推薦部分 系統初始化部分 離線推薦部分 實時推薦部分 業務系統部分 使用者電影特徵提取時,必須要有對應的資料,電影表,使用者表,使用者評價表。通過als演算法對評價表進行計算,計算出電影的特徵矩陣。通過電影特徵的矩陣計算得出每個電影最相似的幾個電...

推薦系統 0 什麼是推薦系統?

隨著資訊科技和網際網路的發展,人們逐漸從資訊匱乏的時代走人了資訊過載 informationoverload 的時代。推薦系統就是解決資訊過載的重要工具。它的任務是聯絡使用者和資訊,一方面幫助使用者發現對自己有價值的資訊 另一方面讓資訊能夠展現在對它感興趣的使用者面前,從而實現資訊消費者和資訊生產者...

推薦系統 (一)推薦系統評測

2 評測指標 3 覆蓋率 4 多樣性 5 新穎性 6 驚喜度 7 信任度 8 實時性 9 健壯性 乙個完整的推薦系統一般需要使用者 物品提供者和提供推薦系統的 三個參與方。準確度是推薦系統領域的重要質變,但是準確的 並不代表好的推薦 因為使用者可能不管你推不推薦都會購買,失去了推薦的意義 通過日誌系...