推薦系統之協同過濾概述

協同過濾(Collaborative Filtering)是現今推薦系統中應thumb 推薦系統之協同過濾概述用最爲成熟的一個推薦算法系類,它利用興趣相投、擁有共同經驗之羣體的喜好來推薦使用者感興趣的資訊,個人透過合作的機制給予資訊相當程度的迴應(如評分)並記錄下來以達到過濾的目的進而幫助別人篩選資訊(參考wiki,文字有點生硬,不過卻很好的描述了協同過濾的一個互動性:用戶參與用戶獲益)。

邊整理邊寫了整整一天o(╯□╰)o

一、背景

1.1 基本思想

簡單來說:

  • 和你興趣合得來的朋友喜歡的,你也很有可能喜歡;
  • 喜歡一件東西 A,而另一件東西 與這件十分相似,就很有可能喜歡 B
  • 大家都比較滿意的,人人都追着搶的,我也就很有可能喜歡。

三者均反映在協同過濾的評級(rating)或者羣體過濾(social filtering)這種行爲特性上。

1.2 相關研究組織

協同過濾上比較經典著名的組織商業有:

  • Tapestry(1992):電子郵件分類過濾,解決Xerox公司在Palo Alto的研究中心資訊過載問題。
  • GroupLens(1994):推薦系統,在線社區,移動及普適技術,數字圖書館,和地理信息系統,見大名鼎鼎的MovieLens電影評分推薦。
  • Netflix:研究影視視頻在線推薦 。
  • Amazon:亞馬孫網絡書城,爲亞馬遜每年貢獻二三十個百分點的創收。

1.3 優缺點

優點:主要從使用者角度來看:

  • 能夠過濾機器難以自動內容分析的資訊,如藝術品,音樂等。也就是基於用戶標識等,可以自動歸類;
  • 共用其他人的經驗,避免了內容分析的不完全或不精確,並且能夠基於一些複雜的,難以表述的概念(如資訊品質、個人品味)進行過濾,直接後天間接性繼承前輩經驗;
  • 有推薦新資訊的能力。可以發現內容上完全不相似的資訊,使用者對推薦資訊的內容事先是預料不到的。可以發現使用者潛在的但自己尚未發現的興趣偏好。(基於相似用戶推薦很好的能做到)
  • 推薦個性化、自動化程度高。能夠有效的利用其他相似使用者的回饋資訊。加快個性化學習的速度。

缺點:主要從設計與實現的角度

  • 新使用者問題(New User Problem): 系統開始時推薦品質較差 ;
  • 新項目問題(New Item Problem) :品質取決於歷史資料集 ;
  • 稀疏性問題(Sparsity):系統歷史數據過少,難以進行精確的模式查找匹配推薦 ;
  • 系統延伸性問題(Scalability):新加User或者Item時,系統需要增加計算負荷量大。

1.4 對於當前推薦系統的問題的一些嘗試解決

本小節參考《Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions》的2.2節翻譯。

新用戶問題

爲了使推薦系統更加準確,系統必須從用戶的評分中學習用戶的偏好,有許多方法嘗試這方面研究,它們大多數使用混合推薦模型,包含了基於內容以及協同過濾推薦方法。另外的一種方法是挖掘一些條目提供給新用戶來進行評級,以便快速學習用戶的偏好。這些挖掘條目的技術是基於項目的流行度,項目的熵,用戶個性化,以及以上技術的糅合。

新項目問題

新的項目會經常添加到推薦系統中,協同過濾基本上是通過用戶的偏好進行推薦,這樣,直到新的項目被足夠數量的用戶進行評級,推薦系統纔有可能推薦它,這個問題同樣是通過混合推薦方法來解決。

數據稀疏性

在許多推薦系統中,已經獲得到的評級數據相比整個待預測的項只是很小的一部分,那麼從一個很小的樣例數據集中高效的預測評分是很重要的。同樣推薦系統的成功在於擁有足夠數量的用戶,列於,在電影推薦系統中,有很多電影只被小部分用戶評級,而且這些電影會很少被推薦,即使那小部分用戶給予很高評級。同樣,對於那些有着不同品味的小衆羣體,找不到相同特定同口味的用戶,也導致較差的推薦結果了。

