限制玻尔兹曼机的协作过滤外文翻译资料
2022-08-05 15:05:23
英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料
0
限制玻尔兹曼机的协作过滤
Ruslan Salakhutdinov rsalakhu@cs.多伦多.伊杜
安德里·米尼 amnih@cs.多伦多.伊杜
杰弗里·辛顿 辛顿@cs.多伦多.伊杜
多伦多大学,国王学院路,多伦多,安大略省M5S3G4,加拿大
摘要
现有的大多数协同过滤方法都不能处理非常大的数据集。在本文中,我们展示了一类被称为受限玻尔兹曼机(RBM)的两层无向图模型如何被用于为表格数据建模,例如用户对电影的评级。我们为这类模型提供了高效的学习和推理过程,并证明RBM可以成功地应用于Netflix数据集,该数据集包含超过1亿的用户/电影评级。我们还表明,RBM的性能略优于仔细调整的SVD模型。当多个RBM模型和多个SVD模型的预测进行线性组合时,我们的错误率比Netflix自己的系统的分数高出6%以上。
1.1导言
协作过滤的一种常见方法是将低维特征向量分配给每个用户,将低维特征向量标记给每个电影,以便每个用户分配给每个电影的等级由标量积来模型化。这意味着,N个用户分配给M部电影的Ntimes;M个评分矩阵是由矩阵X建模的,该矩阵X是行为用户特征向量的Ntimes;C矩阵U与Ctimes;M矩阵V′的乘积。其中Ctimes;M矩阵V′的列是电影特征向量。 X的等级为C –分配给每个用户或电影的功能数量。
利用奇异值分解(SVD)可以得到基于最小和平方距离的低秩近似。然而,在协同过滤领域,大多数数据集都是稀疏的,正如Srebro和Jaakkola(2003)所示,这造成了一个困难的非凸问题,因此简单的解决方案是行不通的。1在本文中,我们描述了一类两层无向图形模型,这些模型将受限玻尔兹曼机推广到对表格或计数数据的建模(Welling等,2005)。最大似然学习在这些模型中是棘手的,但我们表明,学习可以通过遵循一个被称为“对比分歧”的不同目标函数的梯度近似来有效地执行(Hinton, 2002)。
2 受限玻尔兹曼机(RBM)
假设我们有M部电影,N个用户,以及从1到k的整数评分值。将RBM应用于电影评级的第一个问题是如何有效地处理缺失的评级。如果所有N个用户对同一组M部电影进行评级,我们可以将每个用户视为一个RBM的单一训练案例,该RBM有M个“softmax”可见单位对称连接到一组二进制隐藏单位。然后,每个隐藏单元可以学习建模不同电影评级之间的显著依赖关系。当大部分的评级失踪时,我们为每个用户使用不同的RBM(见图1)。每一个RBM都有相同数量的隐藏的单位,但是RBM对于该用户的分级电影只有可见的softmax单元,因此如果该用户分级的电影很少,RBM就很少有连接。每一个成果管理制只有一个培训案例,但所有相应的案例的权重和偏差是绑定在一起的
我们将在第7节中介绍SVD培训程序的详细信息。
图1.带有二进制隐藏单元和softmax可见单元的受限Boltzmann机器。 对于每个用户,RBM仅包括用户已评分电影的softmax单位。 除了每个隐藏单元与soft max单元的K = 5值中的每个之间的对称权重之外,每个softmax单元有5个偏差,每个隐藏单元有1个偏差。 当使用具有高斯隐藏单元的RBM对用户评分进行建模时,顶层由具有高斯噪声的线性单元组成。
,所以如果两个用户对同一部电影进行了评级,那么他们的两个RBM必须在该电影的softmax可见单位和隐藏单位之间使用相同的权重。然而,隐藏单元的二进制状态对于不同的用户可能会有很大的不同。从现在开始,为了简化符号,我们将集中精力获取特定于单个用户的RBM参数的梯度。然后,通过对所有N个用户取平均值,就可以得到关于共享权重参数的全部梯度。
假设一个用户给m部电影评级。设V为一个K times; m的观察二进制指标矩阵,如果用户对电影i的评级为K,则vki= 1,否则为0。我们也设hj,j = 1,hellip;, F为隐藏(潜变量)的二值,可以认为代表了随机的二值特征,对于不同的用户具有不同的值。
2.1. 模型
我们使用一个条件多项式分布(一个“Softmax”)来建模观察到的“可见”二进制额定值矩阵V的每一列,以及一个条件Bernoulli分布来建模“隐藏”用户特征h(见图。
其中sigma;(x)= 1 /(1 e-x)是对数函数,Wk ij是特征j与电影i的评级k之间的对称交互参数,bki是电影i的评级k的偏差,bij是电影i的评级k的偏差。 特征j的偏差。 请注意,可以将bki初始化为所有用户各自的基本费率的日志。
可见额定值V上的边际分布为:
缺少评分的电影对能量功能没有任何贡献。
2.2 学习
可以从等式获得对数似然执行梯度上升所需的参数更新。
delta;是学习率。 期望值lt;vikhjgt;数据定义了当观看者通过使用等式从训练集中观察到的用户评分数据来驱动特征时,评分为k的电影i和特征为j的电影一起播放的频率。 在图2中,lt;·gt;模型是对由模型定义的分布的期望。 期望模型不能在少于指数时间内进行解析计算。MCMC方法(Neal,1993)可以用来近似这个期望。然而,这些方法的速度非常慢,而且在估计中存在很大的差异。为了避免lt;·gt;模型,我们遵循一个近似的不同目标函数的梯度称为“对比发散”(CD)(欣顿,2002年):
期望值lt;·gt;T表示运行Gibbs采样器(公式1,2)的样本分布,并在数据上初始化了T个完整步骤。 T通常在学习开始时设置为1,并随着学习的收敛而增加。 通过将T增加到足够大的值,可以任意近似地近似最大似然学(Carreira-Perpinan&Hinton,2005),但实际上很少需要大的T值。 在运行Gibbs采样器时,我们仅重建(等式1)非缺失等级上的分布。CD相对于等式的共享重量参数的近似梯度。 然后可以对所有N平均6用户。
研究表明(Hinton,2002年),CD学习非常有效,并且极大地减少了用于学习的估计值的方差。 偏见的学习规则只是Eq.6的简化版本。
2.3 做出预测
在给定观察到的收视率V的情况下,我们可以预测新查询电影q的收视率在时间上与隐藏单位数呈线性关系:
其中Gamma;kq= exp(vqkbkq)。 一旦获得非标准化的分数,我们就选择得分最高的评分作为我们的预测,或者对K值执行标准化以获得概率p(vq = k | V)并将期望值E [vq]作为我们的预测。 后一种方法效果更好。
当被要求预测n部电影q1,q2,...,qn的收视率时,我们还可以计算
然而,这需要我们为每个用户进行Kn评估。
或者,我们可以对平均场更新执行一次迭代,以获取电影q在K个评级上的概率分布,
并以期望作为我们的预测。 在我们的经验中公式7的预测稍微精确一些, 尽管平均场方程的一次迭代要快得多,但是图7的预测稍微准确一些。 我们在下面描述的实验中使用平均场法。
3 带高斯隐单位的RBM
我们还可以将“隐藏”用户特征h建模为高斯潜变量(Welling等人,2005年)。该模型表示pLSI的无向对应物(Hofmann,1999):
sigma;j2是隐藏单位j的方差。
可见单位V上的边际分布由等式给出。
4 条件RBM
假设我们从每个隐藏特征的K个可能的等级中给K个权重加w,然后从隐藏特征的偏差中减去w。只要有一个K级存在,就不会对隐藏或可见单元的行为产生任何影响,因为“softmax”参数化过度。但是,如果缺少额定值,则对隐藏特性的总输入有minus;w的影响。因此,通过使用softmax的过度参数化,RBM可以学习使用缺失的评分来影响其隐藏的特征,即使它不尝试重建这些特征缺失评级,它不执行任何计算,规模与数量的缺失评级
图2。 有条件的成果管理制。 二进制向量r,
Netflix数据库中还有一个更微妙的信息源,而“标准”多项式RBM无法捕获这些信息源。 Netflix会提前告诉我们测试集中出现了哪些用户/电影对,因此我们拥有第三类:已观看但评级未知的电影。 这是有关在测试集中出现多次的用户的宝贵信息来源,尤其是如果他们在训练集中只给出了少量评分的情况下。 例如,如果已知某个用户的评分为“ Rocky 5”,那么我们已经对他喜欢的电影类型打了个好赌。有条件的RBM模型将这一额外信息考虑在内。 令risin;{0,1}M为长度为M(电影总数)的二进制向量,指示用户对哪部电影进行了评分(即使这些评分未知)。 这个想法是在r的条件下定义(V,h)上的联合分布。 在提出的条件模型中,向量r将影响隐藏单元的状态(见图2):
其中Dij是学习矩阵的元素,可以模拟r对h的影响。 使用CD学习D与学习偏见相似,其形式为:
相反,我们可以定义一个任意的非线性函数f(r |theta;)。 假设f关于theta;是可微的,我们可以使用反向传播来学习theta;:
特别地,可以将f(r |theta;)参数化为多层神经网络。
条件RBM模型已成功用于建模时间数据,例如运动捕捉数据(Taylor等,2006)或视频序列(Sutskever&Hinton,2006)。 对于Netflix任务,事实证明,对已分级/未分级电影的向量进行条件处理非常有帮助-大大提高了性能。代替使用条件RBM,我们可以从普通RBM模型中估算缺失的评分。假设某个用户对电影t进行了分级,但没有分级(即作为测试集的一部分提供)。我们可以将vt初始化为电影t的基本速率,并计算相对于此输入的数据对数概率的梯度(等式3)。 CD的学习形式如下:
在更新vtk之后,对于k = 1,..,K,将vtk重新归一化以获得K值上的概率分布。 推定值vt现在将有助于方程式的能量项。
会影响隐藏单元的状态。 通过遵循CD的近似梯度来插值缺失值在Netflix数据集的一小部分上效果很好,但是对于完整数据集来说很慢。 另外,我们可以使用一组平均场方程式。来估算缺失值。 估算的值会非常嘈杂,尤其是在培训的早期阶段。 然而,在我们的实验中,模型性能通过使用插补得到了显着改善,并且可以与条件RBM的性能相媲美。
5 有条件的基于事实的成果管理制
到目前为止,我们所描述的成果管理制模型的一个缺点是它们目前的参数化W isin; RMtimes;Ktimes;F 导致大量的自由参数。 在我们目前的实施中,F=100
各种模型在验证数据上的性能。 左侧面板:RBM与高斯隐藏单元的RBM。 中间小组:成果管理制与有条件的成果管理制。 右面板:有条件的成果管理制与有条件的成果管理制。 y轴显示RMSE(均方根误差),x轴显示历元数,或通过整个训练数据集(隐藏单元的数量),M=17770,K=5,我们最终得到大约900万个自由参数。通过使用适当的权值衰减来正则化模型,我们仍然能够避免严重的过度拟合。然而,如果我们增加隐藏特征的数量或电影的数量,[2]学习这个巨大的参数矩阵W就成了问题。仅仅通过减少隐藏单元的数量来减少自由参数的数量并不能得到一个好的模型,因为模型不能表达每个处于隐藏状态的用户的足够信息。
我们通过将参数矩阵W分解成两个低秩矩阵A和B的乘积来解决这个问题:
其中通常为C≪ M和C≪F。例如,设置C = 30,我们将自由参数的数量减少了三倍。 我们将此模型称为因果RBM。 学习矩阵A和B与学习W Eq6非常相似:
Netflix自己的数据库包含大约65000个电影标题。
在我们的实验结果部分,我们表明,有条件因素的成果管理制比有条件的无因素成果管理制收敛得快得多。
6 实验结果
6.1 Netflix数据的描述
据Netflix称,这些数据是在1998年10月至2005年12月期间收集的,代表了在此期间获得的所有评级Netflix的分布情况。 培训数据集包括100,480,507个评级,从480,189个随机选择的匿名用户17,770个电影标题。 作为培训数据的一部分,Netflix还提供了验证数据,其中包1,408,395个评级。 除了培训和验证数据外,Netflix还提供了一个测试集,其中包含2,817,131个用户/电影对,并保留了评级。 这些对是从训练数据集中的用户子集,在电影的子集上,从最近的评级中选择出来的。为了减少对测试集的无意微调,这会困扰机器学习文献中的许多经验比较,通过向Netflix提交预测评级来评估性能,Netflix随后将均方根误差(RMSE)张贴在测试集的未知一半上。作为基线,Netflix提供了自己系统
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[261632],资料为PDF文档或Word文档,PDF文档可免费转换为Word