推薦系統筆記二 匹配演算法和實踐(part1)

2021-09-10 03:41:11 字數 1433 閱讀 8606

如youtube2023年發表的**deep neural networks for youtube recommendations所示,

matchrank兩部分:

cf就是收集許多其他使用者的偏愛資訊來對該使用者的興趣進行**,從數學角度來看,就是乙個矩陣補全問題,如下圖所示:

如何補全上圖中的問號處的值,許多演算法應運而生:

fm(factorization machines):對於cf 只⽤互動矩陣來build模型,那麼如何利⽤ user(性別、年齡等)/item(物品描述) 屬性 和 上下⽂資訊(位置、時間、天氣等)呢?fm模型就可以解決這個問題,給個*****傳送門(fm *****),copy其中一張用來解釋上述問題:

上圖中藍色方框代表使用者,橙色方框代表物品,黃色代表使用者對其他movie的評分,綠色代表評分時間…然後target是使用者對該物品的評分,這樣處理便得到了乙個監督學習問題,fm計算公式為:y^(

x)=w

0+∑i

=1pw

ixi+

∑i=1

p∑j=

i+1p

,vj>xi

xj\hat y(x) = + \sum\limits_^p } + \sum\limits_^p ^p , > } }

y^​(x)

=w0​

+i=1

∑p​w

i​xi

​+i=

1∑p​

j=i+

1∑p​

​,vj

​>xi

​xj​

對於fm來說,它將每個特徵都表示成embedding vector,並且構造⼆階關係,且fm 允許更多的特徵⼯程,之前所有模型都可用fm表示。對於fm模型引數的計算,可以借助梯度下降演算法,然後得到相應引數的估計,具體推導見上述**。

均⽅誤差(e.g., rmse) and 排序指標之間的分歧(比如match過濾掉了部分使用者,而這部分使用者在排序指標反而是靠前的存在);

觀察有偏 – ⽤戶總是去對喜歡的電影打分;

所以,現在的⼯作開始逐步朝著優化pairwise ranking loss,也就是優化相對序關係,⽽不是優化絕對值。舉個例子,使用者u喜歡i比喜歡j的程度多一些,如下式:

二分匹配演算法

匈牙利演算法求二分匹配 下 include includeusing namespace std int v 頂點數 vectorg max v 圖的鄰接表表示 int match max v 所匹配的頂點 bool used max v dfs 中用到的訪問標記 向圖中增加一條連線 u 和 v 的...

二分匹配 匈牙利演算法

這個演算法真心很精妙,其實 很簡單,但是理解其中的奧秘還真要花點時間 matrix67大牛說的好 說穿了,就是你從二分圖中找出一條路徑來,讓路徑的起點和終點都是還沒有匹配過的點,並且路徑經過的連線是一條沒被匹配 一條已經匹配過,再下一條又沒匹配這樣交替地出現。找到這樣的路徑後,顯然路徑裡沒被匹配的連...

二分匹配 匈牙利演算法

奆佬的部落格 匈牙利演算法是由匈牙利數學家edmonds於1965年提出,因而得名。匈牙利演算法是基於hall定理中充分性證明的思想,它是部圖匹配最常見的演算法,該演算法的核心就是尋找增廣路徑,它是一種用增廣路徑求二分圖最大匹配的演算法。等等,看得頭大?那麼請看下面的版本 通過數代人的努力,你終於趕...