您的位置:首页 > 其它

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

2017-07-31 22:38 459 查看

一、摘要

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

二、背景

2.1 Metric Learning

令χ={x1,x2,…,xn}是空间Rm上的一个数据集。

相似对记为:

S={(xi,xj)|xi和xj被认为是相似的}

非相似对记为:

D={(xi,xj)|xi和xj被认为是不相似的}

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

dA(xi,xj)=(xi−xj)TA(xi−xj)−−−−−−−−−−−−−−−−√

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

minA∑(xi,xj)∈SdA(xi,xj)2st.∑(xi,xj)∈DdA(xi,xj)2≥1andA≥0

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

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)=∑j→id(xi,xj)2

其中,j是i的target neighbor。

2. push loss:

Lpush(d)=∑i,j→i∑k(1−yik)[1+d(xi,xj)2−d(xi,xk)2]+

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

2.3 Collaborative Filtering

这里重点关注隐性反馈的CF,传统的CF算法是基于用户相似计算出的。MF是一种流行的CF算法,普通的MF模型设计为用户的显性反馈,它是通过将users 和items映射到潜在因子空间上,那么user-item的关系可以通过潜在因子的乘积获得。

rij记为用户i对itemj的打分,用户向量ui→∈Rr和item向量vj→∈Rr,它们的乘积为ui→Tvj→,这个式子让最优化问题变为最小化集合上的均方误差:

minu∗,v∗∑rij∈K(rij−ui→Tvj→)2+λu||ui→||2+λv||vi→||2

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

隐性反馈(Implicit feedback)和贝叶斯个性(Bayesian personalized ranking)化排序略过,感兴趣的可以自己查询资料。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  推荐 度量学习
相关文章推荐