推荐领域论文阅读

推荐

2001-Item-based collaborative filtering recommendation algorithms

引用数:9183 来源:Proceedings of the 10th international conference on World Wide Web

  • 问题:访问人数越来越多。传统基于user-CF方法的工作量随着用户的增多而增大,通过查找相似用户来进行推荐必然会碰到瓶颈。
  • CF模型将整个用户-物品 m × n m\times n m×n评分作为输入矩阵,可分为基于memory-based(user)和model-based(item)的两种。前者基于矩阵找相似的用户,后者对用户的评分建模。
  • 本文研究item间的关系,因为item间的关系相对static,可以推荐与用户喜好物品相似的物品来提升速度。
  • 方法:主要分为两步,1.计算物品相似度,2.评分计算。
    1. 挑出那些在i,j两item上都进行了评分的人,然后计算i,j相似性:
      • cosine-based similarity:将i,j视为由用户评分组成的向量,相似性为向量角度的cos值; s i m ( i , j ) = cos ⁡ ( i ⃗ , j ⃗ ) = i ⃗ ⋅ j ⃗ ∣ ∣ i ⃗ ∣ ∣ 2 ∗ ∣ ∣ j ⃗ ∣ ∣ 2 sim(i,j)=\cos(\vec i,\vec j)=\frac{\vec i\cdot \vec j}{||\vec i||_2*||\vec j||_2} sim(i,j)=cos(i ,j )=i 2j 2i j
      • correlation-based similarityPearson-r correlation,设对i,j都评价的人的集合为U,则 s i m ( i , j ) = ∑ u ∈ U ( R u , i − R ˉ i ) ( R u , j − R ˉ j ) ∑ u ∈ U ( R u , i − R ˉ i ) 2 ∑ u ∈ U ( R u , j − R ˉ j ) 2 sim(i,j)=\frac{\sum_{u\in U}(R_{u,i}-\bar R_i)(R_{u,j}-\bar R_j)}{\sqrt{\sum_{u\in U}(R_{u,i}-\bar R_i)^2}\sqrt{\sum_{u\in U}(R_{u,j}-\bar R_j)^2}} sim(i,j)=uU(Ru,iRˉi)2 uU(Ru,jRˉj)2 uU(Ru,iRˉi)(Ru,jRˉj) R ˉ i \bar R_i Rˉi为物品i的平均评分。
      • adjusted-cosine similarity:考虑不同用户打分的范围, s i m ( i , j ) = ∑ u ∈ U ( R u , i − R ˉ u ) ( R u , j − R ˉ u ) ∑ u ∈ U ( R u , i − R ˉ u ) 2 ∑ u ∈ U ( R u , j − R ˉ u ) 2 sim(i,j)=\frac{\sum_{u\in U}(R_{u,i}-\bar R_u)(R_{u,j}-\bar R_u)}{\sqrt{\sum_{u\in U}(R_{u,i}-\bar R_u)^2}\sqrt{\sum_{u\in U}(R_{u,j}-\bar R_u)^2}} sim(i,j)=uU(Ru,iRˉu)2 uU(Ru,jRˉu)2 uU(Ru,iRˉu)(Ru,jRˉu)
    2. 计算物品的评分:
      • Weighted Sum:通过用户在与i相似的物品上的评分来推测对i的评分, P u , i = ∑ a l l   s i m i l a r   i t e m s , N ( s i , N ∗ R u , N ) ∑ a l l   s i m i l a r   i t e m s , N ( ∣ s i , N ∣ ) P_{u,i}=\frac{\sum_{all\ similar\ items,N}(s_{i,N}*R_{u,N})}{\sum_{all\ similar\ items,N}(|s_{i,N}|)} Pu,i=all similar items,N(si,N)all similar items,N(si,NRu,N)
      • Regression:相似物品的评分 R N R_N RN,i物品的评分 R i R_i Ri;则 R ˉ N ′ = α R ˉ i + β + ϵ \bar R'_N=\alpha \bar R_i+\beta+\epsilon RˉN=αRˉi+β+ϵ
  • 数据集:Movie data from movielens;选择评分电影超20部的用户,交互大概有1百万个,然后将该数据集分为训练集和测试集。
  • 评价指标:本文使用MAE, M A E = ∑ i = 1 N ∣ p i − q i ∣ N MAE=\frac{\sum_{i=1}^N|p_i-q_i|}{N} MAE=Ni=1Npiqi
  • 测试不同参数(领域大小、train/test比例,不同相似性测量方法)对算法的影响,选择最优解,然后固定参数。该过程只在训练集上进行10折交叉验证。
  • 实验结果:
    • 相似性算法:使用加权和产生预测,adjusted cosine similarity最好。
    • Training/Test比例x:使用两种预测生成方法,x增加,MAE越小,,取两条预测生成方法曲线的交点,x=0.8.
    • 领域大小:加权和随领域增大,MAE越小,并趋于平缓;回归方法随着领域增大,MAE越大。选择领域大小为30.
  • 论文里的图
    在这里插入图片描述

2009-Matrix factorization techniques for recommender systems

