日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

随机生成元素升序向量_推荐系统中用户向量的表示学习

發布時間:2024/8/5 windows 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 随机生成元素升序向量_推荐系统中用户向量的表示学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

隨著深度學習在推薦系統中的應用,embedding成為繞不開的話題。無論是召回還是排序階段,均應用到embedding技術。目前已經有很多文章在討論item的embedding如何生成,本文希望討論user embedding生成的幾種方法,歡迎大家補充和討論。

Item2Vec+Pooling

在word2vec提出后,給向量化學習提供了很好的思路。微軟于2016年提出item2vec[1],本質是skip gram+negative sampling的方式學習item的向量表達。生成item vector之后,可以根據用戶歷史上與item的交互行為,求avg/max/ pooling獲取用戶的向量表達。這是最直接的user vector生成方式,但是在實際使用中往往效果一般。主要原因是泛化能力差,對user embedding的學習是無監督的。

除此之外,在如何生成item vector的問題上,item2Vec也給出明確的方法。word2vec對于順序是有強依賴的。但是對于大部分推薦場景,用戶的購買(點擊)序列沒有強順序關系,因此我們在構造樣本時需要根據場景做一些變化,如:1)需要將滑動窗口設置成最長的長度。保證同一個item的用戶,均處在同一個context下。2)通過多次shuffle原始序列構建不同的序列。

Doc2Vec

doc2vec其實是word2vec的一種擴展方法,當我們通過user與item的交互歷史構建出訓練的序列時,可以將user作為global context加入到訓練中,學出user和item的向量。該模型的優勢在于,user和item在一個向量空間內。構建線上服務時,能夠通過ANN庫快速做user2item的匹配,直接通過user embedding召回item。

Factorization Machine

FM是推薦系統中常用的算法,因為推薦系統的特征空間通常是稀疏的,FM擅長處理稀疏特征,通過豐富的特征交叉提高模型的效果,可以認為FM也是一個淺層的神經網絡。FM類模型求解出的隱向量可以作為該ID對應的特征向量,但是每一個feature group的ID擁有單獨的特征空間。所以該特征向量可以用于feature group內部各ID的相似性比較,如衡量用戶相似度(user-cf)物品相似度(item-cf),但是無法直接通過user embedding找到item embedding的近鄰。接下來介紹幾種DNN的方式構建user embedding。

Youtube DNN

Youtube DNN作為深度學習+推薦系統在業界的范文,在王喆的機器學習筆記中,https://zhuanlan.zhihu.com/p/52169807有很多實際工程問題的討論。在召回DNN中,引入豐富的用戶側特征(包括用戶的觀看和搜索歷史),從而學習到的模型更加全面,泛化能力強。模型的最后一層全連接的輸出作為user embedding表達,item embedding則使用softmax+negative sampling有監督訓練該DNN時,生成的softmax權重向量來表示。因此user embedding和item-embedding也處于同一個特征空間,線上serving時,可以采用ANN的方式查找最近鄰。

DSSM

DSSM及微軟后續推出的multi-view DSSM也代表了一種思路。這種多塔的結構,可以為user,item構造不同的塔,通過n層全連接之后,將最后一層輸出層的向量拼接在一起做softmax,或者直接通過cosine衡量兩者的相似性。訓練完成后,模型全連接層的輸出向量可以作為user,item的embedding表達,而且向量處在同一個向量空間,可以在線進行ANN查找,有效提高線上serving的性能。

Graph embedding

user和item之間的關系可以構建成一張圖,對于用戶點擊行為建了一個圖G(u,e),除此之外,其他行為(如:item之間屬性相關等均可以生成一條邊)。圖生成之后,就可以使用DeepWalk,Node2Vec,LINE,GCN等算法進行訓練。以DeepWalk為例,在建好的圖中隨機游走,生成節點序列,根據不同的使用場景,可以采用不同的隨機游走方式,已實現適合當前場景的策略。生成隨機游走序列后使用skipgram進行訓練產出向量。Graph Embedding是一個很大的話題,KDD2017 tutorial有關于Graph Embedding的專場分享,大家可以下載相關的slides學習。阿里也根據自己的使用場景在提出了一些改進方法,整體的思路是在圖中加入更加豐富的特征,構建DNN網絡來訓練,詳細內容會放在后續的文章中仔細討論。

[1] Barkan O, Koenigstein N. Item2vec: neural item embedding for collaborative filtering[C]//2016 IEEE 26th International Workshop on Machine Learning for Signal Processing (MLSP). IEEE, 2016: 1-6.

[2] Covington P, Adams J, Sargin E. Deep neural networks for youtube recommendations[C]//Proceedings of the 10th ACM conference on recommender systems. ACM, 2016: 191-198.

[3] Perozzi B, Al-Rfou R, Skiena S. Deepwalk: Online learning of social representations[C]//Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining. ACM, 2014: 701-710.

[4] Kipf T N, Welling M. Semi-supervised classification with graph convolutional networks[J]. arXiv preprint arXiv:1609.02907, 2016.

歡迎大家關注我的公眾號,一起討論實用的推薦系統技術。


該文章也在如下問題中回復。

推薦系統中如何做 User Embedding??www.zhihu.com

總結

以上是生活随笔為你收集整理的随机生成元素升序向量_推荐系统中用户向量的表示学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。