一個克服數據稀疏性問題的方法,是通過使用用戶資料信息來計算用戶相似度。也就是,兩個用戶會被認爲相似不只單在相同的電影評級類似,而且也有可能屬於同一個人口統計區塊(demographic),比如,用戶的性別,年齡,居住地,教育情況,工作信息。這種基於傳統協同過濾的擴展方法稱爲demographic filtering。詳見M. Pazzani, 《A Framework for Collaborative, Content-Based, and Demographic Filtering, Artificial Intelligence Rev》

另外的一個嘗試在於挖掘被推薦出的用戶之間的相似性,在客戶的歷史交易和反饋數據中,通過關聯檢索框架,以及相關傳播擴散算法來發現客戶間的可傳遞性關聯。

另外的一個途徑解決思路是,是通過一種降維技術( dimensionality reduction ),奇異值分解(SVD:Singular Value Decomposition ),來降低稀疏矩陣的維度。SVD是目前一個已知的矩陣分解技術,來爲原始矩陣求的最好的低維近似。詳見B. Sarwar, 的《Application of Dimensionality Reduction in Recommender Systems—A Case Study》

二、分類概述

2.1 推薦系統概況

協同過濾作爲推薦系統中的一個主流方法途徑,在推薦系統中所處地位是怎麼樣的呢,下面主要對推薦系統的方法類別進行介紹,從兩種不同的角度上,推薦系統中方法技術分類主要有以下兩種分類:

從研究對象方法上的一種分類

首先參考Adomavicius, G的論文《Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions

推薦系統中的總體方法有:

  • 基於內容的推薦(Content-based recommendations):系統會基於用戶上次喜歡的一個項目推薦相似的項目;
  • 協同過濾推薦(Collaborative recommendations):基於尋找相同評爲與偏好的人羣進行推薦;
  • 混合推薦(Hybrid approaches):融合基於內容以及協同過濾推薦方法。

並且論文中總結的現狀技術分類概述如下圖:

thumb2 推薦系統之協同過濾概述

從應用算法架構上分類

參考Carleton College, Northfield, MN.官方網站上:

  • 啓發式推薦算法Memory-based algorithms):是系統過濾思想中的一種算法,每次推薦都需要調用這整個評級數據庫的內容,即對於一個用戶,計算與其他所有其他用戶的相似度,對於用戶沒有遇到的新項目,將會利用相似度權重及其他用戶的評分加權預測當前用戶對於這個新項目的潛在評分。但這種每次計算量過大
  • 基於模型推薦算法Model-based algorithms):從評級數據集中建立一個模型,也就是從數據庫中抽取一個模型數據,然後每次推薦都是基於模型數據進行計算並推薦,這樣不用每次都調用整個數據庫,提高了速度與系統伸縮性。大致包括:
  • 關聯規則算法Association Rules):關聯規則嘗試發現不同項目之間的因果關係,一個關鍵規則本質上是一種(A1A2A3, … =>B1B2B3,…) 的形式,嘗試展示一個序列決定另外的一個序列。主要由兩部分組成:一個是關聯決策,一個是對應的置信度。
    • 關聯決策:即如果A => BC, 那麼如果Item A出現在某人的歷史記錄裏面,那麼可以推斷B和C也很可能出現在那裏。
    • 置信度:表明對應的關聯決策有多麼可靠,範圍爲[0, 1]的一個區間,如果置爲1,那麼說明上述決策總能成立,如果爲0,表明這個決策從來不會正確。

2.2 協同過濾基本分類

協同過濾實際上與推薦系統中的其他方法是交織疊加的,沒有一個明確的界限,推薦系統的方法嘗試都有結合協同過濾的思想因素去實現,參考wiki百科中協同過濾大體可以分爲三類:

  • 基於用戶協同過濾(User – based):基於計算相似用戶用以推薦
  • 基於項目協同過濾(Item – based):基於計算相似項目用以推薦
  • 基於模型協同過濾(Model- based):基於原始數據中抽取出模型,基於模型計算並用以推薦

三、協同過濾三大分類

3.1 基於用戶協同過濾(User-based)

相似統計的方法得到具有相似愛好或者興趣的相鄰使用者,最早是在1994年由來自美國Minnesota大學Paul Resnick等人發表的《GroupLens: An Open Architecture for Collaborative Filtering of Netnews》一文中提出的。

方法基本步驟

1. 收集使用者資訊