引用数:7437 来源:Computer

  • 在Netflix竞赛上证明矩阵分解技术好于最近邻方法。并且可以结合其他信息(隐反馈、时间等)。

  • 主要的方法:

    • the content filtering approach\content-based,创造刻画用户或物品的资料,然后使用资料关联用户和匹配的物品。
    • past user behavior\collaborative filtering,分析用户间的关系,物品间的相关性,然后据此确定用户物品关系。又可以分为领域的方法和建立隐因素模型的方法。
  • 推荐系统的输入,有明显反馈输入的系统,一般是一个矩阵,坐标轴一般为用户、用户在物品上的评分,是一个稀疏矩阵。

  • 方法

    • 基本的matrix factorization模型

      • 将用户和物品映射到一个 f f f维度的联合因素空间,用户-物品的交互可用空间中的内积表示。物品可表示为 q i ∈ R f q_i\in R^f qiRf,用户表示为 p u ∈ R f p_u\in R^f puRf;空间中的每一维表示用户(物品)在该维上的喜好(程度)。 q i T p u q_i^Tp_u qiTpu表示用户u与物品i的交互(兴趣),近似用户的评分 r ^ u i \hat{r}_{ui} r^ui。当学的映射后,可用== r ^ u i = q i T p u \hat{r}_{ui}=q_i^Tp_u r^ui=qiTpu==来预测用户u在物品i上的评分。

      • 这种方法与奇异值分解singular matrix decomposition紧密相关。由于稀疏性,无法直接将SVD应用到CF。一种是填充数据,另一种是只用已有数据,通过正则化防止过拟合。即:
        min ⁡ q ∗ , p ∗ ∑ ( u , i ) ∈ K ( r ^ u i − q i T p u ) 2 + λ ( ∣ ∣ q i ∣ ∣ 2 + ∣ ∣ p u ∣ ∣ 2 ) (1) \min_{q^*,p^*}\sum_{(u,i)\in K}(\hat{r}_{ui}-q_i^Tp_u)^2+\lambda(||q_i||^2+||p_u||^2) \tag{1} q,pmin(u,i)K(r^uiqiTpu)2+λ(qi2+pu2)(1)

    • 学习方法:

      • stochastic gradient descent:随机梯度下降
      • alternating least squares:交替固定一个参数,依次解一个最小二乘问题,可并行处理。
    • 添加baises

      • 由于用户等原因,会产生一些变化,如一些用户偏向于给一些物品高分。

      • 一阶偏差可定义为: b u i = μ + b u + b i b_{ui}=\mu+b_u+b_i bui=μ+bu+bi。分别代表:整体平均值,用户bias,物品bias;则评分可表示为:
        r ^ u i = μ + b u + b i + q i T p u (2) \hat{r}_{ui}=\mu+b_u+b_i+q_i^Tp_u \tag{2} r^ui=μ+bu+bi+qiTpu(2)

    • 添加额外输入,解决cold start problem,提供的评分较少的情况。

      • N ( u ) N(u) N(u)表示用户有隐偏好的物品集合(如历史购物、浏览情况)。用户在该集合上的偏好可表示为 ∑ i ∈ N ( u ) x i \sum_{i\in N(u)}x_i iN(u)xi x i ∈ R f x_i\in R^f xiRf

      • A ( u ) A(u) A(u)表示用户对应的属性集合(如性别、年龄),用户在相关属性集合上可表示为 ∑ a ∈ A ( u ) y a \sum_{a\in A(u)}y_a aA(u)ya y a ∈ R f y_a\in R^f yaRf

      • 所以评分表示为:可再添加额外的物品属性。
        r ^ u i = μ + b u + b i + q i T [ p u + ∣ N ( u ) ∣ − 0.5 ∑ i ∈ N ( u ) x i + ∑ a ∈ A ( u ) y a ] (3) \hat{r}_{ui}=\mu+b_u+b_i+q_i^T[p_u+|N(u)|^{-0.5}\sum_{i\in N(u)}x_i+\sum_{a\in A(u)}y_a] \tag{3} r^ui=μ+bu+bi+qiT[pu+N(u)0.5iN(u)xi+aA(u)ya](3)

    • temporal dynamics:偏好会随时间变化

      • 用户偏差,物品偏差,用户偏好都可能随时间变化,所以,评分可表示为:
        r ^ u i ( t ) = μ + b u ( t ) + b i ( t ) + q i T p u ( t ) (4) \hat{r}_{ui}(t)=\mu+b_u(t)+b_i(t)+q_i^Tp_u(t) \tag{4} r^ui(t)=μ+bu(t)+bi(t)+qiTpu(t)(4)
    • 加上confidence level:打分的可信度是不一样的,如一个视频看的次数。

      • 添加可信度,问题变为:
        min ⁡ q ∗ , p ∗ ∑ ( u , i ) ∈ K c u i ( r ^ u i − μ − b u − b i − q i T p u ) 2 + λ ( ∣ ∣ q i ∣ ∣ 2 + ∣ ∣ p u ∣ ∣ 2 + b u 2 + b i 2 ) (5) \min_{q^*,p^*}\sum_{(u,i)\in K}c_{ui}(\hat{r}_{ui}-\mu -b_u-b_i-q_i^Tp_u)^2+\lambda(||q_i||^2+||p_u||^2+b_u^2+b_i^2) \tag{5} q,pmin(u,i)Kcui(r^uiμbubiqiTpu)2+λ(qi2+pu2+bu2+bi2)(5)
        c u i c_{ui} cui表示用户u在物品i上的置信度。
  • 数据集:Netflix数据集(大约),训练集100百万个评分,0.5百万用户,1.7万的电影;测试集,预测3百万个评分。

  • 评价指标:计算root-mean-square error (RMSE) R M S E = ∑ i = 1 N ( p i − q i ) 2 N RMSE=\sqrt\frac{\sum_{i=1}^N(p_i-q_i)^2}{N} RMSE=Ni=1N(piqi)2

  • 实验结果:由(1)-(5)参数越多,性能越好。

2010-Factorization machines

