基于用户的协同过滤推荐算法研究

本文探讨了基于用户的协同过滤推荐算法在电影推荐中的应用,针对稀疏性、冷启动和扩展性问题进行分析。通过皮尔逊相关系数计算用户相似度,结果显示算法能取得良好推荐效果。此外,文章还讨论了数据预处理的相似度计算、抽样、降维和去噪等关键步骤。
摘要由CSDN通过智能技术生成

摘要:近年来,随着线上可供选择的增加,推荐系统变得越来越不可或缺。推荐系统通过发掘用户的行为,找到用户的个性化需求,从而将长尾物品准确推荐给需要它的用户,帮助用户找到他们感兴趣但很难发现的物品。本文采用基于用户的协同过滤算法实现电影的推荐,并针对该方法存在的稀疏性,冷启动和扩展性问题进行了分析,结果表示此算法可以得到不错的推荐效果。
关键词:协同过滤;用户;皮尔逊系数;相似度
Abstract:In recent years, with the increase of online choices, recommendation system becomes more and more indispensable. Recommendation system finds users’ personalized needs by exploring users’ behavior, and accurately recommending long tail items to users who need them which could helps users to find items they are interested in but difficult to find. In this paper, user-based collaborative filtering algorithm is used to implement movie recommendation, and the sparsity, cold start and expansibility of this method are analyzed. The results show that this algorithm can get good recommendation effect.
Key words: collaborative filtering; users; Pearson coefficient; similarity

一.推荐系统介绍
随着电子商务和网络通讯的兴起,互联网成为人们获取信息以及购物的重要工具,导致了数据的爆炸式增长,也就是信息过载。用户要从互联网上的茫茫信息海洋中找到自己需要的信息十分困难,因此,推荐系统应运而生。推荐系统的目标是帮助用户从大量的物品中筛选出最适合其偏好的个性化物品,除此之外,许多商业公司将推荐系统运用到了实际中,通过推按物品来确定他们的目标用户。多年来,用于推荐系统的不同算法已得到了发展。高质量的推荐系统会使用户对系统产生依赖,因此,推荐系统不仅能为用户提供个性化服务,还能与用户建立长期稳定的关系,提高用户忠诚度,防止用户流失。通用的推荐系统模型流程为
a)推荐系统通过用户行为,建立用户模型;
b)通过物品的信息,建立推荐对象模型;
c)通过用户兴趣匹配物品的特征信息,再经过推荐算法计算筛选,找到用户可能感兴趣的推荐对象,然后推荐给用户。
用户行为数据在网站上最简单的存在形式就是日志,日志中记录了用户的各种行为,比如网页浏览、点击、购买、评论、评分等等。用户行为在个性化推荐系统中一般分为显性反馈行为和隐性反馈行为。显性反馈行为包括用户明确表示对物品的喜好的行为,比如给物品评分,而隐性反馈行为是指那些不能明确反应用户喜好的行为,比如页面浏览行为。隐性反馈数据比显性反馈不明确,但其数据量更庞大。
二.数据预处理
2.1 相似度计算
相似度计算主要有三个经典算法:余弦定理相似性度量、欧氏距离相似度度量和皮尔逊相关系数法
(1)余弦定理相似性度量
通过测量两个向量内积空间的夹角的余弦值来度量它们之间的相似性。0度角的余弦值是1,而其他任何角度的余弦值都不大于1;并且其最小值是-1。从而两个向量之间的角度的余弦值确定两个向量是否大致指向相同的方向。两个向量有相同的指向时,余弦相似度的值为1;两个向量夹角为90°时,余弦相似度的值为0;两个向量指向完全相反的方向时,余弦相似度的值为-1。在比较过程中,向量的规模大小不予考虑,仅仅考虑到向量的指向方向。余弦相似度通常用于两个向量的夹角小于90°之内,因此余弦相似度的值为0到1之间。
在这里插入图片描述
(2)欧氏距离相似性度量
与余弦定理通过方向度量相似度不同,欧氏距离是通过计算样本实际距离在度量相似度的。二维平面上两点a(x1,y1)与b(x2,y2)间的欧氏距离
在这里插入图片描述
(3)皮尔逊相关系数
两个变量之间的相关系数越高,从一个变量去预测另一个变量的精确度就越高,这是因为相关系数越高,就意味着这两个变量的共变部分越多,所以从其中一个变量的变化就可越多地获知另一个变量的变化。如果两个变量之间的相关系数为1或-1,那么你完全可由变量X去获知变量Y的值。
当相关系数为0时,X和Y两变量无关系;当相关系数在0.00与1.00之间,X、Y正相关关系;当相关系数在-1.00与0.00之间,X、Y负相关关系。由此可知,相关系数的绝对值越大,相关性越强,相关系数越接近于1和-1,相关度越强,相关系数越接近于0,相关度越弱。
2.2 抽样
抽样是数据挖掘从大数据集中选择相关子数据集的主要技术,用于数据预处理和最后的解释步骤中。抽样的原因是处理全部数据集的计算开销太大,同时可以被用来创造训练和测试数据集。其中,训练集被用于分析阶段学习参数或配置算法,测试及用于评估训练阶段获得的样本或模型,确保将来在未知数据上运行良好。
抽样的关键是发现具有整个原始数据及代表性的子集。最简单的抽样技术是随机抽样。抽样可能导致过特殊化划分的训练集和测试集,因此训练的过程可以重复好几次。在分离训练集和测试集是最常用的是使用80/20的训练集和测试集比例,并使用无替代的标准随机抽样。
在推荐系统中常用的方法是从用户中抽取可能的反馈以用户评分的方式来划分训练和测试。交叉验证的方法也很常见。在一般案例中可接受标准随机抽样,但在其他场景中需要用不同的方法定向调整抽样出来的测试集。
2.3 降维
推荐系统中不仅有定义高维空间的数据集,而且在空间中的信息非常稀疏。例如,每个对象只有几个有限的特征有值。密度以及点之间的距离,这些对于聚类和孤立点检测非常重要,但在高维空间中的意义并不大,这就是著名的维度灾难。降维技术通过把原始高维空间转化成低维有助于克服这类问题。
推荐系统中最常用的降维算法有:主成分分析(PCA)和奇异值分解(SVD)。主成分分析(PCA)是一种经典统计方法ÿ

  • 4
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值