-
AutoRec模型
前置知識:推薦算法學習筆記1.1:傳統推薦算法-協同過濾算法AutoRec模型通過引入自編碼器結構,將共線矩陣中的用戶向量(基于用戶的U-AutoRec)或物品向量(基于物品的I-AutoRec)嵌入到低維空間后還原,從而使模型可以估計未知的用戶評分。其公式如下所示:
h ( r ; W , b , V , μ ) = f ( W g ( V r + μ + b ) ) h(\mathbf{r};\mathbf{W,b,V},\boldsymbol{\mu})=f(\mathbf{W}g(\mathbf{Vr+}\boldsymbol{\mu}+\mathbf{b})) h(r;W,b,V,μ)=f(Wg(Vr+μ+b))
其訓練的損失函數如下所示:
m i n W , b , V , μ λ 2 ( ∥ W ∥ F , ∥ V ∥ F ) + ∑ i = 1 N ∥ r i ? h ( r i ; W , b , V , μ ) ∥ 2 2 min_{\mathbf{W,b,V},\boldsymbol{\mu}} \frac{\lambda}{2}(\|\mathbf{W}\|_F,\|\mathbf{V}\|_F)+\sum_{i=1}^{N}\|\mathbf{r}^i-h(\mathbf{r}^i;\mathbf{W,b,V},\boldsymbol{\mu})\|_2^2 minW,b,V,μ?2λ?(∥W∥F?,∥V∥F?)+i=1∑N?∥ri?h(ri;W,b,V,μ)∥22?
m其網絡結構如下所示:
在《深度學習推薦系統》書中,把輸出層描述成多分類層是存在歧義的。原論文中輸出層實際的激活函數為 f ( x ) = x f(x)=x f(x)=x。
該模型的訓練以及推薦過程如下(以U-AutoRec為例):
輸入所有用戶向量 R = { r i ∣ i = 1 , 2 , . . N } \mathbf{R} = \{\mathbf{r}^i|i=1,2,..N\} R={ri∣i=1,2,..N}進行模型訓練。推理時輸入用戶向量 r i \mathbf{r}^i ri,得到預測向量 r ^ i \hat{\mathbf{r}}^i r^i,其中對于物品 I t e m k Item_k Itemk?,用戶的預測評分為 r ^ i [ k ] \hat{\mathbf{r}}^i[k] r^i[k]。
總結:
- 優點:通過從所有物品向量(或用戶向量)中學習到核心的低維表示,從而在輸入含未知取值的物品向量(或用戶向量)時,可以估計未知取值的得分,從而提高泛化能力。
- 缺點:結構比較簡單,存在表達能力不足的問題,另一方面只使用了共現矩陣的信息, 沒法利用用戶和物品的特性。