傳統的推薦演算法

2021-09-05 08:18:24 字數 2574 閱讀 2100

演算法簡介:在基於內容的推薦系統中,內容由關鍵字來描述,關鍵字的資訊量通過計算它的tfidf權重來度量。定義 xik

x_xi

k​為商品 i

ii 的文字描述中第 k

kk 個關鍵字的tfidf權重,則該商品可用向量表示為 xi=

(xi1

,xi2

,⋯,x

il

)x_i=(x_,x_,\cdots,x_)

xi​=(x

i1​,

xi2​

,⋯,x

il​)

。然後,基於商品內容的向量表示,通過使用相似度度量標準,如余弦相似度,去測量使用者評過分的商品和沒有評過分的商品的相似度,從而推薦與使用者過去喜歡的商品相似的商品。

演算法不足:

這個方法利用使用者過去的行為如商品評分,在不需要其他資訊的情況下,就能直接**使用者的喜好。即如果兩個使用者對過去的商品有相同的喜好,那麼,相對於其他的隨機選擇的使用者,他們對於新的商品更可能具有相似的喜好。

協同過濾方法通常可以分為兩類:基於記憶體的方法和基於模型的方法。

基於記憶體的協同過濾方法

利用所有使用者對商品的評分資訊去**缺失的評分。

這種方法又可以進一步劃分為面向使用者的方法和面向商品的方法:

基於記憶體的協同過濾方法需要解決的兩個關鍵問題是相似度計算和評分累計。面向使用者的方法和面向商品的方法都能採用相同的技術解決上面的兩個問題。

下面舉乙個面向使用者的方法的例子來說明:

余弦相似度:計算評分向量的點積,即評分向量構成的夾角的余弦值

其中,i

ii 表示使用者 u

iu_i

ui​ 和 u

ju_j

uj​ 評過分的商品的集合,s∈r

ns\in r^

s∈rn×n

表示使用者與使用者之間的相似度矩陣,r‾i

\overline_i

ri​ 表示使用者 u

iu_i

ui​ 的平均評分。

基於模型的協同過濾方法

通過建立模型來模擬使用者對商品的評分行為。使用資料探勘和機器學習技術,從訓練資料中確定這個模型,就能使用得到的模型**未知的商品評分。

常見的基於模型的協同過濾方法:

演算法不足:基於協同過濾的方法能夠克服基於內容的方法的一些缺點。

組合基於內容的方法和基於協同過濾的方法,來克服他們各自的缺點

將內容融入協同過濾方法中

將協同過濾融入基於內容的方法中

根據一些社交關係理論,如移情效應、社交影響力,乙個使用者與和他存在社交關係的朋友,他們的興趣愛好是相似的,或者送個使用者的興趣愛好會受到這些朋友的影響。移情效應說明,存在相似的興趣愛好的兩個使用者,他們更可能建立社交連線。社交影響力顯示,存在社交連線的兩個使用者更可能擁有相似的喜好

因此信任作為一種重要的社交關係受到了推薦系統領域研究人員的關注,他們利用信任關係來解決推薦系統面臨的一些困難和挑戰。基於信任關係的推薦系統包含兩種資訊,即評分資訊和信任資訊。

由於協同過濾被廣泛用於構建推薦系統,因此,大部分的基於信任關係的推薦系統都採用

協同過濾作為基礎模型,利用信任網路分析的結果引入信任資訊來構造推薦系統。通常,根據協同過濾方法的不同,基於信任關係的推薦方法,可分成兩類,即基於記憶體的信任感知推薦和基於模型的信任感知推薦。

基於記憶體的信任感知推薦系統使用基於記憶體的協同過濾尤其是面向使用者的方法作為基礎模型。其中,目標使用者的缺失評分的**值,可通過累計與目標使用者有關聯的使用者集(用 n

+n^+

n+表示)的評分來得到。

給定乙個目標使用者,傳統的面向使用者的方法利用與目標相似的使用者,而基於記憶體的信任感知方法利用從評分資訊和信任資訊中獲取與目標有關聯的使用者。

基於模型的信任感知推薦系統使用基於模型的協同過濾方法作為基礎模型。

矩陣分解技術是應用最廣泛的基於模型的協同過濾方法之一,它具備一些很好的特性。

其中,項 soc

ial(

t,s,

φ)

social(t,s,\phi)

social

(t,s

,φ) 用於獲取信任網路的分析後得到的信任資訊,φ

\phi

φ 表示信任資訊中學習到的引數的集合,α

\alpha

α 用於控制信任資訊的影響程度,w

ww 表示學習過程中已知評分的權重。

根據 soc

ial(

t,s,

φ)

social(t,s,\phi)

social

(t,s

,φ) 的不同定義,可以分為三類方法:協同矩陣分解方法,整合方法和歸一化方法。

資料稀疏性問題

多樣性推薦問題

推薦演算法 推薦系統的評估

其中 ep 是測試資料集合 rs ua i ualu lu u 待推薦的列表大小 離線測試,使用者 u在測試集中影片數量 未打分的影片數量 iu a 是 影片 a 在使用者推薦列表中的排名ap x i 1x pre dict ioni ch ange inre call i ap 2 p redi ...

傳統演算法 匈牙利演算法 KM演算法

做為乙個演算法工程師,除了了解各種nn網路結構,調的一手好引數,傳統演算法這一部分也不能拉下。因此著手寫這個系列,一方面加深自己對演算法的理解,另一方面 在實際業務中的應用,畢竟ac不是目的,融匯貫通的應用才是真目標。問題 剛入職某網約車平台的l同學被安排了個任務,如下圖所示,在一塊區域有m個司機和...

轉推薦演算法 基於矩陣分解的推薦演算法

其中,u1 u5 表示的是5 個不同的使用者,d1 d4 表示的是4 個不同的商品,這樣便構成了使用者 商品矩陣,在該矩陣中,有使用者對每一件商品的打分,其中 表示的是使用者未對該商品進行打分。在推薦系統中有一類問題是對未打分的商品進行評分的 目前推薦系統中用的最多的就是矩陣分解方法,在netfli...