推荐冷启动-From Zero-Shot Learning to Cold-Start Recommendation翻译与解析

原文链接: https://arxiv.org/pdf/1906.08511.pdf

本文主要是翻译了零样本学习在推荐冷启动中使用,在其中增加了部分个人说明,小编翻译论文仅为学习,如有侵权请联系小编删除博文,谢谢!
概要:
零样本学习与推荐冷启动在计算机视觉、推荐系统中是两大难题,一般说,这两个问题在不同社区研究中,是各自研究的。在这篇论文中,把零样本学习与冷启动作为同一个问题的两个扩展问题来看待。比如,他们都在试图对未知的分类进行预测,他们涉及两个领域,一个用于特征表示,一个用于描述的补充。然而目前还是没有从零样本学习角度去解决冷启动推荐的方法。本论文是第一次阐述了,推荐冷启动问题是一个零样本学习的问题并提出了一个自定义的零样本学习方法去处理冷启动问题。我们提出一个低秩线性自编码器((LLAE)它挑战三大难题,即:域迁移、虚假相关和计算效率。在这篇论文中,LLAE由两部分组成,一个是用低秩编码器将用户行为映射到用户属性。一个是解码器,从用户属性中重构用户行为。在零样本学习与冷启动的大量实验中验证了该方法是一个双赢的方法。与传统几种比较先进的方法对比,零样本学习能够显著提高冷启动的性能,同时冷启动也能够增强零样本学习。
介绍:
从一个海量库存的系统中,推荐系统基于用户当前上下文信息以及过去的行为给用户推荐可能喜欢的商品。如果一个用户的过去行为用不起来,或者他就是一个新用户。对于大多数的推荐系统,特别是那些基于协调过滤的主流推荐系统就傻眼了。所以大家提出了各种不同的方法来解决这个问题,这就是众所周知的冷启动推荐(CSR)问题。最近像类似的跨域信息、个人信息以及社交网络数据会被用来提升CSR问题。
推荐冷启动-From Zero-Shot Learning to Cold-Start Recommendation翻译与解析_第1张图片
图片1:冷启动与零样本学习说明。
现有冷启动方法,是利用用户偏好为新用户生成推荐,在冷启动推荐中,使用用户偏好,我们会有两个维度,一个是用户属性(用户偏好与用户信息),一个是用户行为(购买行为与过去的互动信息)。属性维度用户去描述用户的兴趣,行为维度用户表示用户在目标系统中的交互。因此冷启动推荐可以定义为为新用户进行推荐的问题,在这个问题中,用户行为信息是没有的,我们只有用户的部分属性信息。我们假设有相同兴趣(属性维度)的人,在消费上的行为是相似的,那么冷启动问题就可以分下面两个步骤去处理:
1:把用户行为属性映射到属性空间中,这样就能把新用户与老用户关联起来。
2:根据用户属性重构用户行为,这样我们就可以给新用户进行推荐了。
这是一个零样本学习的特例。
从图1中我们可以看出,零样本与冷启动推荐是一个相同概念的两个扩展,它们都包含两个空间:一个是特征的表示,一个是描述的补充。它们都试图利用可见与不可见的描述空间来预测特征空间中不可见的情况。首次提出使用零样本学习方法解决冷启动问题。
将冷启动定义为零样本学习问题,在本文中我们挑战了三个难题:
第一个是领域转移问题。不仅用户行为空间与属性空间是异构的,而且老用户与新用户的概率分布也是发散的。因此,我们必须保证用户行为是可以通过用户属性进行重构的。
第二个难题是在冷启动推荐中的用户行为与计算机视觉任务中的零样本学习是不同的,它非常的稀疏。在现实零售巨头比如亚马逊,他有上亿的用户与更加丰富的商品,对于一个特定的用户,在系统中只有很少的交互行为,与商品项之间的交互可能会更少。因此用户-商品的矩阵会非常的稀疏。
最后一个难题是效率问题,推荐系统是一个在线系统,用户来不及等待。
在技术上,我们提出一个新的零样本学习(ZSL)来解决冷启动(CRS)问题,名字叫低秩线性自动编码器(LLAE),这个是基于encoder-decoder模式。LLAE是由一个编码器组成,它将用户行为空间映射到了用户属性空间。同时他还有一个解码器,这个解码器通过用户的属性空间重构用户行为。重构部分保证可以从用户属性生成用户行为,这样就用户行为与用户属性之间的领域迁移问题就会被降低。由于效率问题我们把LLAE表示成线性模型。模型计算量与样本数无关,因此它可以用来处理大规模数据集。此外还部署了一个低秩约束来处理稀疏问题。低秩表示已经被证明从损坏的观测数据中揭示真实数据的问题是有效的。一个行为可能与多个属性相关联,关联的这些属性也有不同的权重,有些属性则非常简单。如果我们把所有属性都考虑进去了,可能会削弱主因素带来的影响,引入过度拟合,降低泛化能力。低秩约束由于其数学上的特性,能够找出主导因素,过滤掉噪点联系,换句话说,就是防止了那些虚假关联因素。低秩约束还可以从域适应的角度上来对齐域转移。总之,本文贡献如下:
1:首次把零样本学习与冷启动关联起来。
2:创新提出LLAE模型,效率高,能处理大规模数据。
3:大量数据实验证明了,找个方法有效性。
相关工作:
零样本学习:
传统的视觉识别算法的假设是,测试类的实例要包含在训练集中,所以可以通过训练样本识别其他测试实例。对于大规模数据集,为新对象或者稀有对象收集数据集是非常困难的事情,那么我们是否能像人类一样,用一些语义描述来识别未知物体。因此,零样本学习被提出,通常情况下,零样本学习算法学习了一个将视觉空间映射到语义空间的投影,或者反过来学。基于不同的投影策略提出了不同的模型。总的来说,现在零样本学习被分为三类:
1:学习从视觉空间到语义空间的映射函数。
2:学习从语义空间到视觉空间的映射函数。
3:学习由视觉域与语义域共享的潜在空间。
推荐冷启动:
在解决用户冷启动推荐问题中,我们重点研究利用用户属性,个人信息与社交网络数据等周边信息来解决冷启动问题的模型。这些模型大致可以分为三类:
1:基于相似性模型
2:基于矩阵分解模型
3:特征映射模型
矩阵分解模型通常通过下面这个优化目标将一个关系矩阵分解为两个潜在的表示,优化目标如下:
在这里插入图片描述

其中Ω是正则化,用来避免过度拟合。对于冷启动问题,可以通过周边信息学习到共享的U与V,然后用这俩去预测Y。简单的说Y可能是一个用户与商品的行为矩阵。U是用户潜在特征,V是商品潜在特征。
推荐冷启动-From Zero-Shot Learning to Cold-Start Recommendation翻译与解析_第2张图片
表格1:符号及相应的描述,其中n,d,k表示行为空间、属性空间的样本数和向量维数。r是矩阵的秩。
特征映射模型通常学习侧信息与潜在特征表示之间的特征映射。矩阵分解模型与特征映射模型之间的不同在于矩阵分解模型中共享的U是由Y与侧信息共同学习到的。而在特征映射模型中,需要学习一个额外的特征映射,通过共享的特征映射进一步学习不同的Us与Ut。
问题公式化:
标记说明:
在这篇论文中,我们使用黑体小写字母表示向量,用黑体大写字母表示矩阵,对于矩阵M,他的Frobenius norm被定义为: 在这里插入图片描述在这里插入图片描述,其中 在这里插入图片描述是M矩阵的第i个奇异值。矩阵M的迹用tr(M)来表示。更详细符号看表1.
线性低秩去燥自动编码器:
给定一个输入数据矩阵X,假设我们可以学习到一个映射W,它能将矩阵X投影到一个潜在的空间S中。另外一个映射M,它能够从空间S中重构X。作为一个优化问题,我们的目标就是最小化重构误差。因此目标函数如下:
在这里插入图片描述
通常情况下,潜在空间都是用隐藏层来表示,考虑效率与可解释性,我们只在模型中部署一个隐藏层S,在这个文章中,S有明确的定义,在零样本学习ZSL中表示语义空间,在冷启动推荐CSR中表示用户侧信息。最近捆绑权重tied weights被引入到自编码器中,可以加快模型训练,减少模型参数。在这个文章中,假设将捆绑权重M =在这里插入图片描述 。我们将公示2变为如下图:
在这里插入图片描述
详细图解:
推荐冷启动-From Zero-Shot Learning to Cold-Start Recommendation翻译与解析_第3张图片
该图是LLAE一个简单说明,首先我们学习一个低秩编码器,我们把用户行为映射到用户属性。然后利用新用户的属性重构用户行为。为了提高效率,编码器与解码器的参数权重是对称的这里就是利用了tied weights算法,注意:编码器可以保证热用户与冷用户在属性空间中能够比较,重构阶段基于用户属性重构用户行为。
我们知道,在真实推荐系统中我们面临的挑战是要处理高维的稀疏矩阵。因为有数百万商品、用户,对于一个用户只会与很少的商品发生交互。为了避免由于映射矩阵带来的伪相关,W矩阵应该是一个低秩的,所以我们得到下面公式:
在这里插入图片描述
其中rank(•)是矩阵秩的运算操作,其中, β > 0是一个惩罚参数,值得注意的是,W上的秩约束至少从两个方面来说对模型都是有益的。
1:过滤从行为空间到属性空间映射的虚假关联。
2:它能够凸显不同用户之间共享属性。
对于一个特定属性的例子,比如:篮球迷,这个属性是不同年龄用户共有的属性。那么在W上的低秩约束就能够识别出这些常见的属性。
在一些冷启动任务中,这两个空间可能不怎么相关,矩阵低秩约束能够忙住找出相对来说更加相关的部分。在重构阶段更加关键,因为如果没有重构约束的话,映射可能是不准确的。重构部分有效的解决了域转移的问题。尽管用户的行为可能会从温用户变成冷用户,但是对从属性到行为的更真实的重构中的特征是能够在温域与冷域中概括出来的。从而使学习到的功能不容易受到领域迁移而影响的。
对于W的低秩约束使得优化变得困难,因为低秩是众所周知的NP难度问题。作为一个替代的方法,迹范数在这里插入图片描述 被广泛用于以前的工作中用于鼓励低秩性。尽管迹范数控制矩阵的单个值。但是单个值的变化不总是导致秩的变化。受近期工作启发,这里建议使用一个显示形式的低秩约束,如下:
在这里插入图片描述
其中在这里插入图片描述 是W的第i个奇异值。d是W所有奇异值的数量。不同于迹范数,在这里插入图片描述 明确解决了映射W矩阵的r-smallest奇异值的平方和最小化问题。由于在这里插入图片描述 tr(•)是矩阵迹的计算方式。V是由它对应的 在这里插入图片描述矩阵的(d-r)个最小奇异值的奇异向量组成。因此目标函数可以写成:
在这里插入图片描述
在最后,为了学习到更加健壮的隐藏层,这里通过引入噪点数据的输入训练了一个去燥的自动编码器。这里把输入的X中10%的值设置为0.得到一个带有噪点的样本 在这里插入图片描述,这个时候优化的最终目标如下:注意,带噪音的 在这里插入图片描述是在约束项中的。
在这里插入图片描述
问题优化:
为了优化上面那个公式,我们把首先把他改写成如下形式:在这里插入图片描述
就是把S带进公式里了。S就是编码后的属性空间。
但是上面带约束的公式优化起来比较困难,这里我放宽约束,可以把公式改成下面这样:
在这里插入图片描述
中间引入了一个在这里插入图片描述 ,想象一下,如果里面两个相等,那么这个值就是0,就跟公式9是一样的。
其中λ > 0,这个是一个惩罚项参数,这样我们得到的公式10就是一个具有全局最优解的凸优化问题。下面我们就计算公式10关于W的导数,我们知道在导数等于0的时候取最优值,所以我们求得公式10关于W的导数后,另期值为0.得到公式如下:
这里我简单加一个步骤:
在这里插入图片描述
具体推导如下:
推荐冷启动-From Zero-Shot Learning to Cold-Start Recommendation翻译与解析_第4张图片
最终得到公式:在这里插入图片描述
值得注意的是,W的优化涉及到V,这里优化选择交替更新方式,我们首先将V看成常数,计算关于W的导数。将值设置为0,就是公式11.然后我们根据公式 在这里插入图片描述去更新V。最后做个简单的替换,如下:
在这里插入图片描述
那么公式11就可以被写成:
AW + WB = C, (公式13)
Sylvester2可以有效的解决上面公式,这个函数在matlab中只需要一行代码。
W = sylvester(A, B, C)
下面是一个计算的伪代码:
推荐冷启动-From Zero-Shot Learning to Cold-Start Recommendation翻译与解析_第5张图片
看,这个实现很简单。
复杂度分析:
该算法的计算量有两部分组成:
1:W的优化 2:更新V 这两个操作的复杂度都是在这里插入图片描述 。如果直接计算在这里插入图片描述 ,而不是V
,那么第二部分的计算将会被降低到在这里插入图片描述 (r 远小于d, 其中d是W的秩)。在任何情况下,这个算法只与向量维度相关,与样本数量无关,所以可以用户大规模计算。

零样本分类:
给定训练数据X与语义表示的S,我们可以根据公式13学习到一个编码的W与一个解码的在这里插入图片描述 。对于新的测试样本集Xnew,我们可以用W将他嵌入到语义空间Snew = WXnew。这样Xnew的标签就可以通过计算Snew与Sproto之间的距离得到。Sproto是语义空间中的原型(其实你简单的理解X就是图片提取的一堆特征那么Sproto就是之前的语义上的一堆描述与描述对应的lable)。
在这里插入图片描述
f是一个分类器,它可以返回Xnew的标签,dis是一个度量距离的方法。

推荐冷启动:
假设我们用X表示用户的行为,即:用户浏览、购买、分享行为,这个通常是一个用户-商品矩阵。S是用户属性,例如用户的偏好、个人信息和社交网络数据。我们可以根据公式13学习到一个编码的W与一个解码的 在这里插入图片描述,对于一个新用户,冷启动推荐的目标是学习到一个Xnew,这个Xnew是用户与商品之间的一个潜在关系,可以通过下面计算得到:
在这里插入图片描述
最后这个推荐问题被转化为一个多目标分类问题,具体的说,就是可以使用逻辑回归函数去预测商品被推荐的概率,从中推荐出TOP-K个商品出来。

你可能感兴趣的:(推荐)