美文网首页
论文学习:Metric Factorization:Recomm

论文学习:Metric Factorization:Recomm

作者: python小白22 | 来源:发表于2020-08-21 16:24 被阅读0次

一.概要

本文为了缓解矩阵分解存在的问题,提出了一种新技术叫做度量因子分解。本文共分为九节,第一节简要介绍了度量因子分解;第二节对与度量因子分解相关的研究进行了简要回顾;第三节描述了研究问题,并讨论了矩阵分解的局限性;第四节介绍了度量因子分解的基本概念;第五到七节介绍了如何分别通过度量因子分解进行评级预测和项目排名;第八节通过对真实数据集的大量实验证明了模型的有效性;第九节做出了总结与展望。

二.相关研究

矩阵分解是用于项目推荐的最有效方法之一。基于矩阵分解的两个经典的top-N推荐模型是:贝叶斯个性化排名(BPR)和加权正则化矩阵分解(WRMF)。但尽管矩阵分解很成功,点积还是限制了它的功能。具体的矩阵分解模型介绍及其改进方法在此不再赘述,可参考原文链接

三.度量因子分解简介

在矩阵分解中点积限制了它的表达,点积关心两个向量的大小和角度。在某种程度上,它衡量的是两个向量在大小和角度方面的相似性而不是距离。而度量因子分解是用欧氏距离代替矩阵分解的点积,从位置和距离的角度考虑推荐问题,适用于评级预测和项目排名。它将交互矩阵分解为用户和项目密集嵌入,并根据估计的距离提出建议。在大范围的大规模数据集上进行的大量实验表明,该模型在评级估计和项目排名任务方面都优于最先进的模型。

四.度量因子分解的基本概念

为了解决矩阵分解的缺点并利用位置和距离的影响,本文提出了一种新的推荐模型,即度量因子分解。不同于将用户和项目视为新空间中的向量的矩阵分解,度量分解将用户和项目视为低维坐标系中的点,它们之间的关系用欧几里得距离表示。顾名思义,度量分解将用户和项目之间的距离分解到其位置。
但是,由于距离和相似度是两个相反的概念,所以需要将用户偏好转换为距离,要把评分矩阵R转化成距离矩阵Y。距离矩阵通过以下方程得到: Distance(u,i)=Max\ Similarity-Similarity(u,i)\quad(1) 在欧几里德空间R^k中,两点之间的距离通常由欧几里德距离(或2范数距离)测量:D(u,i)=||u-i||_2=(\sum_{i=1}^{k}{|u_i-i_i|^2})^{\frac{1}{2}}\quad(2) 在实际应用中,为了避免计算平方根的麻烦,通常采用平方欧几里得距离。 假设用户的和项目的位置在度量向量空间表示成P_u\in R^kQ_i\in R^k,我们用平方欧式距离来测量用户和项目之间的距离:D(u,i)=||P_u-Q_i||^2_2\quad(3) 在实际的推荐应用程序中,只有距离矩阵的某些项是已知的。度量分解的目标是在给定部分观察到的距离矩阵的情况下,了解用户和商品的位置:f(P_u,Q_i|Y)\quad(4) 度量分解的大致过程为:首先,用等式(1)从偏好矩阵中得到矩阵的距离,然后将距离矩阵分解并了解用户和商品的位置。之后,如果需要,可以很容易地恢复偏好矩阵的每个条目并提出建议。

五.度量分解用于评分预测

基本模型

首先,使用以下等式将评级矩阵R转换为距离度量:Y_{ui}=R^{max}-R_{ui}\quad (5) 其中R_{max}是可能的最高评分。
之后,需要选择损失函数,采用广泛使用的平方损失法,通过最小化以下损失来了解用户和项目位置:L(P,Q)=\sum_{(u,i)\in K}{(Y_{ui}-||P_u-Q_i||_2^2)^2}\quad(6) 该模型与基本矩阵分解密切相关,唯一的区别是用欧几里得距离代替了点积。

