基於物品和基於用戶的協作型過濾推薦演算法分別有何優劣?能否具體舉例一下國內互聯網在這方面的應用場景?
首先,這兩個協同過濾的推薦,數據源可以是一致的,都是用戶對商品的偏好。
基於物品:將用戶對物品的喜好,當作是物品的一個屬性來看待,也就是說,有多少用戶喜歡物品A,那麼可以看作A有多少個維度的屬性,具體偏好就是維度的屬性值。然後通過一些簡單的相似度演算法,來結算物品間的相似度。當大部分用戶購買的商品很少的時候(比如有60%以上的用戶只買一件、兩件的商品),但是用戶數量很多,商品數量相對少,那麼這個時候,基於物品的協作過濾效果比較好。因為,對物品來說,會被很多用戶購買,那麼它的所謂屬性維度比較豐富,算出來的相似度可能比較靠譜。劣勢是,不夠個性化,不管哪個用戶來看,只要是同一件物品,得到的推薦基本一致。這個方式的推薦,長尾覆蓋可能會好點。個人覺得,有點類似於「買了還買了」。
基於用戶:其實只是反過來看,將用戶購買的物品看作是這個用戶的不同維度的屬性,很顯然,大部分用戶買了多件物品的數據,採用這種方法效果比較好。因為一個用戶的夠買的物品多,表示他是維度豐富,那麼通過這種相似度找到的鄰居也比較多,而且靠譜。然後可以依據鄰居購買的而他每購買的商品,推薦給用戶。優勢是,更加個性化。但是前提就是,用戶與那些跟他喜歡相同物品的人具有相同的口味。主要推薦的商品都是屬於熱賣型的。
這些方式,在mahout中都有實現,但是在實際應用中,單獨的推薦遠遠不能滿足需求,需要非常複雜的組合,干預、決策和機器學習。
國內互聯網在這方面的應用:大部分電商網站基本都有,但是效果我就不知道了,沒怎麼關注過。似乎都說豆瓣不錯。亞馬遜中國,做的很好,也很早
「對於稀疏數據集(例如delicious書籤,小眾群體收藏),基於物品的過濾方法通常要優於基於用戶的過濾方法,而對於密集數據集而言,兩者的效果幾乎是一樣的」--摘自《集體智慧編程》可以查看我寫的博客,提供推薦
「如果每個人曾經購買的商品幾乎涵蓋了商城裡所有的商品,這時的數據集叫「密集型」,對於密集型,基於用戶和基於物品的相似性的方法性能差不多。
但大部分的情況是,一個人只買了商城中的一小部分物品,這時的數據集叫「稀疏型」,對於稀疏型,由於其購買的歷史物品比較少,採用基於物品的相似性的方法會更快一些。如果是大型商城,一般是採用基於物品相似度的方法,因為其用戶量高達上百萬,每個用戶都和剩下的所有人比對一遍計算量很大;而商城中物品的種類卻相對穩定一些。
計算用戶之間的相似度可以讓我們了解到哪些用戶偏好相似,構成用戶組。基於物品之間的相似度可以將物品聚類,將相似度高的一組物品聚集成物品集。
不同的方法,可以獲取到不同的信息,有時你會想了解那些用戶相似,又時又會想了解哪些物品相似,兩種演算法都是有意義的。」
推薦閱讀:
※怎麼評價網易失效網頁尋人計劃這個創意?
※現在還有人用自動鉛筆嗎?你用它來做什麼呢?為什麼用它呢?
※傳統法律服務市場被互聯網顛覆和創新的機會大嗎?
※為什麼現在的視頻直播變得非常火熱?這種模式興起的原因是什麼?
※互聯網私彩平台是否已成規模?