基于邻域的模型
协同过滤领域最常见的方法就是基于领域的模型。其最原始的形式是基于用户的方法(详见文献[13]1):基于志趣相投的相似用户的评分记录来估计未知评分。
随后是一种类似的,基于物品的方法:使用同一个用户在相似物品上的评分来估计未知的评分
- 其具有更好的扩展性;
- 并提高了准确度;
- 能更好的解释预测背后的原因(用户对他之前喜欢的物品比较熟悉,但他们却不认识这些所谓志趣相投的人)。
一般来说,隐语义模型在描述数据的各方面具有很强的表达能力,因此其预测结果比基于邻域的模型要好。但是,基于领域的模型更加普遍,是因为:
- 1)基于邻域的模型,相对简单;
- 2)更重要的原因是,基于邻域的模型提供了推荐背后原因的直观解释——其不仅提高推荐的准确性;同时增强了用户体验;
- 3)基于邻域的模型,能够根据一个新进入系统的用户反馈立即提供推荐。
本节结构:
- 1)如何估计两个物品之间的相似度;
- 2)基于相似度的领域方法,及其一些特定限制;
- 3)解决这些问题的建议方法:以计算时间上微小的增加为代价,提高预测准确度。
1.相似度度量
相似度度量是基于物品方法的核心。
皮尔逊相关系数,仅仅是基于共同的用户支持,建议用基准预测器的残差来补偿特定用户和特定物品的偏差。
ρ ^ i j = ∑ u ∈ U ( i , j ) ( r u i − b u i ) ( r u j − b u j ) ∑ u ∈ U ( i , j ) ( r u i − b u i ) 2 ⋅ ∑ u ∈ U ( i , j ) ( r u j − b u j ) 2 (3.15) \hat{\rho}_{ij} = \frac{\sum_{u \in U(i,j)} (r_{ui} - b_{ui} ) (r_{uj} - b_{uj} )}{\sqrt{\\ \sum_{u \in U(i,j)} (r_{ui} - b_{ui} )^2 · \sum_{u \in U(i,j)} (r_{uj} - b_{uj} )^2}\\ }\tag{3.15} ρ^ij=∑u∈U(i,j)(rui−bui)2⋅∑u∈U(i,j)(ruj−buj)2∑u∈U(i,j)(rui−bui)(ruj−buj)(3.15)
由于基于更大的用户支持的相关系数估计更加可靠,因此我们可以使用一种近似的相似度计量:
s i j = d e f n i j − 1 n i j − 1 + λ 8 ρ i j (3.16) s_{ij}\overset{def}{=} \frac{n_{ij}-1}{n_{ij}-1+ \lambda_8} \rho_{ij} \tag{3.16} sij=defnij−1+λ8nij−1ρij(3.16)
- n i j = ∣ U ( i , j ) ∣ n_{ij} = |U(i,j)| nij=∣U(i,j)∣,记为同时对物品i 和物品 j评分的用户数量;
- λ 8 \lambda_8 λ8的典型值可取100;
- 这是一个相关系数的收缩值,收缩的原因从贝叶斯角度出发,参考2.6节中的文献[11]2
- 收缩原因(略)p60
2.基于相似度的插值(如何理解插值)
r ^ u i = b u i + ∑ j ∈ S k ( i ; u ) s i j ( r u j − b u j ) ∑ j ∈ S k ( i ; u ) s i j (3.17) \hat{r}_{ui}=b_{ui} + \frac{\\ \sum\limits_{j \in S^k(i;u)} s_{ij}(r_{uj} - b_{uj}) \\ }{\\ \sum\limits_{j \in S^k(i;u)} s_{ij} \\ }\tag{3.17} r^ui=bui+j∈Sk(i;u)∑sijj∈Sk(i;u)∑sij(ruj−buj)(3.17)
- S k ( i ; u ) S^k(i;u) Sk(i;u) :用户 u u u 评价过的、与物品 i i i 最相似的 k k k 个物品的集合;
- 相似度的双重用途:1)识别近邻物品;2)作为式3.17中的插值权重;
- 除了直接把相似度权重作为插值系数,也可以转化这些权重得到更好的结果,例如基于关联的相似度的平方值:
r ^ u i = b u i + ∑ j ∈ S k ( i ; u ) s i j 2 ( r u j − b u j ) ∑ j ∈ S k ( i ; u ) s i j 2 (3.18) \hat{r}_{ui}=b_{ui} + \frac{\\ \sum\limits_{j \in S^k(i;u)} s_{ij}^2(r_{uj} - b_{uj}) \\ }{\\ \sum\limits_{j \in S^k(i;u)} s_{ij}^2 \\ }\tag{3.18} r^ui=bui+j∈Sk(i;u)∑sij2j∈Sk(i;u)∑sij2(ruj−buj)(3.18)
- 文献[29]3中讨论了这些权重更复杂的转换形式
基于相似度方法的优点:
1)直观,实现相对简单;
2)可解释性。解释自动推荐系统的重要性——文献[12,28]4:
- 丰富用户体验;
- 鼓励用户与系统交互,修正与主观印象违背的内容来提高长期的准确性。
3)新的评分。
- 基于物品的领域模型能够在用户输入新的评分之后,立即给出更新过的推荐结果;
- 而不需要重新训练模型,以估计新的参数
基于领域的标准模型的问题:
1)直接定义了插值权重的**相似度函数( s i j s_{ij} sij)可以是任意的。
- 不同的CF算法,使用多少有些不同的相似度度量,用以量化用户或者物品的相似度这一难以捉摸的概念。
2)之前基于领域的方法,没有考虑近邻物品之间的相互作用。
- 假如,领域集合包含相互之间高度相关的三部电影(《指环王1-3》),如果一个算法忽略了这三部电影的相似性,则最终会把这组物品提供的信息实际计算三次。
3)根据定义,插值权重的和为 1 ,这或许会导致过拟合。
4)如果近邻间物品的评分变化太大,那基于邻域的方法工作得不好。
对于第三项,可以使用下面的规则来降低权重和为 1 带来的影响:
r ^ u i = b u i + ∑ j ∈ S k ( i ; u ) s i j ( r u j − b u j ) λ 9 + ∑ j ∈ S k ( i ; u ) s i j (3.19) \hat{r}_{ui}=b_{ui} + \frac{\\ \sum\limits_{j \in S^k(i;u)} s_{ij}(r_{uj} - b_{uj}) \\ }{\\ \lambda_9 + \sum\limits_{j \in S^k(i;u)} s_{ij} \\ }\tag{3.19} r^ui=bui+λ9+j∈Sk(i;u)∑sijj∈Sk(i;u)∑sij(ruj−buj)(3.19)
- 常量 λ 9 \lambda_9 λ9 代表当近邻信息很少时,对基于领域的部分的惩罚。
而其他问题在基本框架内很难解决,整个框架并没有被一种正式的模型所证明。
3.联合派生插值权重(不懂)
本节,描述一种更加准确的领域模型,其克服以上所有困难,并保持了基于物品的模型的已知优点:
- 1)每一个预测仍然使用,相似度度量来定义近邻;
- 2)但,寻找最优插值的时,并没有考虑相似度度量的值。
4.小结
基于领域的插值的协同过滤或许是创建一个推荐系统最流行的方法。其具有以下三方面的主要特征:
1.数据规范化:
1)规范化对于一般意义上的协同过滤算法至关重要,尤其是对于相对局部性的基于邻域的方法。因为其混合了不兼容的评分,而这些评分是与不同规范化的用户或者物品相关;
2)我们基于基准预测器描述一种合适的方法来进行数据规范化。
2.近邻的选择:
1)其与采用的相似度度量直接相关;
2)这里强调收缩不可靠的相似度的重要性,目的是避免发现有低评分支持度的近邻。
3.插值权重的选择:
1)邻域方法的成功,依赖于插值权重的选择,这些插值权重用来从已知评分的物品的近邻物品中估计未知的评分;
2)大多数已知方法缺少权重推导的严谨方法;
3)这里,我们证明了如何把这些权重转化为最优化问题的全局解来求得,这些最优化问题恰恰反映了他们的角色(???)。
834



被折叠的 条评论
为什么被折叠?