引用数:1217 来源:2010 IEEE International Conference on Data Mining

  • 问题:很多分解方法(如MF、parallel factor analysis、SVD++、PITF、FPMC),缺点是无法广泛应用到普遍的预测问题。只能针对特定的输入(任务)。

  • FM结合了SVM和分解模型的优点,是具有一般性的预测器,计算复杂度是线性的,能对变量间的各种交互建模(包括高稀疏的数据)。

  • 方法:

    • 将输入编码为向量,输入 x ∈ R n x\in R^n xRn,输出 y ∈ R y\in R yR

    • d=2的模型方程:

      • 传统的SVM的方法,如 y ^ ( x ) : = w 0 + ∑ n w i x i + ∑ i = 1 n ∑ j = i + 1 n w i , j x i x j \hat y(x):=w_0+\sum_n w_ix_i+\sum_{i=1}^n \sum_{j=i+1}^nw_{i,j}x_ix_j y^(x):=w0+nwixi+i=1nj=i+1nwi,jxixj;变量w间的交互视为独立的,使用maximum margin,会导致在测试中的训练集中未出现的交互 w i , j = 0 w_{i,j}=0 wi,j=0

      • 本文的方法:
        y ^ ( x ) : = w 0 + ∑ n w i x i + ∑ i = 1 n ∑ j = i + 1 n < v i , v j > x i x j (eq1) \hat y(x):=w_0+\sum_n w_ix_i+\sum_{i=1}^n \sum_{j=i+1}^n<\mathtt v_i,\mathtt v_j>x_ix_j \tag{eq1} y^(x):=w0+nwixi+i=1nj=i+1n<vi,vj>xixj(eq1)
        w i , j : = < v i , v j > w_{i,j}:=<\mathtt v_i,\mathtt v_j> wi,j:=<vi,vj>表示第i,j两个变量的交互, v i ∈ R k \mathtt v_i\in R^k viRk

    • eq1的计算量为 O ( k n 2 ) O(kn^2) O(kn2);由于经过变换, ∑ i = 1 n ∑ j = i + 1 n < v i , v j > x i x j = 1 2 ∑ f = 1 k ( ( ∑ i = 1 n v i , f x i ) 2 − ∑ i = 1 2 v i , f 2 x i 2 ) \sum_{i=1}^n \sum_{j=i+1}^n<\mathtt v_i,\mathtt v_j>x_ix_j=\frac{1}{2}\sum_{f=1}^k((\sum_{i=1}^nv_{i,f}x_i)^2-\sum_{i=1}^2v_{i,f}^2x_i^2) i=1nj=i+1n<vi,vj>xixj=21f=1k((i=1nvi,fxi)2i=12vi,f2xi2);则计算量为 O ( k n ) O(kn) O(kn)。只算非零元素,则计算量为 O ( k m ˉ D ) O(k\bar m_D) O(kmˉD) m ˉ D \bar m_D mˉD为输入向量中的非零元素的平均个数。

    • FM对可实现其他方法:

      • MF:只取user和item; y ^ ( x ) = w 0 + w i + w u + < v u , v i > \hat y(\mathtt x)=w_0+w_i+w_u+<\mathtt v_u,\mathtt v_i> y^(x)=w0+wi+wu+<vu,vi>
      • SVD++:考虑输入的前三项, y ^ ( x ) = w 0 + w i + w u + < v u , v i > + 1 ∣ N u ∣ ∑ l ∈ N u < v i , v l > \hat y(\mathtt x)=w_0+w_i+w_u+<\mathtt v_u,\mathtt v_i>+\frac{1}{\sqrt{|N_u|}}\sum_{l\in N_u}<\mathtt v_i,\mathtt v_l> y^(x)=w0+wi+wu+<vu,vi>+Nu 1lNu<vi,vl>
      • PITF:推荐标签, y ^ ( x ) = w 0 + w u + w i + w t + < v u , v i > + < v u , v t > + < v i , v t > \hat y(\mathtt x)=w_0+w_u+w_i+w_t+<\mathtt v_u,\mathtt v_i>+<\mathtt v_u,\mathtt v_t>+<\mathtt v_i,\mathtt v_t> y^(x)=w0+wu+wi+wt+<vu,vi>+<vu,vt>+<vi,vt>;使用pairwise ranking则变为: y ^ ( x ) = w t + < v u , v t > + < v i , v t > \hat y(\mathtt x)=w_t+<\mathtt v_u,\mathtt v_t>+<\mathtt v_i,\mathtt v_t> y^(x)=wt+<vu,vt>+<vi,vt>
    • Factorized Personalized Markov Chains (FPMC):基于用户上次购买情况对商品排序; y ^ ( x ) = w i + < v u , v i > + 1 ∣ B t − 1 u ∣ ∑ l ∈ B t − 1 u < v i , v l > \hat y(x)=w_i+<\mathtt v_u,\mathtt v_i>+\frac{1}{|B_{t-1}^u|}\sum_{l\in B_{t-1}^u}<\mathtt v_i,\mathtt v_l> y^(x)=wi+<vu,vi>+Bt1u1lBt1u<vi,vl> B t − 1 u B_{t-1}^u Bt1u为用户t-1时买的物品。

  • 数据集:ECML、Netflix。
    在这里插入图片描述

2012-BPR: Bayesian personalized ranking from implicit feedback

