色屁屁www影院免费观看入口,欧美性猛交ⅹxxx乱大交妖精,欧美激情第5页,欧美性猛交xxxx三人,欧美一a级做爰片大开眼界

達觀動態(tài)

達觀愿與業(yè)內(nèi)同行分享 助力各企業(yè)在大數(shù)據(jù)浪潮來臨之際一起破浪前行

達觀數(shù)據(jù)推薦算法實現(xiàn):協(xié)同過濾之item embedding

范熊熊文章

推薦系統(tǒng)本質(zhì)是在用戶需求不明確的情況下,解決信息過載的問題,聯(lián)系用戶和信息,一方面幫助用戶發(fā)現(xiàn)對自己有價值的信息,另一方面讓信息能夠展現(xiàn)在對它感興趣的用戶面前,從而實現(xiàn)信息消費者和信息生產(chǎn)者的雙贏(這里的信息的含義可以非常廣泛,比如咨詢、電影和商品等,下文中統(tǒng)稱為item)。達觀數(shù)據(jù)相關推薦是達觀推薦系統(tǒng)中的重要組成部分,其價值在于,在沒有用戶畫像信息的情況下,也能給用戶以好的推薦體驗,比如資訊類,通過達觀相關推薦算法找到item相關的其他item,可以提供對某一類或者針對某一事件多角度多側面的深度閱讀。本文主要先簡單介紹相關推薦的一些常用算法,然后介紹一下基于item embedding的協(xié)同過濾。

1. 達觀相關推薦的常用算法

1.1 Content-based相關推薦

基于內(nèi)容的推薦一般依賴于一套好的標簽系統(tǒng),通過計算item之間tag集合的相似性來衡量item之間的相似性,一套好的標簽系統(tǒng)需要各方面的打磨,一方面需要好的編輯,一方面也依賴于產(chǎn)品的設計,引導用戶在使用產(chǎn)品的過程中,對item提供優(yōu)質(zhì)的tag。

1.2 基于協(xié)同過濾的相關推薦

協(xié)同過濾主要分為基于領域以及基于隱語義模型。

基于領域的算法中,ItemCF是目前業(yè)界應用最多的算法,其主要思想為“喜歡item A的用戶大都喜歡用戶 item B”,通過挖掘用戶歷史的操作日志,利用群體智慧,生成item的候選推薦列表。主要統(tǒng)計2個item的共現(xiàn)頻率,加以時間的考量,以及熱門用戶以及熱門item的過濾以及降權。

LFM(latent factor model)隱語義模型是最近幾年推薦系統(tǒng)領域最為熱門的研究話題,該算法最早在文本挖掘領域被提出,用于找到文本隱含的語義,在推薦領域中,其核心思想是通過隱含特征聯(lián)系用戶和物品的興趣。主要的算法有pLSA、LDA、matrix factorization(SVD,SVD++)等,這些技術和方法在本質(zhì)上是相通的,以LFM為例,通過如下公式計算用戶u對物品i的興趣:

1

公式中pu,k和qi,k是模型的參數(shù),其中pu,k度量了用戶u的興趣和第k個隱類的關系,而qi,k度量了第k個隱類和物品i之間的關系。而其中的qi,k可視為將item投射到隱類組成的空間中去,item的相似度也由此轉(zhuǎn)換為在隱空間中的距離。

2. item2vec:NEURAL ITEM EMBEDDING

2.1 word2vec

2013年中,Google發(fā)布的word2vec工具引起了大家的熱捧,很多互聯(lián)網(wǎng)公司跟進,產(chǎn)出了不少成果。16年Oren Barkan以及Noam Koenigstein借鑒word2vec的思想,提出item2vec,通過淺層的神經(jīng)網(wǎng)絡結合SGNS(skip-gram with negative sampling)訓練之后,將item映射到固定維度的向量空間中,通過向量的運算來衡量item之間的相似性。下面對item2vec的做簡要的分享:

