1. 程式人生 > >協同過濾推薦算法簡述

協同過濾推薦算法簡述

簡述 兩種 部分 一個 尋找 和數 稀疏 機器學習算法 語義

協同過濾推薦算法是一種主流的、目前廣泛應用在工業界的推薦算法。

一般,協同過濾推薦分為三種類型。

1.基於用戶(user-based)的協同過濾

基於用戶的協同過濾算法,主要考慮的是用戶和用戶之間的相似度,只要找出與目標用戶相似度高的其他用戶,根據相似用戶喜歡的物品,預測目標用戶對對應物品的評分,就可以找到評分最高的若幹個物品推薦給用戶。

2.基於項目(item-based)的協同過濾

基於項目的協同過濾算法,類似於基於用戶的協同過濾,只是這往往是根據用戶的行為判斷物品的相似度(並不是根據物品的本身來判斷物品相似度)。通過尋找物品和物品之間的相似度,向目標用戶推薦與其喜歡的物品相似度高的其他物品。即對相似度高的類似物品進行預測,將評分最高的若幹個相似物品推薦給用戶。
典型使用了基於項目的協同過濾算法的就是亞馬遜的推薦系統。

3.基於用戶和基於物品的比較

基於用戶的協同過濾需要在線找用戶和用戶之間的相似度關系,計算復雜度肯定會比基於基於項目的協同過濾高。但是可以幫助用戶找到新類別的有驚喜的物品。而基於項目的協同過濾,由於考慮的物品的相似性一段時間不會改變,因此可以很容易的離線計算,準確度一般也可以接受,但是推薦的多樣性來說,就很難帶給用戶驚喜了。一般對於小型的推薦系統來說,基於項目的協同過濾肯定是主流。但是如果是大型的推薦系統來說,則可以考慮基於用戶的協同過濾。

4.基於模型(model based)的協同過濾

基於模型的協同過濾算法,不同於上述兩種,它往往使用機器學習算法來預測用戶對於某個物品的評分,一般來說,推薦系統會由 m 個用戶和 n 個物品,用戶對其中的部分物品進行評分,推薦系統中,物品數量往往及其巨大,單個用戶不會對所有物品產生評分,所以用戶-物品矩陣一般是一個稀疏矩陣。此時,只有部分用戶和部分數據之間是有評分數據的,其它部分評分是空白,此時我們要用已有的部分稀疏數據來預測那些空白的物品和數據之間的評分關系,找到最高評分的物品推薦給用戶。
一般對於這個問題,可以用機器學習的來建模解決,主流的方法可以分為:關聯算法,聚類算法,分類算法,回歸算法,矩陣分解,神經網絡,圖模型以及隱語義模型等。

協同過濾推薦算法簡述