加入偏差和置信机制

上面的基本模型仅考虑用户和项目的交互。但是,用户或项目的个人影响也很重要。所以在这里整合了用户和项目的全局偏重。用户与物品间的距离公式如下:\hat{Y}=||P_u-Q_i||_2^2+b_u+b_i+\mu\quad(7) 其中,\hat{Y}表示预测距离。b_u是用户u的偏差项;b_i是项目i的偏差项;\mu是全局偏差。
很多评分预测方法忽略了评分的噪声,有些评分并不是真实值,例如有些人在不同时间对同一物品的打分可能不同。已有研究发现,较极端的打分(如1,5)比较中性的打分更可信。为了缓解此问题,我们建议为每个评分得分添加一个置信度值c_{ui}并将损失函数修改为:L=\sum_{(u,i)\in K}{c_{ui}(Y_{ui}-(||P_u-Q_i||_2^2+b_u+b_i+\mu))}\quad(8) 这个机制使得较极端的打分获得较高的置信值:c_{ui}=1+\alpha*g(R_{ui}-\frac{R^{max}}{2})\quad(9)

正则化

Norm Clippingl_2范数正则化会将用户和项目推向原点附近,因此本文放宽正则化的要求并在在每次迭代中更新参数时执行此操作:||P_u||_2\leq l,||Q_i||_2\leq l\quad(10) Dropout:为了防止维度间的过拟合,建议随机丢弃一些维度并计算剩下维度形成的总距离:

(11)

六.度量分解用于项目排名

首先,需要将相似度转换为距离,使用以下方程式进行转换:Y_{ui}=a*(1-R_{ui})+z*R_{ui} a和z这两个超参数使得控制用户和项目之间的距离变得灵活,设置a和z的值时,需要确保不等式:a> z,以使用户与未交互项之间的距离大于用户与交互项之间的距离。通常将z设为0,由于R_{ui}等于“1”或“0”,所有<user,positive item>(或<user,negative item>)具有相同的距离。
为了从隐式反馈中学习到用户和项目的位置,我们采用point-wise的方法最小化加权平方损失:L(P,Q)=\sum_{(u,i)\in R}{c_{ui}(Y_{ui}-||P_u-Q_i||_2^2)^2},s.t.||P_u||_2\leq l,||Q_i||_2\leq l c_{ui}也是一个置信度值,在这里它被用来对隐式反馈建模,并定义为:c_{ui}=1+\alpha\omega_{ui} 其中\omega_{ui}表示观察到的隐式反馈,但是数据集中一般没有这个属性,所以用R_{ui}(0或1)代替。对于正则化,采用的方法与上述评级预测中的方法相同。
该模型不仅可以迫使用户及其喜欢的物品靠近,而且采用了逐点训练方案,也可以将不喜欢的物品推开。与大多数基于度量学习的模型不同,这种模型将冒名顶替者强制限制在用户区域之外,这种方法中的信任机制提供了负项目进入用户领域的可能性,这有利于推荐任务,因为它可以作为筛选推荐负面项目的过滤器。我们的模型的另一个重要特点是它可以间接地将共享大量项目的用户聚集在一起。这种特性使我们能够捕捉邻里之间的关系,这些关系对于商品推荐也很重要。

七.优化和学习过程

采用Adagrad调参,特点是根据更新频率使步长适应参数。度量分解的学习过程如下:


对评分预测任务来说:获得Y_{u,i}后,通过\hat{R}_{ui}=R^{max}-\hat{Y}_{ui} 计算出预测的评分;
对物品推荐任务来说:直接推荐\hat{Y}_{ui}最小的top-N个物品就好;
评分预测任务的模型复杂度:O(K|k)
物品推荐任务的模型复杂度:O(|R|k)

相关文章

网友评论

      本文标题:论文学习:Metric Factorization:Recomm

      本文链接:https://www.haomeiwen.com/subject/zdfejktx.html