如youtube2023年發表的**deep neural networks for youtube recommendations所示,
match和rank兩部分:
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
∑pw
ixi
+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定理中充分性證明的思想,它是部圖匹配最常見的演算法,該演算法的核心就是尋找增廣路徑,它是一種用增廣路徑求二分圖最大匹配的演算法。等等,看得頭大?那麼請看下面的版本 通過數代人的努力,你終於趕...