基于用户的协同过滤算法简介

基本思想:

根据用户对物品的评分向量之间的相似性,搜索目标用户的最近邻居,然后根据最近邻居的评分向目标用户产生推荐。

基本步骤:

主要分为三步:建立用户模型、寻找最近邻居和产生推荐物品。

  1. 建立用户模型:协同过滤算法的输入数据通常表示为一个m*n的用户—评价矩阵R,m用户数,其中Rij其中Rij表示第i个用户对第j个物品的评分值:

 

这里的评分值可以是用户的浏览次数,购买次数等隐式的评分,还可以采用显示评分,如用户对商品的直接评分,本算法的实现是采用用户对所购买商品的直接评分作为评分矩阵中评分值的。

    2. 寻找最近邻居:主要完成对目标用户最近邻居的查找。通过计算目标用户与其他用户之间的相似度,算出与目标用户最相似的“最近邻居”集。即: 对 目标用户u产生一个以相似度sim(u,v)递减排列 的“ 邻居” 集合。该过程分两步完成:首先计算用户之间的相似度,可采用皮尔森相关系数、余弦相似性和修正的余弦相似性等度量方法,其次是根据如下方法选择“ 最近邻居”:(1)选择相似度大于设定阈值的用户;(2)选择相似度最大的前 k个用户;(3) 选择相似度大于预定阈值的 k个用户。

    3. 产生推荐物品,计算方法如下:

其中sim(i,j)表示用户i与用户j之间的相似性,表示最近邻居用户j对物品d的评分,分别表示用户和用户的平均评分,公式的实质是在用户的最近邻居集NBSi中查找用户,并将目标用户与查找到的用户的相似度的值作为权值,然后将邻居用户对该项目的评分与此邻居用户的所有评分的差值进行加权平均。

通过上述方法预测出目标用户对未评价物品的评分,然后选择预测评分最高的TOP-N项推荐给目标用户。

 

基于用户的协同过滤算法优缺点分析

优点分析:

首先,它能够通过用户间的相互协助、根据用户对物品的评分的相似性对用户进行分类,所得到的结果是比较精确的。其次,在基于用户的协同过滤系统中,所有用户都能从邻居用户的反馈评价中得益,只要每个用户为系统贡献一份力量,系统的性能就会越来与完善。最后,基于用户的协同过滤系统容易挖掘出目标用户潜在的新兴趣,即能够实现奇异发现。

缺点分析:

1.稀疏性。一个大型的电子商务推荐系统一般有非常多的物品,用户可能买的其中不到1%的物品,不同用户之间买的物品的重叠性较低,导致算法无法找到一个用户的邻居,即偏好相似的用户。

2.冷启动问题。在一个新的物品首次出现的时候,没有用户对它做过评价,基于用户的协同过滤无法对其进行预测评分和推荐。而且,由于在新物品出现早期,用户评价较少,推荐的准确性不高。

3.特殊用户问题。一小部分偏好特殊的用户不会受益于基于用户的协同过滤推荐系统,因为基于用户的协同过滤推荐是基于邻居用户资料得到对目标用户的推荐,其计算隐含着一个前提就是每个用户都必须有相对集中并固定的兴趣爱好。而这些特殊用户的观点和任何一类群体都不相同,无法找到邻居用户协同进行推荐。即使在系统初始阶段过去之后,这些特殊用户也很难从协同过滤系统中得到比较精确的推荐。

参考文献:

[1]基于用户的协同过滤推荐算法研究.周强

转载于:https://www.cnblogs.com/mlfighting/archive/2013/04/15/3022553.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值