(论文阅读笔记1)Collaborative Metric Learning(一)(WWW2017)

来源:互联网 发布:机房网络搭建 编辑:程序博客网 时间:2024/04/28 15:39

一、摘要

    度量学习算法产生的距离度量捕获数据之间的重要关系。这里,我们将度量学习和协同过滤联系起来,提出了协同度量学习(CML),它可以学习出一个共同的度量空间来编码用户偏好和user-user 和 item-item的相似度。

二、背景

2.1 Metric Learning

     令χ={x1,x2,,xn}是空间Rm上的一个数据集。
相似对记为:

S={(xi,xj)|xixj}

非相似对记为:
D={(xi,xj)|xixj}

最普通的度量学习方法采用的是马氏距离度量:

dA(xi,xj)=(xixj)TA(xixj)

其中A是空间Rm×m上的半正定矩阵。这个式子将输入x映射到空间Rm上,且满足一些期望的限制。有很多方法来创建这样一个距离,最常用的方法是全局法,来解决如下凸优化问题:
minA(xi,xj)SdA(xi,xj)2st.(xi,xj)DdA(xi,xj)21andA0

还有其他一些方法,比如非线性转换函数,比如核函数和神经网络,可以提高度量的准确性。

2.2 Metric Learning for kNN

     上边的全局优化本质上式试图学习一种距离:它将相似的放在一起,将不相似的尽量分开。另一方面,如果学习到的度量被用作knn分类,只要保证目标与k个近邻共享一个类标就足够了。
     具体来说,给定一个输入x,我们把离x近的数据点作为它的target neighbors。并且假设x的target neighbors构建了不同类标之间的边界。不同类标的输入侵入边界被作为importors。这里,学习的目标就是最小化importors的个数。
     一种为人知模型是LMNN,它使用2个损失函数来表达上述目标函数。
1. LMNN定义了pull loss:

Lpull(d)=jid(xi,xj)2

其中,ji的target neighbor。
2. push loss:
Lpush(d)=i,jik(1yik)[1+d(xi,xj)2d(xi,xk)2]+

其中,如果ik拥有同一个类标,则yik=1,否则, yik=0[z]+=max(z,0).完整的损失函数是结合上述两个损失函数, 可以通过半正定编程来进行优化。

2.3 Collaborative Filtering

     这里重点关注隐性反馈的CF,传统的CF算法是基于用户相似计算出的。MF是一种流行的CF算法,普通的MF模型设计为用户的显性反馈,它是通过将users 和items映射到潜在因子空间上,那么user-item的关系可以通过潜在因子的乘积获得。
rij记为用户i对itemj的打分,用户向量uiRr和item向量vjRr,它们的乘积为uiTvj,这个式子让最优化问题变为最小化集合上的均方误差:

minu,vrijK(rijuiTvj)2+λu||ui||2+λv||vi||2

其中, K是分数集合,λu,λvL2正则化的超参数。

隐性反馈(Implicit feedback)和贝叶斯个性(Bayesian personalized ranking)化排序略过,感兴趣的可以自己查询资料。

原创粉丝点击