收集可以代表使用者興趣的資訊。概括主要分爲兩類:

  • 主動評分(顯式評分):基於用戶的直接打分數據,如評分,喜愛等級,like/dislike
  • 被動評分(隱式評分):是根據使用者的行爲模式由系統代替使用者完成評價,不需要使用者直接打分或輸入評價資料,如電子商務中的購買記錄,視頻網站用戶觀看記錄、收藏記錄,甚至是評論文本觀點意見挖掘等進行廣泛深度的數據挖掘。

2. 最近鄰搜索(Nearest neighbor search, NNS)

以使用者爲基礎(User-based)的協同過濾的出發點是與使用者興趣愛好相同的另一組使用者,就是計算兩個使用者的相似度。

例如:尋找n個和A有相似興趣使用者,把他們對M的評分作爲A對M的評分預測。一般會根據資料的不同選擇不同的算法。

目前較多使用的相似度算法有:

  • 皮爾森相關係數:Person Correlation Coefficient
  • 餘弦相似度:Cosine-based Similarity
  • 矯正餘弦相似度:Adjusted Cosine Similarity

3. 產生推薦結果

有了最近鄰集合,就可以對目標使用者的興趣進行預測,產生推薦結果。

依據推薦目的不同形式的推薦,較常見的推薦結果有Top-N 推薦和關聯推薦。

  • Top-N 推薦:是針對個體使用者產生,對每個人產生不一樣的結果,例如:透過對A使用者的最近鄰使用者進行統計,選擇出現頻率高且在A使用者的評分項目中不存在的,作爲推薦結果。
  • 關聯推薦:對最近鄰使用者的記錄進行關聯規則(association rules)挖掘。

優缺點

  • 優點:在數據集完善,內容豐富下,準確率較高,而且能夠避開項目內容上的挖掘進行準確推薦,對夠對項目關聯性,用戶偏好進行隱式透明的挖掘。
  • 缺點:隨着使用者數量的增多,計算的時間就會變長,新用戶問題,以及數據稀疏性問題是導致效率與伸縮性上均不足

3.2 基於項目協同過濾(Item-based)

鑑於基於用戶的協同推薦算法隨着使用者數量的增多,計算的時間就會變長,最早是在2001年由Sarwar提出了基於項目的協同過濾推薦算法《Item-based Collaborative Filtering Algorithms》中所提出的。

基於項目協同過濾在於透過計算項目之間的相似性來代替使用者之間的相似性。

所建立的一個基本的假設:”能夠引起使用者興趣的項目,必定與其之前評分高的項目相似”,通俗的來說:基本上喜歡《長尾理論》的人,都會去看《世界是平的》,不知道你怎麼想,反正豆瓣推薦系統就是這麼認爲的。

方法步驟:

1. 收集使用者資訊

同以使用者爲基礎(User-based)的協同過濾。

2. 針對項目的最近鄰搜索

先計算己評價項目和待預測項目的相似度,並以相似度作爲權重,加權各已評價項目的分數,得到待預測項目的預測值。

例如:要對項目 A 和項目 B 進行相似性計算,要先找出同時對 A 和 B 打過分的組合,對這些組合進行相似度計算,常用的算法同基於使用者(User-based)的協同過濾。

3. 產生推薦結果

在用戶使用評價一個商品感興趣後,會自動搜尋改商品相似度最大的前N項條目。

優缺點:

優點:以項目爲基礎的協同過濾不用考慮使用者間的差別,所以精度比較差。但是卻不需要使用者的歷史資料,或是進行使用者識別。對於項目來講,它們之間的相似性要穩定很多,因此可以離線完成工作量最大的相似性計算步驟,從而降低了線上計算量,提高推薦效率,尤其是在使用者多於項目的情形下尤爲顯著。

缺點:但其仍有許多問題需要解決,最典型的有稀疏問題(Sparsity)和冷啓動問題(Cold-start),開始時效果較差。此外還有新使用者問題和算法健壯性等問題。

3.3 基於模型的協同過濾(Model- based)

以使用者爲基礎(User-based)的協同過濾和以項目爲基礎(Item-based)的協同過濾統稱爲以記憶爲基礎(Memory based)的協同過濾技術,他們共有的缺點是資料稀疏,難以處理大數據量下的即時結果,因此發展出以模型爲基礎的協同過濾技術。

