簡介
對于解決implicit data recommendation的問題,最主要要難點是,user-item matrix隻有0-1的資訊,并且我們inference user preference的時候,我們必須要用到0的資訊。但是我們不知道數值為0的item到底是真的使用者不喜歡/不點選,還是這個item壓根就沒有被沒有被推薦給使用者。很多老的方法沒有考慮這點,單純的假設所有0的資訊代表物品被推薦了但是使用者不喜歡,或者目前很多已有的方法,downweight這些這些的資料的影響。
但是我們還是不知道不清楚這部分0的資訊。到底是使用者真的不喜歡使用者根本沒看見這些物品?
方法
作者從一個新的角度出發,在原有的MF基礎上增加了一層latent exposure v
variable來對物品有沒有被exposed to user模組化,來幫助更好地了解0這部分資訊的來源,例如:為什麼這些資料沒有被點選?到底是真不喜歡還是沒有被暴露給使用者?
原有的MF是由user-peferences和item-attribues兩個laten factors組成, 他們和Exposure latent variable來共影響user-item裡面最終的y值。下面重點介紹exposure model的部分。
當exposure variable a=0的時候,意味着目前的物品根本沒有暴露給, 是以這個物品在user-tem的matrix裡面的值一定是0, 因為user根本都沒見過這個物品。
當a=1的時候,意味着目前的物品已經被暴露給了使用者,那麼使用者如果喜歡的話,user-iem matrix所儲存的值為1,如果不喜歡的話,user-item matrix所儲存的值為0。
公式介紹
θ u ∼ N ( 0 , λ θ − 1 I K ) \theta_u \sim N(0, \lambda^{-1}_{\theta}I_K) θu∼N(0,λθ−1IK)
β i ∼ N ( 0 , λ β − 1 I K ) \beta_i \sim N(0, \lambda^{-1}_{\beta}I_K) βi∼N(0,λβ−1IK)
a u i ∼ B e r n o u l l i ( u u i ) a_{ui} \sim Bernoulli(u_{ui}) aui∼Bernoulli(uui)
y u i ∣ a u i = 1 ∼ N ( θ T β i , λ y − 1 ) y_{ui}|a_{ui} = 1 \sim N(\theta^{T}\beta_i, \lambda^{-1}_y) yui∣aui=1∼N(θTβi,λy−1)
y u i ∣ a u i = 0 ∼ σ 0 y_{ui}|a_{ui} = 0 \sim \sigma_0 yui∣aui=0∼σ0
The joint probability of exposures and clicks for user u and item I
l o g p ( a u i , y u i ∣ u u i , θ u , β i , λ y − 1 ) = l o g B e r n o u l l i ( a u i ∣ u u i ) + a u i l o g N ( y u i ∣ θ u T β i , λ y − 1 ) + ( 1 − a u i ) l o g I [ y u i = 0 ] \begin{aligned} logp(a_{ui}, y_{ui}|u_{ui}, \theta_u, \beta_i, \lambda^{-1}_y) & = logBernoulli(a_{ui}|u_{ui}) + a_{ui}logN(y_{ui}|\theta^T_u \beta_i, \lambda^{-1}_y)\\ &+(1-a_{ui})logI[y_{ui}=0] \end{aligned} logp(aui,yui∣uui,θu,βi,λy−1)=logBernoulli(aui∣uui)+auilogN(yui∣θuTβi,λy−1)+(1−aui)logI[yui=0]
最簡單的裂解:
當預測的使用者對物品的喜好程度高的時候,通過觀察 N ( y u i = 0 ∣ θ T β i , λ − 1 ) N(y_{ui}=0|\theta^T \beta_i, \lambda^{-1}) N(yui=0∣θTβi,λ−1)的值會很小,最終會降低a=1的可能。是以最後的joint probability l o g p ( a = 1 , y = 0 ) 會 很 小 logp(a=1, y=0)會很小 logp(a=1,y=0)會很小 (~log p(a=1|y=0)),意味着物品暴露給使用者的可能會很小,是以這部分0應該了解成item還沒有被暴露給使用者。
當y>0時, 使用者一定點選/喜歡這個物品,是以物品一定被暴露過給使用者。
當y=0時,這個時候 a u i a_{ui} aui是隐藏變量。
延伸
作者發現,如果我們對latent exposure variable的prior做一些改動,改動後的模型會更好的幫助模型擷取0這部分的資訊。例如在餐館的推薦上或者是文檔推薦中,如果我們把位置資訊或者文檔topic的資訊加入進模型,會得到更好的效果。
甚者有兩篇基于這個理論,把social network的資訊加入到模型中能過更好地給出推薦資訊。如果有興趣可以讀下面這兩篇
小結
data 全部為implicit data 不包括任何的 explicit data
這裡用到的metric有:[email protected], [email protected], [email protected]
[1]Modeling User Exposure in Recommendation
[2]Collaborative Filtering with Social Exposure: A Modular Approach to Social Recommendation
[3]Modeling Users’ Exposure with Social Knowledge Influence and Consumption Influence for Recommendation