协同过滤算法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于以上讨论,用如下修正后的公式计算相似度
这样就能保证只有那些多次参与评分,而且评分项目大体相同的用户,才有可能成为相似用户。而那些只参与了少数几项的评分,或评分项目差别很大的用户,即使根据式(3)得出的相似度很大,在式(6)中,其最终结果也不会很大,从而失去了成为最近邻居的可能性。
2.2计算推Hale Waihona Puke Baidu集
采用笔者提出的相似性度量方法得到目标用户的最近邻居,需要产生相应的推荐。用户a
对项目j的预测评分 可通过用户a对最近邻居集合中项目的评分得到。应用式(3)可动态扩大该集合的取值范围,适当增加最近邻居的数量,以保证推荐结果的可靠性.
这里存在这样一个问题:假设用户p为用户a的一个最近邻居,但用户p并没有对目标项目j进行评价,p对j的评分 该如何取值,传统的基于余弦相似性的推荐算法为该值赋0。但正如上面所讨论的,用户未做评价并不表示用户不喜欢这种商品,因此不能简单地赋0实验证明:这样做产生的平均绝对误差(MAE:Mean Absolute Error)也是非常大的。依据常识,用户虽然对不同商品的评分千差万别,但对于同一类商品,用户的评分大致是稳定的,总是在一定范围内波动,所以,可把用户对某一商品的预测评分定为该用户对已选择的同类商品的平均打分。
协同过滤推荐是基于评分相似的最近邻居的评分数据向目标用户产生推荐。目标用户对未评分项目的评分可以通过最近邻居对该项目评分的加权平均值逼近。它通过构造用户对项目的偏好数据集实现。
协同过滤算法的输人数据通常表述为一个m*n的用户一项评价矩阵R,m为用户数,n为项目数,矩阵元素 表示第a个用户对第j个项的评估值。
设预测的用户评分集合表示为 ,对应的实际用户评分集合为 ,则
基本步骤:
1.输入数据表示
2.邻居的形成
邻居形成主要完成目标用户最近邻居(或最相似用户)的识别.协同过滤需要分析用户之间的相似性,形成当前目标用户的邻居集,从而根据“邻居”的信息进行推荐。协同过滤在推荐系统中实现的核心就是为一个需要推荐服务的当前目标用户寻找其最相似的“最近邻居”集,
面对互联网上信息资源的迅速膨胀,人们不得不花费大量时间去搜索自己需要的信息。即使找到了一些所需信息,也经常混有很多“噪音”。针对这一问题,人们提出使用个性化推荐系统,以便帮助用户在大量的信息,快速寻找到感兴趣的内容。将此项技术应用于网站建设中能充分提高站点的服务质量和访问效率,从而吸引更多的访问者。协同过滤推荐是当前最成功的推荐技术。
具体描述如下
其中, 代表与商品j是同类商品的集合, 表示用户p选择的所有商品的集合, 表示用户p对商品j的评分。
上述方法与传统的基于余弦相似性的预测方法相比,其合理性及准确性明显提高。
2.3改进算法的精确度分析
改进算法在计算用户对未评分项目的评分时分为两种情况:如果用户已经对未评分项目的同类商品评过分,则对未评分项目的评分取用户对同类商品的平均评分;如果用户没有对未评分项目的同类商品评过分,则取用户对已评价过的所有商品的平均评分。
3.产生推荐
1)余弦相似性。用户评分可看作是n维项目空间上的向量,如果用户对项目没有进行评分,则将用户对该项目的评分设为0用户间的相似性通过向量间的夹角余弦度量。
2)相关相似性。在余弦相似性度量方法中没有考虑不同用户的评分尺度问题,相关相似性度量方法通过减去用户对项目平均评分改善上述缺陷。设用户a和用户b占共同评分的项目集合用 。表示, 和 (用户b的评分向量)之间的相似性用下式计算:
其中 和 分别表示用户a和用户b占对项目的平均评分。
在传统的余弦相似性度量方法中,将用户没有评分项目的评分均假设为0,这样可有效地提高计算性能。但事实上,用户对未评分商品的喜好程度不可能完全相同,对这些项目的评分也不可能完全相同(均为0)。因此在数据量巨大且用户评分数据极端稀疏的情况下,这种假设的可信度并不高。导致无法准确计算它们之间的相似性。相关相似性度量方法选择用户a和b共同评分的项目作为参评对象,保证了参加计算的数据都是真实数据。因此其推荐质量高于基于余弦相似性的度量方法。
首先,计算每个用户对以往评价过的信息资源的平均打分:
为用户a的评分向量, 为 的长度,即用户打过分的数字资源数目, 表示用户a对项目j的评分,
其次,计算目标用户对未评价过的信息资源的预测值:
其中 为目标用户a对信息资源项j的预测值,协同过滤算法根据与目标用户最相似的N个用户的评价进行预测,并非所有用户都参与预测 值, 为用户a和b之间的兴趣相似度,k为归一化因子。算法的核心部分是计算用户的兴趣相似度。相似性度量方法包括余弦相似性和相关相似性
2..改进的基于相关相似性的CF算法:
2.1相似性计算
根据传统相似性度量方法中存在的问题,考虑在相关相似性的基础上引人一个评价系数:当两个用户共同评分的项目较多时,该系数就大反之,该系数就小。在这里,设该系数
其中 表示用户a和b共同选择的项目数量, 表示用户a和用户b占选择的项目总数.
另外由式(3):
由于改进算法在计算用户对未评分项目的评分时,依赖于用户对已评价过项目的评分。这样在系统初期数据极端稀疏,算法的精确度将受到影响。
2.4实验评价标准
评价推荐系统推荐质量的度量标准主要包括统计精度度量方法和决策支持精度度量方法两类(这里介绍前一种方法):
平均绝对误差MAE( ):通过计算预测的用户评分与实际的用户评分之间的偏差度量预测的准确性,MAE越小,推荐质量越高.
相关文档
最新文档