以模型爲基礎的協同過濾(Model-based Collaborative Filtering)是先用歷史資料得到一個模型,再用此模型進行預測。以模型爲基礎的協同過濾廣泛使用的技術包括Latent Semantic IndexingBayesian Networks…等,根據對一個樣本的分析得到模型。

四、相似度計算算法

4.1 概述

相似度計算算法可以用於計算用戶或者項目相似度。

以項目相似度計算(Item Similarity Computation)爲列,通性在於都是從評分矩陣中,爲兩個項目i,j挑選出共同的評分用戶,然對這個共同用戶的評分向量,進行計算相似度si,j

參考1參考2如下圖:行代表用戶,列代表項目

itembased thumb1 推薦系統之協同過濾概述

(注意到是從i,j向量中抽出共有的評論,組成的一對向量,進行相似度計算),

  • 皮爾森相關係數:Person Correlation Coefficient
  • 餘弦相似度:Cosine-based Similarity
  • 矯正餘弦相似度:Adjusted Cosine Similarity

4.2 皮爾森相關係數

皮爾森相關係數也是一種基於相關係數的相似度計算方法,一般爲了使計算結果精確,需要找出共同評分的用戶。

記用戶集U爲既評論了 i 又評論了 j 的用戶集,那麼對應的皮爾森相關係數計算公式爲:

itembased pearson thumb 推薦系統之協同過濾概述

(其中Ru,i 爲用戶u 對項目 i 的評分,對應帶橫槓的爲這個用戶集U對項目i的評分評分)

4.3 餘弦相似度

兩個項目 i ,j 視作爲兩個m維用戶空間向量,相似度計算通過計算兩個向量的餘弦夾角,那麼,對於m*n的評分矩陣,i ,j 的相似度sim) 計算公式:

itembased cosine thumb 推薦系統之協同過濾概述

(其中 " · "記做兩個向量的內積)

4.4 矯正餘弦相似度

餘弦相似度計算並沒有考慮到不同的用戶的評分尺度差異性,也就是說有的用戶評分更寬容普遍打分較高,有的用戶評分更嚴格,普遍打分較低。矯正餘弦相似度正式爲了克服這一缺點,通過求出每位用戶的平均打分,調整評分向量爲評分偏差向量,再進行求解餘弦相似度。

itembased adjusted cosine thumb 推薦系統之協同過濾概述

(其中帶橫槓的爲第u個用戶的平均評分)

4.5 基於項目相似度與基於用戶相似度的差異

上述三個相似度公式是基於項目相似度場景下的,而實際上,基於用戶相似度與基於項目相似度計算的一個基本的區別是,基於用戶相似度是基於評分矩陣中的行向量相似度求解,基於項目相似度計算式基於評分矩陣中列向量相似度求解,然後三個公式分別都可以適用,如下圖:

image thumb1 推薦系統之協同過濾概述

(其中,爲0的表示未評分)

  • 基於項目相似度計算式計算如Item3,Item4兩列向量相似度;
  • 基於用戶相似度計算式計算如User3,User4量行向量相似度。

最終的計算公式方法均相同。具體可具體參考《Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions》2.2節

4.6 相似度計算不足與改進

基於評分矩陣相似度計算所面臨的一個性能問題,數據稀疏下,精度很差,因爲相似度計算是基於尋找擁有共同用戶評分的項目或者共同項目評分的用戶,在數據稀疏下,兩個向量中空值過多,導致計算共同評分維度過低,甚至就沒有共同評分。

對於數據稀疏性這種情況下,一個嘗試的途徑是進行對評分矩陣進行填充。

填充規則有很多,一種通用的方法是,填充均分,具體如下兩種:

  • 基於用戶均分:填充對應用戶的平均打分
  • 基於項目均分:基於對應項目的平均打分

   image thumb2 推薦系統之協同過濾概述image thumb3 推薦系統之協同過濾概述

          (基於用戶均分填充)                                       (基於項目均分填充)

五、協同過濾敏捷實踐

5.1 概述

首先參考Slope one的wiki百科的一段話(此章節按照Slope one的wiki百科重新整理):

當可以對一些項目評分的時候,比如人們可以對一些東西給出1到5星的評價的時候,協同過濾意圖基於一個個體過去對某些項目的評分和(龐大的)由其他用戶的評價構成的數據庫,來預測該用戶對未評價項目的評分。

