协同过滤算法的高级课题
5.1简介
协同过滤(CF)方法基于用户对商品的评分或其他行为(如购买)模式来为用户提供个性化推荐,而不需要了解用户或者商品的大量信息。
推荐系统的性能依赖于输入的不同类型。最高效的输入是用户高质量的显式反馈,也就是用户直接说出他们对哪些产品感兴趣。例如通过让用户单击“跷拇指”或“下拇指”来搜集电影的星级评价。隐式反馈是通过观察用户的行为来间接得到用户的喜好。隐式反馈的类型包括用户的购买记录、浏览历史记录、搜索模式,甚至式鼠标的移动。
为了建立推荐信息,CF系统需要把两种有本质区别的实体联系起来,即物品和用户。有两种主要的方法来方便比较这两种实体,构成了CF的两种主要技术:基于领域的方法和隐语义模型。基于领域的方法重点关注物品之间的关系或者用户之间的关系。基于物品的方法式根据某用户对和他感兴趣的物品形似的物品的评分,来对该用户对这件物品的偏好建立模型。隐语义模型,如矩阵因子分解模型,采用的是另一种方法,即把物品和用户映射到相同的隐语义空间的方法。隐语义空间试图通过描述产品和用户两种实体在因子上的特征来解释评分,而这些因子是根据用户的反馈自动推断出来的。
由评分数据建立的模型通过拟合已经观测到的评分记录来学习。
5.2.1基准预测
当数据中有某些用户评分比其他用户高和某些物品得到的评分比其他物品高的明显的倾向,也即这些数据显示了用户和物品中存在的偏置。我们将偏置封装到基准预测中。
5.3因子分解模型
用隐语义模型来进行协同过滤的目标是揭示隐藏的特征,这些隐藏的特征能够解释观测到的评分。
5.3.1SVD(它的想法是根据已有的评分情况,分析出评分者对各个因子的喜好程度以及电影包含各个因子的程度,最后再反过来根据分析结果预测评分。
矩阵因子分解模型把用户和物品两方面的信息映射搭配一个维度为f的联合隐语义空间中,因此用户——物品之间的交互作用被建模为该空间中的内积。这个隐语义空间试图通过描述物品和用户在各个因子上的特征来解释评分值,而这些因子是从用户反馈自动推断出的。例如,如果物品是电影,因子将会用来度量如喜剧或悲剧、情节的数量或者面向儿童的等级等这些明显的维度,以及如性格发展的深度或者“突变”等隐式维度,甚至是完全无法解释的维度。
5.3.2时间敏感的因子模型
矩阵因子分解方法能很好地对时间效应建模,这样可以提高预测结果地准确度。通过把评分分解为不同的项,我们可以分别处理不同方面的时序影响。由于物品和人类不同,它在本质上是不变的,所以我们也明确定义了物品的静态特征,原因在于我们并不希望物品有很大的时序变化。我们首先讨论基准预测内部的时序影响。
网友评论