基于相关均值的协同过滤推荐算法

发表时间:2021/4/21   来源:《科学与技术》2020年第32期   作者:罗煜鹏
[导读] 本文针对在邻居用户协同评分识别数据极端稀疏的大环境下运行传统
        罗煜鹏  
        河南大学软件学院  河南省开封市  475000
        摘要:本文针对在邻居用户协同评分识别数据极端稀疏的大环境下运行传统应用协同推荐过滤度量推荐评分算法可能存在的一些弊端,从如何提高不同邻居之间用户评分识别率的准确性角度出发,对目前传统用户相似性平均度量推荐方法特点进行大胆改进,在此方法基础上创新提出一种基于用户相关性平均值的协同推荐过滤算法。实验分析结果表明,该分析算法不仅能有效增强居民邻居推荐用户在居民推荐结果中的品牌影响力,有效帮助提高邻居推荐结果精度,改善邻居推荐结果质量。
        关键词:相关均值算法协同过滤
        一、协同过滤算法原理
        协同过滤推荐算法是诞生最早, 并且较为著名的推荐算法。主要的功能是预测和推荐。算法通过对用户历史行为数据的挖掘发现用户的偏好,基于不同的偏好对用户进行群组划分并推荐品味相似的商品。协同过滤推荐算法分为两类,分别是基于用户的协同过滤算法(user-based collaboratIve filtering),和基于物品的协同过滤算法(item-based collaborative filtering)。。
        二、基于用户的协同过滤
        1、基于企业用户的软件协同操作过滤user-basedcollaborativefiltering
        基于每个用户的历史协同喜好过滤分析算法主要是通过每个用户的商品历史协同行为分析数据库来发现每个用户对不同商品或服务内容的协同喜欢 (又比如购买商品推荐购买,收藏,内容分享评论或信息分享),并对这些协同喜好数据进行协同度量和综合打分。根据不同品类用户对相同品类商品或服务内容的不同态度和消费偏好不同程度即可计算不同用户之间的利益关系。在两个有相同喜好的商品用户间可以进行不同商品综合推荐。
        三、基于不同物品的三种协同运动过滤分析算法:aitem-basedcollaborativefiltering
        基于协同物品的其他协同用户过滤互换算法与基于物品用户的其他协同商品过滤互换算法很难想像,将一个商品和其他用户进行互换。通过自动计算不同类型用户对不同类型物品的相互评分即可获得不同物品间的相互关系。基于用户物品间的相互关系对不同用户物品进行相似不同物品的分类推荐。这里的用户评分主要代表的是用户对一个商品的评价态度和消费偏好。简单来说就是因为如果两个用户中的a和b同时分别购买了两个商品1和2与商品2,那么商品说明中的商品1和2与商品2的相关度会比较高。当一个用户发现b也已经购买了这个商品1时,可以由此推断他也已经有再次购买这个商品2的使用需求。
        1、寻找相似的物品
        (1)欧几里得举例评价
        在基于不同物品的多种协同距离过滤评价算法中,我们依然发现可以通过使用欧几里德距离协同评价算法来精确计算不同品类商品间的使用距离和评价关系。以下列的是具体计算公式。
        通过欧几里德系数可以发现, 商品间的距离和关系与前面散点图中的表现一致,商品1,3,4距离较近关系密切。商品2和商品5距离较近。
        三、基于不同物品的三种协同运动过滤分析算法:aitem-basedcollaborativefiltering
        基于协同物品的其他协同用户过滤互换算法与基于物品用户的其他协同商品过滤互换算法很难想像,将一个商品和其他用户进行互换。通过自动计算不同类型用户对不同类型物品的相互评分即可获得不同物品间的相互关系。基于用户物品间的相互关系对不同用户物品进行相似不同物品的分类推荐。这里的用户评分主要代表的是用户对一个商品的评价态度和消费偏好。简单来说就是因为如果两个用户中的a和b同时分别购买了两个商品1和2与商品2,那么商品说明中的商品1和2与商品2的相关度会比较高。当一个用户发现b也已经购买了这个商品1时,可以由此推断他也已经有再次购买这个商品2的使用需求。
        1、寻找相似的物品
        (1)欧几里得举例评价
        在基于不同物品的多种协同距离过滤评价算法中,我们依然发现可以通过使用欧几里德距离协同评价算法来精确计算不同品类商品间的使用距离和评价关系。