In this context, item-based 協同過濾系統[根據其它項目的評分來預測某項目的分值,一般方法爲 線性迴歸 (f(x) = ax + b). 於是,當有1000個項目時,需要列多達1,000,000個線性迴歸方程, 以及多達2,000,000個迴歸量。除非我們只選擇某些用戶共同評價過的項目對,否則協同過濾會遇到過適 問題。

另外一種更好的方法是使用更簡單一些的式子,比如 f(x) = x + b:實驗證明當使用一半的迴歸量的時候,該式子(稱爲Slope One)的表現有時優於[2] 線性迴歸方程。該簡化方法也不需要那麼多存儲空間和延遲。

基於奧卡姆剃刀原則:“切勿浪費較多東西,去做‘用較少的東西,同樣可以做好的事情’。”

基於項目相似度協同過濾的一種簡化的思想Slope One算法也就反映出了更加實用之處。

附帶一句,關於推薦系統等算法,敏捷開發實現,可以嘗試看下《集體智慧編程》Programming Collective Intelligence),Python實現。

5.2 Slope One算法

爲了大大減少過適的發生,提升算法簡化實現, Slope One 系列易實現的Item-based協同過濾算法被提了出來。本質上,該方法運用更簡單形式的迴歸表達式(f(x) = x + b) 和單一的自由參數,而不是一個項目評分和另一個項目評分間的線性迴歸 (f(x) = ax + b)。 該自由參數只不過就是兩個項目評分間的平均差值。甚至在某些實例當中,它比線性迴歸的方法更準確[2],而且該算法只需要一半(甚至更少)的存儲量。

基本原理

如下圖評分矩陣:

Simplicity diagram thumb 推薦系統之協同過濾概述

基於UserA對Item1與Item2的評分,以及UserB對Item1的打分,Slope One算法思想對於UserB對於Item2的預測評分爲 2 +(1.5-1)=2.5.

從這裏可以看出,Slope One的思想是,每次只着眼兩點,因爲兩點確定一條直線嘛,而且對於這兩點Item 1與Item2,User A都經過,User B經過其中1點,Slope One思想假設User B與User A這條直線表現同一斜率:

slope thumb 推薦系統之協同過濾概述

應用場景

如下圖評分矩陣

 

image thumb4 推薦系統之協同過濾概述

要預測Lucy對項目1的評分:

  • 項目1與項目2間的均差值(5-3)+(3-4)/2 =0.5,(John線與Mark線)
  • 項目1與項目3間的均差值(5-2)/1 =3(John線)

那麼Lucy對於項目1的評分預測可以基於項目1與項目2,以及項目1與項目3的兩個均差值,3項線來預測,項線幾道對應均差值的權重上。也就有

rate(lucy,項目1)=((0.5+2)*2+(3+5)*1)/(2+1)=4.33

想要實現 Slope One,只需要計算並存儲“n”對評分間的平均差值和評價數目即可。

算法複雜度

設有“n”個項目,“m”個用戶,“N”個評分。計算每對評分之間的差值需要n(n-1)/2 單位的存儲空間,最多需要 m*n*n步.

假設用戶已經評價了最多 y 個項目, 那麼計算不超過n*n+m*y*y個項目間計算差值是可能的。

如果一個用戶已經評價過“x”個項目,預測單一的項目評分需要“x“步,而對其所有未評分項目做出評分預測需要最多 (n-x)x 步. 當一個用戶已經評價過“x”個項目時,當該用戶新增一個評價時,更新數據庫需要 x步。

