推薦演算法分類

2021-06-26 18:25:20 字數 1728 閱讀 3807

1、item based collective filtering

總結:物以類聚

很多**的核心演算法之一

原因:item的增長速度遠小於user的增長速度

方法:離線計算item的相似度矩陣供線上使用

缺點:由於基於item的相似性,故推薦的item相似,缺乏多樣性

2、user based collective filtering

總結:人以群分

找和使用者有相同品味的其他使用者

適用範圍:item更新頻繁的應用

方法:通過相似使用者喜歡的item推薦給該使用者

3、content based

好處:沒有資料稀疏問題

4、slope one

方法:slope one的基本概念很簡單, 例子1, 使用者x, y和a都對item1打了分. 同時使用者x,y還對item2打了分, 使用者a對item2可能會打多少分呢?

user

rating to item 1

rating to item 2x5

3y43

a4?

根據slopeone演算法, 應該是:4 - ((5-3) + (4-3))/2 = 2.5.

優點:簡單,快速

5、svd

singular value decomposition(奇異值分解)

總結:擒賊先擒王。 抓主要矛盾,忽略次要矛盾

這個方法是提取一般實矩陣「特徵值」的演算法,(這裡特徵值加引號是因為,特徵值是針對方陣來定義的,而一般的m*n的實矩陣是沒有特徵值的。)

將乙個m*n的實矩陣和它的轉置相乘,就會得到乙個方陣,然後對這個方陣做特徵值分解,得到的特徵值就是所謂的奇異值的平方。

拿到奇異值後,我們就可以抓到主要的成分,丟掉次要和非常次要的成分進行分析。也就是說,我們可以對原來的龐大的常常又非常稀疏的矩陣進行降維和分解,而分解後得到的矩陣都是稠密矩陣。最終我們會得到乙個表示user特性的矩陣和乙個表示item特性的矩陣。拿到這些資料之後,我們就可以進行推薦了,而且也可以很容易地進行聚類分析。

好處在於,可以解決rating矩陣的稀疏性問題,同時可以降低矩陣的維度,提高運算速度。但它的缺點是付出的空間代價太大

6、聚類演算法

這裡用到的聚類演算法,是用來降低維度以及為平行計算作準備的。

拿到rating矩陣之後,可以通過這些評分將使用者自然地聚成幾簇,然後用上述的演算法對各個簇做推薦演算法平行計算,充分地利用好所有計算資源。

當然你也可以在svd分解之後,拿到user和item矩陣之後,對這兩個矩陣分別作聚類分析,你可以得到user的簇以及item的簇。這樣的結果會非常有意義,你可以作好友推薦,相似item推薦等等。

在基於內容的演算法中,因為很多資訊之間並不是那麼的相關,把他們都相互計算相似度,會得到很多的0,所以沒有必要。因此可以在計算之前,對整個item做個聚類,然後分別對各簇來做相似度計算。

最簡單的就是k-means。

7、組合演算法

總結:博採眾長

任何乙個演算法都有它獨特的優勢和固有的缺陷,因此單用乙個演算法的web應用很少,往往是將各種演算法組合起來用。

1:將多種演算法計算出來的結果,加權之後排序推薦給使用者。

2:將多種演算法計算出來的結果,各取前幾個推薦給使用者,這樣做的好處是結果很豐富多彩。

3:用svd演算法填充後的矩陣作為輸入,用普通cf做計算來輸出,然後排序推薦。這種叫做層次推薦,可以得到兩種方法的好處。

4:對新使用者做基於內容的推薦,因為新使用者沒有任何評分資料,對老使用者用cf來做。

。。。。

推薦演算法專案(二)演算法分類

1.實時與離線 2.是否個性化,還是基於統計 3.基於模型去推薦,隨機規則 若使用者 a 與 使用者 b 相似,則推薦 a 使用者喜歡的物品給使用者 b 對於沒有明確含義的使用者資訊 登入時間,地域等sangxi 可以通過聚類等手段,給使用者打上分類標籤 對於特定標籤的使用者,又可以根據預設的規則 ...

推薦演算法大整理 分類

a.基於流行度的演算法 基於流行度的演算法非常簡單粗暴,類似於各大新聞 微博熱榜等,根據pv uv 日均pv或分享率等資料來按某種熱度排序來推薦給使用者。這種演算法的優點是簡單,適用於剛註冊的新使用者。缺點也很明顯,它無法針對使用者提供個性化的推薦。基於這種演算法也可做一些優化,比如加入使用者分群的...

python kNN基礎演算法 分類和推薦系統

1 k 近鄰演算法是分類資料最簡單最有效的方法。2 在將資料輸入到分類器之前,必須將待處理資料的格式改變為分類器可以接受的格式。3 所有的推薦模型都可以使用這個演算法,只要將結果量化就行了,主要是要考慮權重的設計。coding utf 8 數字型聚類分析 from numpy import impo...