基于邻域的模型

基于邻域的模型的优点:

(1)提供了推荐背后的直观解释,这种解释不仅提高了准确性,同时增强了用户体验。
(2)基于邻域的模型能够根据一个新进入系统的用户反馈立即提供推荐

1.相似性度量

基于物品的方法的核心是物品之间的相似性度量。一般情况下相似度的度量是基于皮尔逊相关系数ρij\rho_{ij}ρij,该相关系数度量了用户对物品i和物品j进行评分的相似性趋势。由于许多评分未知,一些物品或许只有几个公共的评分用户。经验相关系数ρ^ij\widehat{\rho}_{ij}ρij仅仅是基于共同的用户支持。我们建议用基准预测器的残差buib_{ui}bui来补偿特定用户和特定物品的偏差。因此,近似的相关系数如下所示:

集合U(i,j)U(i,j)Uij包含了同时对物品i和j评分的用户。
由于基于更大的用户支持的相关系数估计值更加可靠,所以我们可以使用一种近似的相似性度量,记为sijs_{ij}sij,这是一个相关系数的收收缩值,其形式如下:
在这里插入图片描述
变量nij=∣U(i,j)∣n_{ij}=|U(i,j)|nij=U(i,j)记为同时对物品i和j评分的用户的数量。

2.基于相似度的差值

这里描述基于邻域建模的最流行方法,显然该方法对一般意义上的CF也适用。我们的目标是预测ruir_{ui}rui——尚未观察到的用户u对物品i的评分。使用这种相似性度量,可以找到用户评分的、与物品i最相似的k个物品。这个由k个近邻物品组成的集合记为Sk(i;u)S^k(i;u)Sk(i;u)ruir_{ui}rui的预测值取用户对这些紧邻物品评分的加权平均,同时用户和物品在基准预测器的影响下做调整,得到的预测规则如下:
在这里插入图片描述
注意相似度的双重用途:一是识别出最近的近邻物品;二是作为上式中的插值权重。
有时,除了直接把相似度权重作为插值系数,也可以转换这些权重来得到更好的结果。例如,在Netflix数据集中发现取基于关联的相似度的平方值很有用。这样得到的规则:
在这里插入图片描述

3.联合派生插值权重

这部分描述一个更加准确的邻域模型。给定一个近邻集合Sk(i;u)S^k(i;u)Sk(i;u),我们需要计算插值权重{θiju∣j∈Sk(i;u){\theta_{ij}^u|j\in S^k(i;u)}θijujSk(i;u)},过这些权重可以得到下面形式的最好预测规则:

在这里插入图片描述
k(近邻的个数)的典型取值范围为20~50。在此,我们为残差引入一个符号,zui=defrui−buiz_{ui}\xlongequal{def}r_{ui}-b_{ui}zuidefruibui。为了使符号方便使用,我们假设集合Sk(i;u)S^k(i;u)Sk(i;u)中物品的索引为1,…,k。
推导所有插值权重时同时考虑近邻物品之间的相互依赖是很重要的。下面通过定义一个相应的最优化问题来达到这些目的。

形式化模型

首先,考虑一种假设密集的情形,在这种情形里,除了u的所有用户都同时对物品i和它的集合Sk(i;u)S^k(i;u)Sk(i;u)中的所有近邻物品进行评分。这种情形下,我们可以通过对物品i和它的近邻物品之间的关联进行建模来学习这些插值权重,建模是通过解决下面最下二乘法问题完成的:
在这里插入图片描述
注意,这里唯一的未知量是θiju\theta_{ij}^uθiju。该最小二乘法问题通过转化为求解一个线性方程组而得到的。从统计学角度看,这等价于在zvi(j)z_{vi}(j)zvi(j)上对zviz_{vi}zvi进行无截距回归的结果。特别的,最优权重由下面的等式给出:Aω=b\bm{A}\omega=\bm{b}Aω=b这里,ω∈Rk\omega\in \bm{R}^kωRk是一个未知向量,其中ωj\omega_jωj代表要寻找的系数θiju\theta_{ij}^uθijuA\bm{A}A是一个k∗kk*kkk矩阵,其中:
在这里插入图片描述
相类似,向量b∈Rk\bm{b}\in \bm{R}^kbRk定义如下:
在这里插入图片描述
对于一个稀疏的评分矩阵,有可能同时对物品i和其邻域内的物品进行评分的用户很少。因此,用上面的两个式子对A\bm{A}Ab\bm{b}b仅仅基于那些有完整数据的用户的数据去计算是不明智的。即使有足够多的包含完整数据的用户来保证矩阵A\bm{A}A是非奇异的,那样的估计也会忽略同 一个用户评分之间的成对关系的大部分信息。然而,通过在给定的成对关系的支持上求平均,我们仍然能够估计A\bm{A}Ab\bm{b}b,与上面相似的常量。这样得到下面的改进公式:
在这里插入图片描述
这仍然不能克服数据稀疏的问题。Aˉjl\bar{\bm{A}}_{jl}Aˉjlbˉj\bar{\bm{b}}_{j}bˉj的元素可能会因为被用于计算的平均值的用户组的排序而改变。正如之前讨论的那样,基于相对低的支持度(|U(i,j)U(i,j)U(i,j)|的值较小)的均值可以通过收缩到一个共同值来改进。尤其是,我们计算一个基准值,这个基准值是通过所有可能的Aˉjl\bar{\bm{A}}_{jl}Aˉjl的值的平均值来定义的。定义这个基准值为avg。于是定义相应的k∗kk*kkk矩阵A^\widehat{\bm{A}}Ab^∈Rk\widehat{\bm{b}}\in \bm{R}^kbRk:
在这里插入图片描述
参数β\betaβ控制了收缩的程度。

参考文献

[1]《推荐系统技术、评估及高效算法》

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值