可以通過分割數據(參照分割和稀疏存儲(沒有共同評價項目的用戶可以被忽略)來降低存儲要求。

還不想親自實現?找開源吧

5.3 Amazon的item-to-item專利算法

在更加普遍的場景中,人們並不總是能給出評分,當用戶只提供二元數據(購買與否)的時候,就無法應用Slope One 和其它基於評分的算法。但是卻有一個更簡單更簡單的方法:Amazon的 item-to-item 專利算法

item-to-item算法是二元 item-based協同過濾應用的例子之一,該算法中用二元向量表示用戶-項目購買關係的矩陣,並計算二元向量間的cosine相關係數。

如以下應用場景:

image thumb5 推薦系統之協同過濾概述

  • 在本例當中,項目1和項目2間的cosine相關係數爲:1 thumb 推薦系統之協同過濾概述
  • 項目1和項目3間的cosine相關係數爲:2 thumb 推薦系統之協同過濾概述
  • 而項目2和項目3的cosine相關係數爲:3 thumb 推薦系統之協同過濾概述

於是,瀏覽項目1的顧客會被推薦買項目3,而瀏覽項目2的顧客會被推薦買項目3,瀏覽了項目3的會被推薦買1(並由1推薦2)。該模型只使用了每對項目間的一個參數(cosine相關係數)來產生推薦。因此,如果有n個項目,則需要計算和存儲 n(n-1)/2次cosine相關係數。

六、算法評價指標

推薦系統,協同過濾領域,在科學研究上的一些評價指標主要有MAE,AUC,MAP,P@N,P·R·F曲線。而實際應用中還要考慮到系統伸縮性,算法複雜度,等等,那些就不說了,P·R·F指標參考我之前的一篇文章:《信息檢索基本評價指標-P·R·F

以下指標詳細界定參考論文《Mining mood-specific movie similarity with matrix factorization for context-aware recommendation》及《New Approaches to Mood-based Hybrid Collaborative Filtering》

6.1 平均絕對誤差 MAE(Mean Absolute Error)

通過計算預測的用戶評分與實際的用戶評分之間誤差來度量。主要結合交叉驗證來實現,公式如下:

image thumb6 推薦系統之協同過濾概述

(其中,g(authentic)爲真實評分,g(prediction)爲預測評分,Gtest,爲整個待預測用戶評分集)

6.2平均準確率MAP(Mean Aaverage Precision)

MAP是信息檢索中解決P·R·F指標的不足,而提出的,其規範的定義是,設P(R)爲系統在召回率爲R時的準確率。

單個主題的平均準確率是每篇相關文檔檢索出後的準確率的平均值。主集合的平均準確率(MAP)是每個主題的平均準確率的平均值。 MAP 是反映系統在全部相關文檔上性能的單值指標。系統檢索出來的相關文檔越靠前(rank 越高),MAP就可能越高。

一個簡單的比方就是(參考):

設有兩個主題,主題1有4個相關網頁,主題2有5個相關網頁。某系統對於主題1檢索出4個相關網頁,其rank分別爲1, 2, 4, 7;對於主題2檢索出3個相關網頁,其rank分別爲1,3,5。

對於主題1,平均準確率爲(1/1+2/2+3/4+4/7)/4=0.83。

對於主題 2,平均準確率爲(1/1+2/3+3/5+0+0)/5=0.45。

則MAP= (0.83+0.45)/2=0.64。

應用與協同過濾中的衡量時,也即是測量系統返回推薦項目對應真實用戶喜愛偏好的排名的平均準確率。公式如下:

image thumb7 推薦系統之協同過濾概述

其中:U爲測試用戶集,|U|表示用戶集的數目,| Ri |表示用戶 ui 相關的項目(如電影)數據, ri,j 表示系統爲用戶ui 推薦的第 j 個相關項目對於用戶 ui 實際的偏好排名。

6.3 P@n測度

測量對於給定用戶ui,前n推薦項目中相關項所佔比率。如下公式

image thumb8 推薦系統之協同過濾概述

6.4 AUC(Area Under Curve)

對於用戶u,推薦性能AUC 衡量指標計算公式如下:

image thumb9 推薦系統之協同過濾概述

其中h(x)是一個指標函數,即若參數值x>0或者邏輯真,着函數值爲1,否則爲0,Pair(u)是一組用戶u待計算的配對集值:

image thumb10 推薦系統之協同過濾概述

其中Tr(u)是訓練集中用戶u已經有的項目集,Ts(u)爲測試集中用戶實際預期應該被推薦的項目,實際上,這裏面的 n 也就是測試集不應該被推薦的項目。AUC取值[0,1],最好的就是1了。

其實以上可以看出,AUC是相對其他準確率測度最不直接的一個,理由是AUC涉及到所有配對,包含相關的項目以及不相關的項目(那些即不出現在訓練集,也不出現在測試集中),儘管如此,因爲通常數據集中不相關的項目比相關項目多得多,表明了AUC可以對於項目排序的變化沒有那麼敏感。


轉自:http://www.vanjor.org/blog/2011/05/rs-collaborative-filtering/

發佈了30 篇原創文章 · 獲贊 13 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章