1. 程式人生 > >推薦演算法---模式場景

推薦演算法---模式場景

一、        基於內容推薦

概念:根據物品的相關資訊發現不同物品的相關程度,根據使用者以往的喜好記錄,推薦給使用者相似的物品。

例如,在電影推薦中,基於內容的系統首先分析使用者已經看過的打分比較高的電影的共性(演員、導演、風格等),再推薦與這些使用者感興趣的電影內容相似度高的其他電影。

優缺點

優點:

1)  具有良好的解釋性。通過列出推薦專案的特徵,可以解釋為什麼推薦這些專案。

2)  不需要其他使用者資料,沒有稀疏問題。

3)  能推薦出新的或不是很流行的專案,沒有新專案問題。

缺點:

1)    不能為使用者發現新的感興趣的資源,只能發現和使用者已有興趣相似的資源。

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

3)    需要使用者的物品的歷史資料,有新使用者的問題

二、        基於人口統計學推薦

概念:根據使用者的基本資訊發現不同使用者的相關程度,然後將相似使用者喜愛的其他物品推薦給當前使用者。

優缺點

優點:

1)    不依賴於物品本身的屬性,在不同物品的領域都可以使用。

缺點:

1)  需要收集使用者資訊,可能涉及到使用者不願意提及的敏感資訊。

2)    這種方法過於粗糙,尤其是對品味要求較高的領域,比如圖書,電影和音樂等領域,不同使用者有不同愛好和習慣,無法得到很好的推薦效果。

三、        基於關聯規則推薦

概念:主要是挖掘一些資料的依賴關係,典型的場景就是“購物籃問題”,通過關聯規則的挖掘,我們可以找到哪些物品經常被同時購買,或者使用者購買了一些物品後通常會購買哪些其他的物品。基於關聯規則的推薦更常見於電子商務系統中。

優缺點:

優點:

1) 轉化率較高,因為當用戶已經購買了頻繁集合中的若干專案後,購買該頻繁集合中其他專案的可能性更高。即產生購買行為的使用者人數/所有瀏覽該商品的人數。

轉化率(CVR)=(轉化量/點選量)*100%。

2)能發現新興趣點

缺點:

1)  需要採集使用者資料,存在冷啟動問題

2)  關聯規則計算耗時

注意:關聯規則的發現最為關鍵且最耗時,是演算法的瓶頸,但可以離線進行

 

四、        基於協同過濾的推薦

基於協同過濾的推薦系統一般應用於有使用者評分的系統之中,通過分數去刻畫使用者對於物品的喜好。協同過濾推薦系統被分化為兩種型別:基於使用者(User-based)的推薦和基於物品(Item-based)的推薦。

基於使用者的推薦

概念:根據使用者的歷史行為資料(評分),發現與當前使用者偏好相似的使用者群,然後,基於相似使用者的歷史偏好資訊,為當前使用者進行推薦。一般的應用中是採用計算“K-Nearest Neighboor”的演算法

推薦的物品在內容上可能完全不相關,可以為使用者發現新的感興趣資源。但對新使用者有冷啟動問題

基於物品的推薦

概念:根據使用者的歷史行為資料(評分),發現物品之間的相似度,然後根據使用者的歷史偏好資訊,將相似的物品推薦給使用者。

推薦的結果著重於維繫使用者的歷史興趣,更加個性化。但對新物品有冷啟動問題。

優缺點:

優點:

1)能夠過濾機器難以自動內容分析的資訊,如藝術品,音樂等。

2)可以為使用者發現新的感興趣資源。

3)推薦個性化、自動化程度高。能夠有效的利用其他相似使用者的回饋資訊。加快個性化學習的速度。

4)共用了其他人的經驗,避免了內容分析不完全或不準確。

缺點:

使用者和物品冷啟動問題

稀疏性問題(Sparsity):系統歷史資料過少,難以進行精確的模式查詢匹配推薦

系統延伸性問題(Scalability):新加User或者Item時,系統需要增加的計算負荷量大。

 

常見問題:

1、個性化推薦應用成功的兩個條件。

第一是存在資訊過載,第二是使用者大沒有特別明確的需求。

2、冷啟動?如何應對冷啟動問題?

2.1、冷啟動:如何在缺乏資料時給出好的推薦。

2.2、主要分為三類:

使用者冷啟動:如何給新使用者做個性化推薦

物品冷啟動:如何將新的物品推薦給可能對它感興趣的使用者

系統冷啟動:如何在一個新開發的網站上設計個性化推薦系統。

2.2.1、使用者冷啟動解決方案:

1)根據熱門排行榜進行推薦

2)利用使用者註冊時提供的資訊,基於人口統計學進行推薦

3)找出使用者好友資訊,推薦給他好友喜歡的物品

4)當收集到部分資料時,基於內容推薦給使用者相似物品

5)當評分資料足夠多時基於使用者協同過濾進行推薦

2.2.2、物品冷啟動解決方案

1)利用內容資訊,基於內容推薦將他們推薦給喜歡過和他們相似的物品的使用者。

2)當收集到足量多的使用者對該物品的評分後,根據評分進行基於物品的協同過濾推薦。

2.2.3、系統冷啟動解決方案

1)引入專家知識,通過一定的高效方式迅速建立起物品的相關度表。

3、資料稀疏性問題

在許多推薦系統中,已經獲得到的評級資料相比整個待預測的項只是很小的一部分,難以進行精確的模式查詢匹配推薦。

解決辦法:

1)通過使用使用者資料資訊來計算使用者相似度。也就是,兩個使用者會被認為相似不只單在相同的電影評級類似,而且也有可能屬於同一個人口統計區塊(demographic),比如,使用者的性別,年齡,居住地,教育情況,工作資訊。

2)在客戶的歷史交易和反饋資料中,找出使用者間的相似性

3)採用降維技術,奇異值分解SVD, 來降低稀疏矩陣的維度

4、基於使用者的協同過濾與基於人口統計學的推薦區別聯絡

基於使用者的協同過濾推薦機制和基於人口統計學的推薦機制都是計算使用者的相似度,並基於“鄰居”使用者群計算推薦。但它們所不同的是如何計算使用者的相似度,基於人口統計學的機制只考慮使用者本身的特徵,而基於使用者的協同過濾機制是在使用者的歷史偏好的資料上計算使用者的相似度。

5、基於物品的協同過濾與基於內容的推薦區別聯絡

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

6UserCFItemCF之間的比較

UserCF:

推薦結果更著重於反映和使用者興趣相似的小群體的熱點,更加社會化

1)適用於使用者較少的場合,否則使用者相似度矩陣計算代價很大

2)適合使用者個性化興趣不太明顯的領域

3)對新使用者不友好,因為相似度矩陣不能實時計算

4)很難提供令使用者信服的推薦解釋

ItemCF:

推薦結果更著重於維繫使用者的歷史興趣,更加個性化。

1)適用於物品數明顯小於使用者數的場合,否則物品相似度矩陣計算代價很大

2)適合長尾物品豐富(個性化需求物品),使用者個性化需求強的領域

3)對新使用者友好,對新物品不友好,因為相似度矩陣不能實時計算

4)利用使用者歷史行為做推薦解釋,比較令使用者信服

長尾效應:大多數的需求會集中在頭部,而這部分我們可以稱之為流行,而分佈在尾部的需求是個性化的,零散的小量的需求。而這部分差異化的、少量的需求會在需求曲線上面形成一條長長的"尾巴",而所謂長尾效應就在於它的數量上,將所有非流行的市場累加起來就會形成一個比流行市場還大的市場。