DNN論文分享 - Item2vec: Neural Item Embedding for Collaborative Filtering
本篇文章在 ICML2016 Machine Learning for Music Discovery Workshop
前置點評: 這篇文章比較樸素,創新性不高,基本是參照了google的word2vec方法,應用到推薦場景的i2i相似度計算中,但實際效果看還有有提升的。主要做法是把item視為word,用戶的行為序列視為一個集合,item間的共現為正樣本,並按照item的頻率分布進行負樣本採樣,缺點是相似度的計算還只是利用到了item共現信息,1).忽略了user行為序列信息; 2).沒有建模用戶對不同item的喜歡程度高低。
-------------------------------------------------
0 背景:
推薦系統中,傳統的CF演算法都是利用 item2item 關係計算商品間相似性。i2i數據在業界的推薦系統中起著非常重要的作用。傳統的i2i的主要計算方法分兩類,memory-based和model-based。
作者受nlp中運用embedding演算法學習word的latent representation的啟發,特別是參考了google發布的的word2vec(Skip-gram with Negative Sampling,SGNS),利用item-based CF 學習item在低維 latent space的 embedding representation,優化i2i的計算。-------------------------------------------------
1 回顧下google的word2vec:
自然語言處理中的neural embedding嘗試把 words and phrases 映射到一個低維語義和句法的向量空間中。
Skip-gram的模型架構:
Skip-gram是利用當前詞預測其上下文詞。給定一個訓練序列,,...,,模型的目標函數是最大化平均的log概率:目標函數中c中context的大小。c越大,訓練樣本也就越大,準確率也越高,同時訓練時間也會變長。
在skip-gram中, 利用softmax函數定義如下:
W是整個語料庫的大小。上式的梯度的計算量正比如W,W通常非常大,直接計算上式是不現實的。為了解決這個問題,google提出了兩個方法,一個是hierarchical softmax,另一個方法是negative sample。negative sample的思想本身源自於對Noise Contrastive Estimation的一個簡化,具體的,把目標函數修正為:是雜訊分布 ( noise distribution )。即訓練目標是使用Logistic regression區分出目標詞和噪音詞。具體的Pn(w)方面有些trick,google使用的是unigram的3/4方,即,好於unigram,uniform distribution。
另外,由於自然語言中很多高頻詞出現頻率極高,但包含的信息量非常小(如is a the)。為了balance低頻詞和高頻詞,利用簡單的概率丟棄詞:
其中是的詞頻,t的確定比較trick,啟發式獲得。實際中t大約在附近。-------------------------------------------------
2 Item2vec演算法原理:
Item2vec中把用戶瀏覽的商品集合等價於word2vec中的word的序列,即句子(忽略了商品序列空間信息spatial information) 。出現在同一個集合的商品對視為 positive。對於集合目標函數:
同word2vec,利用負採樣,將定義為:
subsample的方式也是同word2vec:
最終,利用SGD方法學習的目標函數max,得到每個商品的embedding representation,商品之間兩兩計算cosine相似度即為商品的相似度。-------------------------------------------------
3 Item2vec效果:
對比的baseline方法是基於SVD方法的用戶embedding得到的相似度,SVD分解的維度和item2vec的向量維度都取40,詳細見paper。數據是應用在music領域的,作者利用web上音樂人的類別進行聚類,同一個顏色的節點表示相同類型的音樂人,結果對比如下:n
圖a是item2vec的聚合效果,圖b是SVD分解的聚合效果,看起來item2vec的聚合效果更好些。原文https://arxiv.org/pdf/1603.04259v2.pdf參考文獻:
[1] Mikolov T, Sutskever I, Chen K, Corrado GS, Dean J. Distributed representations of words and phrases and their compositionality. In Advances in neural information processing systems 2013 (pp. 3111-3119).
推薦閱讀:
※運籌學教授葉蔭宇:作為 AI 基石,優化演算法如何在實際中應用?
※燃!阿里11篇論文入選IJCAI2017 人工智慧領域捷報頻傳
※圖論在計算廣告中的應用
※2道極好的Python演算法題|帶你透徹理解裝飾器的妙用
TAG:算法 | 推荐算法 | 深度学习DeepLearning |