引用数:2728 来源:Proceedings of the Twenty-Fifth Conference on Uncertainty in Artificial Intelligence(2009)

  • 问题:有很多以隐反馈implicit feedback(如购买浏览历史)输入,实现个性化推荐(MF,kNN),但它们都没有直接针对排名进行优化。为优化排名,提出了一般化的优化标准BPR-OPT,和一般化的学习算法LearnBPR

  • 方法:

    • 在隐反馈系统中,只有正例 S S S(用户喜欢的)被观测到,其他数据是真负例和缺失值的样例组成;

      • 以前的方法是将观测的数据视为正例(1),其他视为负例(0),以此作为数据集;然后对该数据建模。所以模型学到的是: p ( i ) = { 1 i ∈ S 0 i ∉ S p(i)=\begin{cases} 1 & i \in S\\ 0 & i\notin S \end{cases} p(i)={10iSi/S。未来需要预测的item在训练中被视为负例。之前模型能进行预测的原因是有正则项,防止了过拟合。
      • 本文使用物品对item pairs作为训练数据,假设用户对浏览过的物品的喜好程度超过未浏览的物品。则训练集 D S : = { ( u , i , j ) ∣ i ∈ I u + ∧ j ∈ I ∖ I u + } D_S:=\{(u,i,j)|i\in I_u^+ \land j\in I\setminus I_u^+\} DS:={(u,i,j)iIu+jIIu+} ( u , i , j ) (u,i,j) (u,i,j)表示用户u相比j更喜欢i。
    • BPR Optimization Criterion参考

      • 为所有物品进行正确的个性化排序的Bayesian公式是最大化模型参数的后验概率 p ( Θ ∣ > u ) p(\Theta |>_u) p(Θ>u),正比于 ∝ p ( > u ∣ Θ ) p ( Θ ) \propto p(>_u|\Theta)p(\Theta) p(>uΘ)p(Θ) Θ \Theta Θ为模型参数, > u >_u >u为用户想要的item排序。因此相当于最大化似然函数 p ( > u ∣ Θ ) p(>_u|\Theta) p(>uΘ)

      • 两点假设:

        • 用户之间相互独立。
        • 一个用户对物品对(i,j)的顺序与其他物品对的顺序相互独立。
      • 对于所有用户,似然函数: ∏ u ∈ U p ( > u ∣ Θ ) = ∏ ( u , i , j ) ∈ U × I × I p ( i > u j ∣ Θ ) ( u , i , j ) ∈ D S ⋅ ( 1 − p ( i > u j ∣ Θ ) ) ( u , j , i ) ∉ D S \prod_{u\in U}p(>_u|\Theta)=\prod_{(u,i,j)\in U\times I\times I}p(i>_uj|\Theta)^{(u,i,j)\in D_S}\cdot (1-p(i>_uj|\Theta))^{(u,j,i)\notin D_S} uUp(>uΘ)=(u,i,j)U×I×Ip(i>ujΘ)(u,i,j)DS(1p(i>ujΘ))(u,j,i)/DS;可简化为: ∏ u ∈ U p ( > u ∣ Θ ) = ∏ ( u , i , j ) ∈ D S p ( i > u j ∣ Θ ) \prod_{u\in U}p(>_u|\Theta)=\prod_{(u,i,j)\in D_S}p(i>_uj|\Theta) uUp(>uΘ)=(u,i,j)DSp(i>ujΘ)

      • 定义用户相比j更喜好i的单个概率为: p ( i > u j ∣ Θ ) : = σ ( x ^ u i j ( Θ ) ) p(i>_uj|\Theta):=\sigma(\hat x_{uij}(\Theta)) p(i>ujΘ):=σ(x^uij(Θ)) σ \sigma σ为sigmoid函数。 x ^ u i j \hat x_{uij} x^uij是模型参数 Θ \Theta Θ学到的 ( u , i , j ) (u,i,j) (u,i,j)间的关系。

      • 对于先验概率 p ( Θ ) p(\Theta) p(Θ),可以使用正态分布 p ( Θ ) ∼ N ( 0 , Σ Θ ) p(\Theta)\sim N(0,\Sigma_{\Theta}) p(Θ)N(0,ΣΘ) Σ Θ \Sigma_{\Theta} ΣΘ为协方差矩阵。为了减少参数,设 Σ Θ = λ Θ I \Sigma_{\Theta}=\lambda_{\Theta}I ΣΘ=λΘI λ Θ \lambda_{\Theta} λΘ为模型正则项。

      • 则一般性的优化标准为
        KaTeX parse error: No such environment: align* at position 8: \begin{̲a̲l̲i̲g̲n̲*̲}̲ BPR-OPT &:=\ln…

    • BPR Learning Algorithm

      • 梯度: ∂ B P R − O P T ∂ Θ ∝ ∑ ( u , i , j ) ∈ D S − e − x ^ u i j 1 + e − x ^ u i j ⋅ ∂ ∂ Θ x ^ u i j − λ Θ Θ \frac{\partial BPR-OPT}{\partial \Theta} \propto \sum_{(u,i,j)\in D_S}\frac{-e^{-\hat x_{uij}}}{1+e^{-\hat x_{uij}}}\cdot\frac{\partial}{\partial\Theta}\hat x_{uij}-\lambda_{\Theta}\Theta ΘBPROPT(u,i,j)DS1+ex^uijex^uijΘx^uijλΘΘ
      • 整体梯度下降是在所有训练集上求梯度,再更新参数,收敛缓慢。
      • 随机梯度下降在一个训练样本上进行参数更新,但容易受训练样本的顺序影响。
      • 采用随机抽取(均匀分布)的方法bootstrap sampling,防止在连续更新中一直抽到相同的用户物品整合。
    • Learning models with BPR

      • 以前方法是对(u,i)对给出一个值,因此我们将评估值 x ^ u i j \hat x_{uij} x^uij分解定义为 x ^ u i j : = x ^ u i − x ^ u j \hat x_{uij}:=\hat x_{ui}-\hat x_{uj} x^uij:=x^uix^uj
      • Matrix Factorization:将矩阵 X ∈ R U × I X\in R^{U\times I} XRU×I分解为 W ∈ R U × f W\in R^{U\times f} WRU×f H ∈ R I × f H\in R^{I\times f} HRI×f;预测值表示为 x ^ u i = < w u , h i > = ∑ f = 1 k w u f ⋅ h i f \hat x_{ui}=<w_u,h_i>=\sum_{f=1}^k w_{uf}\cdot h_{if} x^ui=<wu,hi>=f=1kwufhif
  • 数据集:Rossmann dataset:来自在线商店的购买记录;Netflix:电影DVD租赁记录,包含评分(实验中将评分都视为1)。

  • 评价指标: A U C = 1 ∣ U ∣ ∑ u 1 E ( u ) ∑ ( i , j ) ∈ E ( u ) δ ( x ^ u i > x ^ u j ) AUC=\frac{1}{|U|}\sum_u\frac{1}{E(u)}\sum_{(i,j)\in E(u)}\delta(\hat x_{ui}>\hat x_{uj}) AUC=U1uE(u)1(i,j)E(u)δ(x^ui>x^uj) E ( u ) E(u) E(u)为用户u的样本对(i,j),测试集里的物品i,未交互过的物品j。

  • 实验方法:通过留一法,随机从每一个用户中抽出该用户交互过的一个物品,构成测试集,其他为训练集;进行测试;重复10轮,第一轮确定参数后,后面不再改变参数。

在这里插入图片描述

2018-Adversarial personalized ranking for recommendation

引用数:115 来源:The 41st International ACM SIGIR Conference on Research & Development in Information Retrieval 代码

  • 问题:用BPR优化的MF推荐模型对模型参数的对抗干扰并不够鲁棒,

  • 为了提升鲁棒性和泛化能力,本文提出了新的优化框架APR(使用对抗训练提升BPR)。在用户物品的嵌入向量上添加干扰实现MF上的APR。

  • 证明MF-BPR对对抗噪声是脆弱的:对抗图像生成的方法不能直接应用到输入 ( u , i , j ) (u,i,j) (u,i,j),因为会改变输入语义信息,导致输出巨大变化;本文选择作用于模型的参数(MF的嵌入向量),假设模型参数的微小变化不会导致输出的剧烈变化,如果某种干扰比随机干扰更有效,则表明模型对这种干扰敏感。

    • 定义对抗干扰为使BPR目标函数最大的干扰: Δ a d v = arg ⁡ max ⁡ Δ , ∣ ∣ Δ ∣ ∣ < ϵ L B P R ( D ∣ Θ ^ + Δ ) \Delta_{adv}=\arg{\max \atop \Delta,||\Delta||<\epsilon}L_{BPR}(D|\hat\Theta+\Delta) Δadv=argΔ,Δ<ϵmaxLBPR(DΘ^+Δ) Θ ^ \hat\Theta Θ^为确定值。
  • APR模型:设计一个新的目标函数,使其能胜任个性化排序和抵抗对抗干扰,最小化目标函数:
    L A P R ( D ∣ Θ ) = L B P R ( D ∣ ∣ Θ ) + λ L B P R ( D ∣ Θ + Δ a d v ) (1) L_{APR}(D|\Theta)=L_{BPR}(D||\Theta)+\lambda L_{BPR}(D|\Theta+\Delta_{adv}) \tag{1} LAPR(DΘ)=LBPR(DΘ)+λLBPR(DΘ+Δadv)(1)

    通用的训练方法SGD:

    1. 构造对抗干扰:随机抽取训练样本 ( u , i , j ) (u,i,j) (u,i,j),最大化: l a d v ( ( u , i , j ) ∣ Δ ) = − λ ln ⁡ σ ( y ^ u i j ( Θ ^ + Δ ) ) l_{adv}((u,i,j)|\Delta)=-\lambda\ln\sigma(\hat y_{uij}(\hat\Theta+\Delta)) ladv((u,i,j)Δ)=λlnσ(y^uij(Θ^+Δ))。使用户u对物品ij难以区分。通过线性函数近似目标函数,使用fast gradient,即朝着梯度方向移动,
      T : = ∂ l a d v ( ( u , i , j ) ∣ Δ ) ∂ Δ = − λ ( 1 − σ ( y ^ u i j ( Θ ^ + Δ ) ) ) ∂ y ^ u i j ( Θ ^ + Δ ) ∂ Δ (2) T:=\frac{\partial l_{adv}((u,i,j)|\Delta)}{\partial \Delta}=-\lambda(1-\sigma(\hat y_{uij}(\hat\Theta+\Delta)))\frac{\partial\hat y_{uij}(\hat\Theta+\Delta)}{\partial \Delta} \tag{2} T:=Δladv((u,i,j)Δ)=λ(1σ(y^uij(Θ^+Δ)))Δy^uij(Θ^+Δ)(2)
      则在max-norm限制下, Δ a d v = ϵ T ∣ ∣ T ∣ ∣ \Delta_{adv}=\epsilon\frac{T}{||T||} Δadv=ϵTT

    2. 模型参数学习:由(1)有:
      l A P R ( ( u , i , j ) ∣ Θ ) = − ln ⁡ σ ( y ^ u i j ( Θ ) ) + λ Θ ∣ ∣ Θ ∣ ∣ 2 − λ ln ⁡ σ ( y ^ u i j ( Θ + Δ a d v ) ) (3) l_{APR}((u,i,j)|\Theta)=-\ln\sigma(\hat y_{uij}(\Theta))+\lambda_{\Theta}||\Theta||^2-\lambda\ln\sigma(\hat y_{uij}(\Theta+\Delta_{adv})) \tag{3} lAPR((u,i,j)Θ)=lnσ(y^uij(Θ))+λΘΘ2λlnσ(y^uij(Θ+Δadv))(3)
      用SGD方法更新参数: Θ = Θ − η ∂ l A P R ∂ Θ \Theta=\Theta-\eta\frac{\partial l_{APR}}{\partial\Theta} Θ=ΘηΘlAPR

    3. 依次执行1,2;注意:模型参数 Θ \Theta Θ由BPR进行初始化。因为只有当模型过拟合后加干扰才有意义。

  • MF上的APR方法:MF的参数是用户物品的嵌入向量,定义干扰为: y ^ u i ( Θ + Δ ) = ( p u + Δ u ) T ( q i + Δ i ) \hat y_{ui}(\Theta+\Delta)=(p_u+\Delta_u)^T(q_i+\Delta_i) y^ui(Θ+Δ)=(pu+Δu)T(qi+Δi)。进行小批量训练,

  • 数据集:Yelp、Pinterest、Gowalla;

  • 对比方法:ItemPop(基于物品受喜好程度),MF-BPR,CDAE(基于Denoising Auto-Encoder),NeuMF(结合MF和MLP),IRGAN(生成器和判别器进行对抗训练)

  • 评价指标:HR(点击率,基于召回率)、NDCG(位置敏感)

  • 实验结果

在这里插入图片描述

2018-Self-attentive sequential recommendation

引用数:138 来源:2018 IEEE International Conference on Data Mining (ICDM)

  • Sequential dynamics的目的是基于用户历史行为,获得用户行为的上下文信息;主要有Markov Chains (MCs)和RNN;前者利用最近的行为,适合比较稀疏的数据;后者可利用长远的语义,适合比较密集的数据。

  • 本文目标是平衡两者,提出基于自注意力的模型,可获得长的语义,并用注意力机制,基于较少的行为得到预测。

  • Temporal Recommendation对用户行为的时间戳建模;Sequential recommendation对用户行为的顺序建模。

  • 序列推荐模型:FPMC、Caser、GRU4Rec

  • 方法:输入用户行为序列 S u = ( S 1 u … S ∣ S u ∣ − 1 u ) S^u=(S_1^u\dots S_{|S^u|-1}^u) Su=(S1uSSu1u),输出一个平移的序列 ( S 2 u … S ∣ S u ∣ u ) (S_2^u\dots S_{|S^u|}^u) (S2uSSuu)

    • 嵌入层:将训练序列 S u S^u Su变为固定长度的序列 s = ( s 1 , … , s n ) s=(s_1,\dots,s_n) s=(s1,,sn),大于n考虑最近的n个,小于n前面填0。所有物品的嵌入矩阵 M ∈ R ∣ I ∣ × d M\in R^{|I|\times d} MRI×d,输入序列变为 E ∈ R n × d E\in R^{n\times d} ERn×d。添加Positional Embedding: P ∈ R n × d P\in R^{n\times d} PRn×d。输入为 E ^ = E + P \hat E=E+P E^=E+P

    • Self-Attention
      S = S A ( E ^ ) = A t t e n t i o n ( E ^ W Q , E ^ W K , E ^ W V ) = s o f t m a x ( E ^ W Q ( E ^ W K ) T d E ^ W V ) (1) S=SA(\hat E)=Attention(\hat EW^Q,\hat EW^K,\hat EW^V)=softmax(\frac{\hat EW^Q(\hat EW^K)^T}{\sqrt d}\hat EW^V) \tag{1} S=SA(E^)=Attention(E^WQ,E^WK,E^WV)=softmax(d E^WQ(E^WK)TE^WV)(1)
      因为预测t+1时只能考虑前t个的item,而Self-Attention会考虑之后的item,所以需要禁止之后的连接。

    • Point-Wise Feed-Forward Network:考虑不同隐藏层维度间的关系和赋予模型非线性,为每个 S i S_i Si添加两层feed-forward网络(参数共享):
      F i = F F N ( S i ) = R e L U ( S i W ( 1 ) + b ( 1 ) ) W ( 2 ) + b ( 2 ) (2) F_i=FFN(S_i)=ReLU(S_iW^{(1)}+b^{(1)})W^{(2)}+b^{(2)} \tag{2} Fi=FFN(Si)=ReLU(SiW(1)+b(1))W(2)+b(2)(2)

    • Stacking Self-Attention Blocks:由self-attention layer and a feedforward network构成一个基本块,堆叠块以便获得更复杂的item transition。层数越多,会出现过拟合、训练不稳定、更多训练时间等问题,对以上两个网络层进行如下操作:Residual Connections,Layer Normalization,Dropout;g代表网络。在embeding层也使用dropout。
      g ( x ) = x + D r o p o u t ( g ( L a y e r N o r m ( x ) ) ) (3) g(x)=x+Dropout(g(LayerNorm(x))) \tag{3} g(x)=x+Dropout(g(LayerNorm(x)))(3)
      其中 L a y e r N o r m ( x ) = α ⊙ x − μ σ 2 + ϵ + β LayerNorm(x)=\alpha\odot\frac{x-\mu}{\sqrt{\sigma^2+\epsilon}}+\beta LayerNorm(x)=ασ2+ϵ xμ+β μ , σ \mu,\sigma μ,σ是x的均值和方差, α , β \alpha,\beta α,β是学到的参数。

    • Prediction Layer:使用最后一层的 F t ( b ) F_t^{(b)} Ft(b)来预测下一个item。使用MF layer来预测物品的相关性, N ∈ R ∣ I ∣ × d N\in R^{|I|\times d} NRI×d(实际选100个负例和一个正确的item)
      r i , t = F t ( b ) N i T (4) r_{i,t}=F_t^{(b)}N_i^T \tag{4} ri,t=Ft(b)NiT(4)
      对所有物品进行相关性计算,然后排序得到预测列表。为了减少参数和提升性能,使用Shared Item Embedding,即N=M。使用Explicit User Modeling并没有提升效果。

    • Network Training:输入是固定长度的序列s,输出也是固定长度的序列, o t = { < p a d > s t 为pad s t + 1 1 < t < n S ∣ S u ∣ u t = n o_t=\begin{cases}<pad> & {s_t}\text{为pad}\\s_{t+1}& 1<t<n\\S_{|S^u|}^u & t=n\end{cases} ot=<pad>st+1SSuustpad1<t<nt=n。使用binary cross entropy loss作为目标函数:
      − ∑ S u ∈ S ∑ t ∈ [ 1 , … , n ] [ log ⁡ ( σ ( r o t , t ) ) + ∑ j ∉ S u log ⁡ ( 1 − σ ( r j , t ) ) ] (5) -\sum_{S^u\in S}\sum_{t\in[1,\dots,n]}[\log(\sigma(r_{o_t,t}))+\sum_{j\notin S^u}\log(1-\sigma(r_{j,t}))] \tag{5} SuSt[1,,n][log(σ(rot,t))+j/Sulog(1σ(rj,t))](5)
      使用adam进行优化,每一epoch,为每一个序列在每一步随机选取一个负例j。

  • 数据集:Amazon、Steam、MovieLens-1M,将评论或评分视为隐反馈。去掉少于5的用户和物品,最后一个测试集,倒数第二个为验证集,剩下的为训练集。

  • 评价指标:Hit Rate@10 and NDCG@10,

在这里插入图片描述

2019-On the difficulty of evaluating baselines: A study on recommender systems

引用数:13 来源:arXiv preprint arXiv

  • 问题:正确地运行baselines是困难的,过去在Movielens 10M上对比的baseline是次优的,对其进行调整,可以获得更好的效果。所以研究只能和最优的baseline进行比较才有效。
  • 在Movielens 10M上,通过小心地调整,baseline获得了提升,甚至超过了之前的方法。
  • Movielens 10M进行9:1的划分。使用RMSE进行评价。
    • 对于Biased MF, RSVD, ALS-WR, BPMF等baseline:
      • Biased MF, RSVD本质上是同一种方法,差别是配置(超参数、训练集顺序、实现)
      • ALS-WR与上Biased MF, RSVD是不同算法学到的相同模型。
      • BPMF和RSVD,ALS-WR共享模型,但通过一个Gibbs sampler进行学习。
    • 重新运行baseline:
      • 使用SGD学到的MF(类似Biased MF, RSVD),使用Gibbs采样训练Bayesian-MF(类似BPMF),获得了更好的效果。
      • 使用隐反馈和时间影响。如给Bayesian-MF加时间等获得更好的baseline。
  • 在Netflix Prize同样证明了正确运行baseline是困难的。数据集包括训练集、验证集、测试集,通过用户和时间进行划分,如最近的6个作为(前3个)验证集和(后3个)测试集。
    • 标准的MF通过不同的算法获得不同的效果
    • 更好的方法是组合多个模型。
    • 在Netflix Prize上表现好的模型在Movielens 10M也表现好,反之则不一样。
  • 目前可靠实验指标的不足:statistical signi cance, reproducibility or hyperparameter search;因为他们没有说明方法最好时的配置。
  • 提高实验质量:需要社区的努力,标准的baseline和提升baseline的激励。

在这里插入图片描述

  • 附录:
    • 数据集:Movielens 10M使用10折交叉验证(90:10),使用libFM库
    • 考虑的信息:u用户,i电影,t时间,iu隐含用户信息(用户看过的视频集),ii隐含视频信息(看过该视频的所有用户)。
    • Bayesian Learning考虑的超参数:sampling steps的数目和embedding的维数。初始化高斯分布(标准差0.1)。
    • Stochastic Gradient Descent考虑:学习率0.003和正则化参数0.04,训练集取5%作为验证集确定参数,64维。

2019-Kgat: Knowledge graph attention network for recommendation 代码

引用数:93 来源:Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining

  • 问题:assumes each interaction as an independent instance with side information encoded.overlook of the relations among instances or items。do not fully explore the high-order connectivity
  • 方法:take the graph of item side information, aka. knowledge graph。recursive embedding propagation,attention-based aggregation
  • 实现:organize the side information in the form of knowledge graph G 2 G_2 G2,presented as { ( h , r , t ) ∣ h , t ∈ E , r ∈ R } \{(h,r,t)|h,t\in E,r\in R\} {(h,r,t)h,tE,rR}。如(Hugh Jackman, ActorOf, Logan);user-item graph can be seamlessly integrated with KG as a unified graph G G G。任务:given G,output the embedding of user and item,and the probability。
    • Embedding Layer:employ TransR learns embeds each entity and relation by optimizing the translation principl e h r + e r ≈ e t r e_h^r+e_r\approx e_t^r ehr+eretr
    • Attentive Embedding Propagation Layers:Information Propagation,Knowledge-aware Attention,Information Aggregation。
    • High-order Propagation:concatenate the representations at each step into a single vector
    • Model Prediction:conduct inner product of user and item representations。
  • 实验:BPR Loss,数据集:Amazon-book、Last-FM、Yelp2018。

在这里插入图片描述

2019-Neural graph collaborative filtering 代码

引用数:146 来源:Proceedings of the 42nd international ACM SIGIR conference on Research and development in Information Retrieval.

two key components in learnable CF models:embedding;interaction modeling。Learning vector representations (aka. embeddings) of users and items lies at the core of modern recommender systems

  • 问题:the collaborative signal, which is latent in user-item interactions,not encoded in the embedding process。
  • 方法:integrate the user-item interactions —more specifically the bipartite graph structure—into the embedding process。exploits the user-item
    graph structure by propagating embeddings on it。
  • 实现:
    • Embedding Layer:building a parameter matrix as an embedding look-up table。
    • Embedding Propagation Layers:message-passing architecture of GNNs;perform embedding propagation between the connected users and items。Message Construction,Message Aggregation,High-order Propagation。Propagation Rule in Matrix Form。
    • Model Prediction:concatenating the item representations learned by different layers。inner product。
    • Optimization:optimize the pairwise BPR loss。Message and Node Dropout,
  • 讨论:NGCF generalizes SVD++,
  • 数据集:Gowalla、Yelp2018、Amazon-book;

在这里插入图片描述

2020-LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation 代码pytorchtensorflow

引用数:22 来源:(SIGIR ’20)

  • 问题:the reasons of GCN’s effectiveness for recommendation;lacks thorough ablation analyses on GCN。
  • 发现:two most common designs in GCNs:feature transformation and nonlinear activation — contribute little to the performance of collaborative filtering. Even worse。原因:GCN is originally proposed for node classification on attributed graph,in recommendation node is only described by a one-hot ID。
  • 思路:simplify the design of GCN,including only the most essential component in GCN — neighborhood aggregation;

在这里插入图片描述

2020-Disentangled Graph Collaborative Filtering

引用数:2 来源:Proceedings of the 43rd International ACM SIGIR Conference on Research and Development in Information Retrieval

  • 问题:neglecting the diversity of user intents on adopting the items。
  • 方法:disentangle these factors and yield disentangled representations。modeling a distribution over intents for each user-item interaction
  • 具体方法:
    1. 将ID embedding分为K个chunks,每chunk表示一个intent;每个chunk的embedding分别执行随机初始化。
    2. 为每个chunk定义一个score matrices,矩阵里的值表示用户和物品的交互。则对于一个交互(u,i),构成K维的分数向量,都初始化为1;每个chunk的分数矩阵可看作一个图的邻接矩阵。
    3. 所以对于每个intent,包含一个chunk embedding(用户和物品)的集合和图结构(分数矩阵)。在每个intent里,区分每个交互的作用,使用the neighbor routing and embedding propagation mechanisms,定义了graph disentangling layer,收集节点邻域信息(与图的intent信息相关),
    4. 对于每个交互(u,i)的分数向量,通过softmax 标准化,表示在解释这个交互时,哪种intent值得注意。对于每个chunk得到新的分数矩阵(图),

在这里插入图片描述

2020-JIT2R: A Joint Framework for Item Tagging and Tag-based Recommendation

引用数:1 来源:Proceedings of the 43rd International ACM SIGIR Conference on Research and Development in Information Retrieval

Predicting tags for a given item and leveraging tags to assist item recommendation

  • Previous studies mostly focus only one of them to make contributions.
  • these tasks are inherently correlated with each other
  • 方法:tagging function G: r ^ i = h ( G ( c i ) ) \hat r_i=h(G(c_i)) r^i=h(G(ci)),predictive function F: y ^ u i = F ( u , i , t i ) \hat y_{ui}=F(u,i,t_i) y^ui=F(u,i,ti)
    • input the item feature into a framework G, and output the probability of each tag through a SOFTMAX layer。
    • assign t i t_i ti as the predicted value from G for untagged items。user-item interaction signals are back propagated through
      r ^ i \hat r_i r^i to supervise model G,
    • The Bootstrapping Technique:iteratively label the likely item-tag pairs as training data;pre-defined confidence-level f in r ^ i \hat r_i r^i。(initial training epochs should be excluded in s’s updating process;previously labeled items are allowed to be re-labeled in the later optimization process)
  • 实验:CiteULike dataset;7288 authors’ 160272 citations on 8212 papers

在这里插入图片描述

2020-" Click" Is Not Equal to" Like": Counterfactual Recommendation for Mitigating Clickbait Issue

引用数:0 来源:

there is a significant gap between clicks and user satisfaction

  • a causal graph that reflects the cause effect factors in recommendation;counterfactual world where each item has only exposure features(the features that the user can see before making a click decision)。

  • 推荐定义: Y u , i = s θ ( u , i ) Y_{u,i}=s_{\theta}(u,i) Yu,i=sθ(u,i) D ˉ = { ( u , i , y ˉ u , i ) } \bar D=\{(u,i,\bar y_{u,i})\} Dˉ={(u,i,yˉu,i)} θ ˉ = arg ⁡ min ⁡ L ( D ˉ ∣ θ ) = arg ⁡ min ⁡ ∑ D ˉ l ( s θ ( u , i ) , y ˉ u , i ) \bar \theta=\arg\min L(\bar D|\theta)=\arg\min\sum_{\bar D}l(s_{\theta}(u,i),\bar y_{u,i}) θˉ=argminL(Dˉθ)=argminDˉl(sθ(u,i),yˉu,i)

  • 思路:distinguish the effects of exposure features (pre-click) and content features (post-click) on the prediction;estimate the direct effect of exposure features on the prediction score in a counterfactual world,During inference, we remove this direct effect from the prediction in the factual world;causal effect of X on Y is the magnitude by which Y is changed by a unit change in X.
    factual world : Y u , i , e = Y ( U = u , I = i , E = e ) , i = I ( E = e , T = t ) total effect : T E = Y i , e ( u ) − Y i ∗ , e ∗ ( u ) natural direct effect : N D E = Y i ∗ , e ( u ) − Y i ∗ , e ∗ ( u ) total indirect effect : T I E = T E − N D E = Y i , e ( u ) − Y i ∗ , e ( u ) \text{factual world}: Y_{u,i,e}=Y(U=u,I=i,E=e),i=I(E=e,T=t) \\ \text{total effect}: TE=Y_{i,e}(u)-Y_{i*,e*}(u) \\ \text{natural direct effect}:NDE=Y_{i*,e}(u)-Y_{i*,e*}(u) \\ \text{total indirect effect}:TIE=TE-NDE=Y_{i,e}(u)-Y_{i*,e}(u) factual world:Yu,i,e=Y(U=u,I=i,E=e),i=I(E=e,T=t)total effect:TE=Yi,e(u)Yi,e(u)natural direct effect:NDE=Yi,e(u)Yi,e(u)total indirect effect:TIE=TENDE=Yi,e(u)Yi,e(u)
    Ranking items according to the TIE will resolve the direct effect of exposure features

  • 实现:Aiming to keep generality and leverage the advantages of existing models, the scoring function is implemented in a late-fusion manner。

    • Fusion strategy: Y u , i , e = Y ( U = u , I = i , E = e ) = f ( Y u , i , Y u , e ) = Y u , i ∗ σ ( Y u , e ) Y_{u,i,e}=Y(U=u,I=i,E=e)=f(Y_{u,i},Y_{u,e})=Y_{u,i}*\sigma(Y_{u,e}) Yu,i,e=Y(U=u,I=i,E=e)=f(Yu,i,Yu,e)=Yu,iσ(Yu,e)
    • Recommender training: L = ∑ D ˉ l ( Y u , i , e , y ˉ u , i ) + α ∗ l ( Y u , e , y ˉ u , i ) L=\sum_{\bar D}l(Y_{u,i,e},\bar y_{u,i})+\alpha*l(Y_{u,e},\bar y_{u,i}) L=Dˉl(Yu,i,e,yˉu,i)+αl(Yu,e,yˉu,i)
    • Inference via TIE: Y i ∗ , e ( u ) = f ( c u , i , Y u , e ) Y_{i*,e}(u)=f(c_{u,i},Y_{u,e}) Yi,e(u)=f(cu,i,Yu,e) c u , i = 1 ∣ I ∣ ∑ Y u , i c_{u,i}=\frac{1}{|I|}\sum Y_{u,i} cu,i=I1Yu,i T I E = ( Y u , i − c u , i ) ∗ σ ( Y u , e ) TIE=(Y_{u,i}-c_{u,i})*\sigma(Y_{u,e}) TIE=(Yu,icu,i)σ(Yu,e)
  • 对比方法:MMGCN;NT:以click进行训练;CFT:以content特征进行训练;IPW:减去item popularity;CT:以like进行训练;NR:给未click和dislike的item不同权重;RR:在NT的基础上根据like/click重新排序。only clicks with positive post-click feedback such as thumbs-up, favorite, and finishing are used for testing.

在这里插入图片描述

2020-Graph-Refined Convolutional Network for Multimedia Recommendation with Implicit Feedback

引用数: 来源:Proceedings of the 28th ACM International Conference on Multimedia.

  • 问题:observed interactions with less interested items occur in implicit feedback 。解决方法:adaptively refining the structure of interaction graph to discover and prune potential false-positive edges——a graph refining layer。
  • 方法:
    • Graph Refining Layer:假设:the content of item belonging to false-positive interaction is far from the user preference。use Prototypical Network to learn user preference to the content information。prune the noisy edges according to the confidence of edges being the false-positive interactions。
      • Prototypical Network:content signal of item is projected into a metric space to distill the informative features related to the user preference
      • neighbor routing mechanism:Given a user, with the iterative routing operations, her/his representation is adjusted by jointly analyzing her/his similarities to its neighbors.
    • Pruning Operations:score the affinity between user preference and item content,integrate the scores of each edge in multiple modalities to yield the weight and assign it to the edge;calculate the relative distances between them in two directions
    • Graph Convolutional Layer:treat the graph convolutional operations as the message passing and aggregation
    • Prediction Layer:users have varying preferences in different modalities;concatenate the multimodal features and the enriched ID embedding。inner product between user and item representations。
    • Optimization:conduct the pair-wise ranking BPR.
  • 实验:数据集:Movielens、Tiktok、Tiktok

2020-Personalized Item Recommendation for Second-hand Trading Platform

引用数: 来源:Proceedings of the 28th ACM International Conference on Multimedia

  • 特征:consisting of sufficient interactions per user but rare interactions per item;items in the secondhand trading platform are usually unique,
  • 解决方法:coarse-grained and fine-grained features, and a multi-task learning strategy。category hierarchy information is able to learn more robust visual representations of items。
  • 方法:what s/he actually needs determines the coarse-grained of items (e.g., type, etc.) s/he will interact with. Meanwhile, the fine-grained characteristics (e.g., appearance, condition, etc.) of those items will influence which specific items of in the same type s/he will prefer.
    • Item latent representation learning:learn the relationships between adjacent hierarchical categories
    • User latent representation learning:learn an embedding vector to model each user’s preference on each hierarchical category
    • Multi-task Learning for Item Recommendation:
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值