graph-based推薦傳統做法是構建二元圖(bipartite),分為user和item兩個node集合,user-item的interaction構建兩個集合之間的連線,見下圖,其中圓框是三個user,方形框是四個item。
該方法在2023年前較流行,現在學術界更流行的方法是graph convolutional network(gcn)。推薦採用personal rank演算法,或者說random work,與page rank思路是一樣的。首先從乙個頂點(即某一user a)出發,以一定概率α
\alpha
α往下乙個節點遊走,以1−α
1-\alpha
1−α概率回到初始頂點a,足夠長時間後,整幅圖的概率分布會趨於乙個穩定值,這個概率值即為該user a對每個item的感興趣程度。
舉個例子:
假定從a出發,一開始pr(
a)=1
pr(a)=
1,其餘為0
第一步,a以12×
α\frac \times \alpha
21×
α概率分別向a、c遊走,
p r(
a)=1
−αpr
(a)=
pr(c
)=12
×αpr(a) = 1-\alpha \\ pr(a) = pr(c) = \frac \times \alpha
pr(a)=
1−αp
r(a)
=pr(
c)=2
1×α
第二步,a以12×
α\frac \times \alpha
21×
α概率分別向a、c遊走,a以12×
α\times \alpha}
21×
α概率分別向a、b遊走,c以13×
α\times \alpha}
31×
α概率分別向a、b、c遊走
p r(
a′)=
pr(a
)×(1
−α)+
pr(a
)×12
α+pr
(c)×
13α+
pr(a
)×(1
−α)+
pr(c
)×(1
−α)=
1−α+
α×pr
(a)2
+α×p
r(c)
3pr(
a′)=
pr(a
)×12
α=α×
pr(a
)2pr
(c′)
=pr(
a)×1
2α=α
×pr(
a)2p
r(b′
)=12
α×pr
(a)+
13α×
pr(c
)pr(
c′)=
13α×
pr(c
)\begin pr(a') = &pr(a) \times (1-\alpha) + pr(a) \times \frac \alpha + pr(c) \times \frac \alpha + \\ &pr(a) \times (1-\alpha) + pr(c) \times (1-\alpha) \\ =&1-\alpha + \alpha \times \frac + \alpha \times \frac \\ \end \\ \begin pr(a') &= pr(a) \times \frac \alpha \\ &= \alpha \times \frac \end \\ \begin pr(c') &= pr(a) \times \frac \alpha \\ &= \alpha \times \frac \end \\ pr(b') = \frac \alpha \times pr(a) + \frac \alpha \times pr(c) \\ pr(c') = \frac \alpha \times pr(c)
pr(a′)
==p
r(a)
×(1−
α)+p
r(a)
×21
α+pr
(c)×
31α
+pr(
a)×(
1−α)
+pr(
c)×(
1−α)
1−α+
α×2p
r(a)
+α×
3pr(
c)
pr(a
′)=
pr(a
)×21
α=α
×2pr
(a)
pr(
c′)
=pr(
a)×2
1α=
α×2p
r(a)
pr
(b′)
=21
α×pr
(a)+
31α
×pr(
c)pr
(c′)
=31
α×pr
(c)以此類推可以得到每步的更新公式:
p r(
j)=& \alpha \times \sum_ \frac \quad if\ (j \neq u)\\ & (1-\alpha) + \alpha \times \sum_ \frac \quad if\ (j = u) \end \right.
pr(j)=
⎩⎪⎪⎪
⎪⎨⎪⎪
⎪⎪⎧
α×i
∈in(
j)∑
∣out
(i)∣
pr(i
)if
(j̸
=u)(
1−α)
+α×i
∈in(
j)∑
∣out
(i)∣
pr(i
)if
(j=u
)其中i n(
j)in(j
)表示指向j的結點的集合,out
(j)ou
t(j)
表示j指向的結點的集合,∣ou
t(j)
∣∣out(j
)∣表示j指向的結點的數目,u表示初始的頂點,即需要推薦的使用者
《推薦系統》 電子推薦系統演算法實踐學習筆記(二)
1.1 推薦系統評測 1.1.1 推薦系統實驗方法 1.離線實驗 離線實驗的方法一般由如下幾個步驟構成 1 通過日誌系統獲得使用者行為資料,並按照一定格式生成乙個標準的資料集 2 將資料集按照一定的規則分成訓練集和測試集 3 在訓練集上訓練使用者興趣模型,在測試集上進行 4 通過事先定義的離線指標評...
推薦系統 電影推薦系統(二)
als是交替最小二乘法的簡稱,是2008年以來,用的比較多的協同過濾演算法。它已經整合到spark的mllib庫中,使用起來比較方便。這裡可以想象一下,每個人的性格愛好可以認為是乙個抽象的模型,每個人的模型都有自己的乙個特點。因此,每個人對於商品的評價都有自己的一套規律,als演算法就是可以通過這些...
推薦系統(二)
協同過濾 collaborative filtering 在之前的基於內容的推薦系統中,對於每一部電影,我們都掌握了可用的特徵,通過使用這些特徵,並運用線性回歸模型,可訓練得每乙個使用者對某一電影的評分。相反地,如果我們擁有使用者對每一部電影的評分,我們就可以學習得電影得特徵。但如果我們既無法得到電...