主要思想:content + preference,不需要引入額外的內容信息和額外的目標函數,通過dropout來模擬數據缺失進行訓練。
本文提出的一種模型,可以結合Memory和Content的信息,但是只使用一個目標函數,即擁有了以往Hybrid model的性能,還解決了冷啟動問題,同時大大降低了模型訓練的復雜程度。
主要定義:
Preference:
代表的是N個user的集合;
代表的是M個Item的集合;
u和 v 形成的 M*N 的preference矩陣為 R ,而 Ruv 代表的是用戶u對項目v的preference,即R的第u行第v列。
對於一個新的User或者Item,就有 Ruv = 0。
Content:
content可以是通過各種渠道獲取的額外信息,信息越多,對推薦的貢獻也會越大。
對於user來說,content可以是user的個人資料,如性別年齡個人評價等等,也可以是其社交網絡的信息,對於item,content可以是一個商品的基本信息,如產地、類型、品牌、評論等等,也可以是相關的視頻圖片資料。
user和item得到的content feature分別為 Φu 和 Φv, 則Φu u(Φv v)就代表用戶u(item v)的content向量。
目標就是使用 R Φu Φv 來訓練一個准確又魯棒的模型。
LFM:
一種基於矩陣分解的用來預測用戶對物品興趣度的推薦算法。
相比USerCF算法(基於類似用戶進行推薦)和ItemCF(基於類似物品進行推薦)算法;我們還可以直接對物品和用戶的興趣分類。對應某個用戶先得到他的興趣分類,確定他喜歡哪一類的物品,再在這個類里挑選他可能喜歡的物品。
把原來的items和users的矩陣分成兩個矩陣,提高運算效率。
模型方法
把R的每一行每一列作為Users和Items的preference向量輸入,難以訓練(Users和Items數量太大)。利用LFM:我們先把R分解成兩個小矩陣U和V,我們可以認為,U和V相乘可以基本重構R,涵蓋了R的絕大部分信息。所以,在preference方面,我們使用U和V來代替R作為模型的輸入。
即
我們對於用戶u,輸入是 [Uv, Φu u];對於項目v,輸入是 [Vv, Φv v],然后分別輸入一個深度神經網絡中,得到用戶u和項目v各自的一個新的向量U^u 和 V^v 。
用新得到的u和v的向量 U^u 和 V^v ,我們可以接着相乘得到一個R的新的估計U^u V^v T .
框架圖如下:
目標函數:
希望我們訓練出來的兩個user和item的向量盡可能擬合原來的向量。
在訓練的時候,我們選擇的 Uu 和 Vv 都是有比較豐富的preference信息的向量,在實際推薦中,如果preference信息比較豐富,那么我們只利用這些信息就可以得到很好的推薦效果。我們在冷啟動時利用content信息,也是希望能夠達到有preference信息時候的性能。所以,當我們有充足的preference信息的時候,訓練出的模型給予ntent內容的權重會趨於0,這樣就回歸了傳統的Latent Model了。
模擬冷啟動:
按照一定的抽樣比例,讓user或者item的preference向量為0,即 Uu 或者 Vv 為 0。所以,針對冷啟動,其目標函數為:
這個時候,由於preference向量的缺失,所以content會竭盡所能去擔起大任,從而可以逼近Latent Model的效果:preference不夠,content來湊。
設置dropout的時候,鼓勵模型去使用content信息;不設置dropout的時候,模型會盡量使用preference信息。另外,本身Dropout作為一種正則化手段,也可以防止模型過擬合。
Transform:只有少數perference的情況:
文章還提出了在冷啟動后,用戶或者項目開始產生少數的preference信息的時候應該怎么處理,這樣才能讓不同階段無縫銜接。
它既不是冷啟動,但是可用的preference信息也十分稀少。而更新一次latent model是比較費時的,不能說來一些preference信息就更新一次,再來推薦。所以本文給出了一種簡單的方法,用user交互過的那少數幾個item的向量的平均,來代表這個user的向量。這個過程為transformation。所以,用戶有一些交互之后,先這樣transform一下拿去用,后台慢慢地更新latent model,等更新好了,再換成latent model來進行推薦。
訓練過程:有N個users和M個items,理論上可以形成N×M個樣本。
設定一個mini-batch,比如100,每次抽100個user-item pair,設定一個dropout rate,例如0.3,則從100個用戶中選出30個pair。對於這30個pair,輪流使用dropout和transform來處理后輸入DNN,其余的70個則直接輸入DNN。
實驗結果:
CTR和CDL是hybrid model,WMF是latent model,DeepMusic則是一個content model。
作者還提到他們模型的另一大優點就是,可以輕松地結合到之前的其他模型上,所以,作者將它們的模型和WMF以及CDL結合,稱為DN-WMF和DN-CDL。
值得注意的是這個DeepMusic,這是一個純content-based model,意思是不使用preference信息。可以看到,在warm start這種有着豐富preference信息的環境下,它的效果遠不如利用preference的其他模型。而在cold start這種沒有preference信息的情況下,效果就超過了hybrid model。