以下列的是具体计算公式。
        通过欧几里德系数可以发现, 商品间的距离和关系与前面散点图中的表现一致,商品1,3,4距离较近关系密切。商品2和商品5距离较近。
        加权排序推荐
        这里我们指的也就是如何表示这个用户中的a和乙或c已经重新注册购买过的这个用户商品4,5与正在新买的其他商品这个用户中的a,b,c直接的相似或者使用过的程度。我们将根据您的用户综合体验指数c对每个销售商品4,5的用户综合性价评分中的程度值来作为一个评级权重。对每个注册商品编号中的a,b,c分别先后进行二次计算加权综合计算进行排序。用户推荐所在商品c仓库中的商品评分值与分数相比较高并且与之相似度较低评分较高的商品推荐优先商品被指定作为推荐优先商品进行评分推荐。
        User-based算法存在两个重大问题:
        1.数据具有稀疏性。一个大型的网络电子商务产品推荐信息系统一般包含有非常多的不同物品,用户每天可能所购买的其中只有不到1%的都是物品,不同类型用户之间可能买的不同物品之间重叠性也比较低,导致这个算法无法准确找到一个不同用户的偏好邻居,即用户偏好相似的两个用户。
        2.算法具有扩展性。最近用户邻居收集算法的数值计算数据量随着最近用户和邻居物品收集数量的不断增加而有所增加,不过更适合针对数据量大的实际情况进行使用。
        iterm-based的基本功能设计核心思想也就是预先根据所有需要推荐物品用户的不同物品历史购物兴趣以及偏好类型来对物品数据类型进行综 合计算所有推荐用户物品之间的不同历史兴趣相似性,然后把与其他用户自己兴趣喜欢的所有推荐用户物品相类似的所有推荐用户物品数据进行组合推荐给其他用户。还是以之前的一个推荐例子一起来分析作为一个题目的举例,可以我们已经知道一个网络物品推荐中的用户a和推荐用户中的c非常相似,因为同样的很喜欢一个物品,而a的那个推荐用户也就认为同时也同样的很喜欢这个物品的是c,而他的那个用户c则认为物品a同样的也喜欢这个物品中的a,所以把推荐物品改为c可以用来表示推荐给他的那个用户同样喜欢物品a。
        因为这些物品直接相似度和打分值的方式是比较稳定的,所以我们可以预先通过在线下计算出不同的物品之间的相似程度,把这些结果保留到一个列表中,当被推荐的时候再次进行检查表,计算出每个用户最有可能发生的打分数值,就可以同时处理和解决上面两个问题。
        三、Item-based算法详细过程
        1、相似度计算
        Item-based算法首选计算物品之间的相似度, 计算相似度的方法有以下几种:
        1.基于相似度的余弦 ( cosine - based )的相似度进行计算,通过分别计算两个矢量之间的偏差和夹角余弦的数值来计算两个物品之间的相似性,公式列表如下:
        其中分子是为两个向量相同位置数字之间的内积,即两个相同向量内部位置的数字相乘。
        2.基于关联( correlation - based )的相似性进行计算,在这里我们可以得到两个矢量之间 pearson - r 的关联程度。其中代表了用户 u 对第 i 个物品 i 的打分,代表第 i 个物品进行打分的时间为平均值。
        通过实验对比结果得出结论:1. Item-based算法的预测结果比User-based算法的质量要高一点。2. 由于Item-based算法可以预先计算好物品的相似度,所以在线的预测性能要比User-based算法的高。3. 用物品的一个小部分子集也可以得到高质量的预测结果。
        参考文献
        [1]邓爱林,朱扬勇,施伯乐,基于项目评分预测的协同过滤推荐算法.软件学报. 2003, 41(9): 1621-1628
        [2]周军锋,汤 显,郭景锋,一种优化的协同过滤推荐算法UJ.计算机研究与发展, 2004, 41(10): 1842
        [3]王伟平,李建中,张冬冬,等,基于滑动窗口的数据流连续J-A查询的处理方法J.软件学报, 2006, 174: 740-749.
        【4】刘学军,胡 平,徐宏炳,等,基于滑动窗口的在线数据流增量聚集查询J.计机工程. 2007. 3321: 45 49.
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: