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是利用當前詞預測其上下文詞。給定一個訓練序列w_{1},w_{2} ,...,w_{T} ,模型的目標函數是最大化平均的log概率:

目標函數中c中context的大小。c越大,訓練樣本也就越大,準確率也越高,同時訓練時間也會變長。

在skip-gram中,P(w_{t+j}|w_{t}) 利用softmax函數定義如下:

W是整個語料庫的大小。上式的梯度的計算量正比如W,W通常非常大,直接計算上式是不現實的。為了解決這個問題,google提出了兩個方法,一個是hierarchical softmax,另一個方法是negative sample。negative sample的思想本身源自於對Noise Contrastive Estimation的一個簡化,具體的,把目標函數修正為:

P_{n}(w)是雜訊分布 ( noise distribution )。即訓練目標是使用Logistic regression區分出目標詞和噪音詞。具體的Pn(w)方面有些trick,google使用的是unigram的3/4方,即U(w)^{3/4}/Z ,好於unigram,uniform distribution。

另外,由於自然語言中很多高頻詞出現頻率極高,但包含的信息量非常小(如is a the)。為了balance低頻詞和高頻詞,利用簡單的概率丟棄詞w_{i}

其中f(w_{i} )w_{i} 的詞頻,t的確定比較trick,啟發式獲得。實際中t大約在10^{-5} 附近。

-------------------------------------------------

2 Item2vec演算法原理

Item2vec中把用戶瀏覽的商品集合等價於word2vec中的word的序列,即句子(忽略了商品序列空間信息spatial information) 。出現在同一個集合的商品對視為 positive。對於集合w_{1}, w_{2}, ...,w_{K}目標函數:

同word2vec,利用負採樣,將p(w_{j}|w_{j})定義為:

subsample的方式也是同word2vec:

最終,利用SGD方法學習的目標函數max,得到每個商品的embedding representation,商品之間兩兩計算cosine相似度即為商品的相似度。

-------------------------------------------------

3 Item2vec效果:

對比的baseline方法是基於SVD方法的用戶embedding得到的相似度,SVD分解的維度和item2vec的向量維度都取40,詳細見paper。數據是應用在music領域的,作者利用web上音樂人的類別進行聚類,同一個顏色的節點表示相同類型的音樂人,結果對比如下:n

圖a是item2vec的聚合效果,圖b是SVD分解的聚合效果,看起來item2vec的聚合效果更好些。

原文arxiv.org/pdf/1603.0425

參考文獻:

[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 |