由于item2vec基本上是參照了google的word2vec方法,應用到推薦場景中的item2item相似度計算上,所以首先簡單介紹word2vec的基本原理。

Word2vec主要用于挖掘詞的向量表示,向量中的數(shù)值能夠建模一個詞在句子中,和上下文信息之間的關系,主要包括2個模型:CBOW(continuous bag-of-word)和SG(skip-gram),從一個簡單版本的CBOW模型介紹,上下文只考慮一個詞的情形,如圖1所示,

2

圖1

假設只有一個隱層的神經(jīng)網(wǎng)絡,輸入層以及輸出層均為詞的one-hot編碼表示,詞表大小假設為V,隱層神經(jīng)元個數(shù)為N,相鄰層的神經(jīng)元為全連接,層間的權重用V*N的矩陣W表示,隱層到輸出層的activation function采用softmax函數(shù),

3

其中wI,wj為詞表中不同的詞,yj為輸出層第j個神經(jīng)元的輸出,uj為輸入層經(jīng)過權重矩陣W到隱層的score,uj’為隱層經(jīng)過權重矩陣W’到輸出層的score。訓練這個神經(jīng)網(wǎng)絡,用反向傳播算法,先計算網(wǎng)絡輸出和真實值的差,然后用梯度下降反向更新層間的權重矩陣,得到更新公式:

4

5

6

其中,η為更新的步長,ej為模型預測以及真實值之間的誤差,h為隱層向量。

圖2為上下文為多個詞時的情況,中間的隱層h計算由

7

改為

8

即輸入向量為多個上下文向量相加求平均,后續(xù)的參數(shù)學習與上文的單個詞的上下文情況類似。遍歷整個訓練集context-target詞對,經(jīng)過多次迭代更新模型參數(shù),對模型中的向量的影響將會累積,最終學到對詞的向量表示。(

Skip-gram跟CBOW的輸入層和輸出層正好對調(diào),區(qū)別就是CBOW是上下文,經(jīng)過模型預測當前詞,而skip-gram是通過當前詞來預測上下文。

9

圖2

 

目前為止,對詞表中的每個詞,有兩種向量表示:input vector和output vector,對應輸入層到隱層權重矩陣W的行向量和隱層到輸出層權重矩陣W’的列向量,從等式4、5可以看出,對每一個訓練樣本,都需要遍歷詞表中的每一個詞,因此,學習output vector的計算量是非常大的,如果訓練集或者詞表的規(guī)模大的話,在實際應用中訓練不具可操作性。為解決這個問題,直覺的做法是限制每個訓練樣本需要更新的output vectors,google提出了兩個方法:hierarchical softmax和negative sampling,加快了模型訓練的速度,在此不做展開討論。

2.2 ?item2vec

由于wordvec在NLP領域的巨大成功,Oren Barkan and Noam Koenigstein受此啟發(fā),利用item-based CF學習item在低維latent space的embedding representation,優(yōu)化item的相關推薦。

詞的上下文即為鄰近詞的序列,很容易想到,詞的序列其實等價于一系列連續(xù)操作的item序列,因此,訓練語料只需將句子改為連續(xù)操作的item序列即可,item間的共現(xiàn)為正樣本,并按照item的頻率分布進行負樣本采樣。

10

圖3

Oren Barkan and Noam Koenigstein以SVD作為baseline,SVD的隱類以及item2vec的維度都取40,用Microsoft Xbox Music service收集的 user-artists數(shù)據(jù)集,對結果進行聚類,如圖3所示,圖a是item2vec的聚合效果,圖b是SVD分解的聚合效果,看起來item2vec的聚合效果要更好些。

作者嘗試將item2vec應用到達觀數(shù)據(jù)的相關推薦當中,由于資訊、短視頻類的場景一般的連續(xù)item操作會比較多,因此天然的非常適合用item2vec來訓練item的向量表示,從實際的訓練結果和線上評估來看,item2vec對CTR提升是有明顯幫助的。