CF里的抢在那些myCFRS电影推荐系统里出现过?

版权声明:本文为博主原创文章未经博主允许不得转载。 /sinat_/article/details/

这篇文章主要介绍一种协同过滤的推荐的算法主要的内容包括:

2、基于用户的协同过滤

3、基于项目的协同过濾

4、基于内容的过滤算法

推荐系统在现在的生活中随处可见,淘宝天猫的商品推荐音乐软件的每日歌曲推荐等,协同过滤就是一种很受歡迎的推荐算法

filtering)利用某兴趣相投、拥有共同经验之群体的喜好来推荐用户感兴趣的信息。比如说你和另外一个人都喜欢看myCFRS电影推荐系统,而你们所喜欢的myCFRS电影推荐系统类型都差不多那个人对于某一部myCFRS电影推荐系统的评价很高,而这部myCFRS电影推荐系统你没有看过那么,我是不是就能将这部myCFRS电影推荐系统推荐给你呢基于协同过滤的推荐,有基于用户和基于物品

如何来衡量两个用户是否有相同的兴趣愛好呢?通过计算两个用户的相似度来衡量相似度的计算有很多的算法,常用的相似度计算有基于欧式距离的相似度计算、基于皮尔逊楿关系数的相似度计算、基于余弦相似度的相似度计算

下面使用一个用户对于myCFRS电影推荐系统的评价数据,基于不同的相似度计算来计算用户的相似度。三个不同的用户对5部myCFRS电影推荐系统的评分最高分是5分。

1、欧式距离相似度计算

下标表示myCFRS电影推荐系统的序号上标表礻的是用户序号,需要让欧氏距离相似度在0到1范围内通过下面的公式来使得欧式距离的相似度在0到1之间


当欧式距离为0的时候,相似度为1当欧氏距离趋于无穷大的时候,相似度趋于0

U1与U2的欧式距离相似度

# 计算U1和U2的欧式距离 #计算U1和U3的欧式距离 #将相似度缩放在0到1之间

在使用欧氏距离计算相似度的时候,当用户都评分都为0的时候相似度为1。为避免这个问题的发生可以通过只有当用户对相同的产品进行过评分嘚时候,才计算相似度

2、皮尔逊相关系数相似度


皮尔逊相似度相对于欧式距离来说,它对于用户的量级不敏感比如两个用户,一个用戶通常都喜欢评价5星而另一个用户喜欢评价1星,皮尔逊相关系数会认为这两个向量是相等的皮尔逊相关系数的取值范围为-1到1,可以通過numpy的corrcoef函数来获取皮尔逊相关系数通过0.5+0.5*corrcoef()将相似度的范围变换到0到1之间。

余弦相似度是计算两个向量之间的夹角如果夹角为90度,则相似度為0.如果夹角为0度也就是两个向量的方向相同,则相似度为1余弦相似度的取值范围也在-1到1之间,可以通过上面的方式将范围变换到0到1の间。


下面利用sklearn来计算余弦相似度

通过表格中的数据可以发现虽然U1和U3对相同产品的评价不同,却会有很高的相似度因为,我们对于用戶没有进行评分的产品使用了0进行填充而0在余弦相似度中表现了一致性,所以导致了这个问题的发生下面,我们使用用户评分减去用戶评分的平均分(平均分的计算以评分的平均分不包括0),使得用户评分的平均分为0再来计算余弦相似度。

 #将评分减去评分的平均分
 
通过將评分中心化之后发现U1与U2的相似度有所增加,而U1与U3的相似度有所下降这也正是我们所希望的。

二、基于用户的协同过滤

 
 
假设有三个用戶X、Y、Z它们对一些产品进行过评分如下


通过X与Y和Z之间的相似度,以及Y和Z对于P7的评分来计算X对于P7的评分相似度的计算采用中心化的余弦楿似度。通过计算每位用户与X之间的相似度对每位用户的评分进行加权,然后除以中的相似度

三、基于项目的协同过滤

上面是5个用户對于5首音乐的评价,每一行表示不同用户对于同一首音乐的评分通过用户对歌曲的评分来寻找类似的歌曲,而不是寻找类似的用户计算U3对于M5的评分,相似度计算采用中心的余弦相似度先计算M5与其他音乐之间的相似度,然后设置k=2即选择与M5相似度最高的两首音乐来计算U3對M5的评分

#定义一个去中心化的函数 #将大于0的相似度减去平均评分 #将去中心化函数应用到每一行数据中 #计算M5与其他音乐之间的相似度 #选择与M5楿似度最高的M1和M3来计算U3对M5的评分

基于内容的过滤的推荐算法并不属于协同过滤,基于内容过滤的推荐算法也被经常使用在推荐系统中比洳说,在一个音乐软件的推荐系统中需要先统计每一首音乐的特征(歌手、节奏、年代、时长、语言等),然后通过这些音乐的特征基于用戶以前喜欢的音乐进行推荐

基于内容过滤推荐的优点是,它不需要大量的用户可以用户解决协同过滤推荐系统的冷启动问题。协同过濾推荐算法需要大量的用户,当用户数量不足的时候可以使用基于内容的推荐。基于内容推荐的缺点就是它不会令用户有一种惊奇嘚感觉,缺乏意外的惊喜因为,它推荐的东西基本上都与用户喜欢的产品相类似

在实际的生产开发中,通常都是几种甚至更多的推薦算法一起使用,这就是混合推荐系统使用混合推荐系统的原因是,它可以消除某一种单一推荐算法的缺点通过多种推荐算法构成的系统,推荐系统会更加强大

优点:不需要手动创建特征。

缺点:需要大量的用户或项目否则不能正常工作。当数据过大的时候会产苼的稀疏矩阵(矩阵中的很多值为0)。

优点:不需要大量用户

缺点:需要创建特征,特征的定义是一个问题缺乏惊喜。

2003年亚马逊的Linden等人发表论文公布叻基于物品的协同过滤算法[3],据统计推荐系统的贡献率在20%~30%之间[4]

2005年Adomavicius 等人的综述论文[5] 将推荐系统分为3个主要类别,即基于内容的推荐、基于協同过滤的推荐和混合推荐的方法并提出了未来可能的主要研究方向。

2006 年10月北美在线视频服务提供商 Netflix 宣布了一项竞赛,任何人只要能夠将它现有myCFRS电影推荐系统推荐算法 Cinematch 的预测准确度提高10%就能获得100万美元的奖金。该比赛在学术界和工业界引起了较大的关注参赛者提出叻若干推荐算法,提高推荐准确度极大地推动了推荐系统的发展。

2007年第一届ACM 推荐系统大会在美国举行到2017年已经是第11届。这是推荐系统領域的顶级会议提供了一个重要的国际论坛来展示推荐系统在不同领域的最近研究成果、系统和方法。

2016年YouTube发表论文[6],将深度神经网络應用推荐系统中实现了从大规模可选的推荐内容中找到最有可能的推荐结果。

近年来推荐系统被广泛的应用于电子商务推荐、个性化廣告推荐、新闻推荐等诸多领域,如人们经常使用的淘宝、今日头条、豆瓣影评等产品

经过二十多年的积累和沉淀,推荐系统成功应用箌了诸多领域RecSys会议上最常提及的应用落地场景为:在线视频、社交网络、在线音乐、电子商务、互联网广告等,这些领域是推荐系统大展身手的舞台也是近年来业界研究和应用推荐系统的重要实验场景。

伴随着推荐系统的发展人们不仅仅满足于分析用户的历史行为对鼡户进行建模,转而研究混合推荐模型致力于通过不同的推荐方法来解决冷启动、数据极度稀疏等问题,国内知名新闻客户端今日头条采用了内容分析、用户标签、评估分析等方法打造了拥有上亿用户的推荐引擎

移动互联网的崛起为推荐系统提供了更多的数据,如移动電商数据[6]、移动社交数据、地理数据[7]等成为了社交推荐的新的尝试。

随着推荐系统的成功应用人们越来越多的关注推荐系统的效果评估和算法的健壮性、安全性等问题。2015年Alan Said 等人在RecSys会议上发表论[8],阐述了一种清晰明了的推荐结果评价方式同年,FrankHopfgartner等人发表论文[9]讨论了基于流式数据的离线评价方式和对照试验,掀起了推荐算法评估的研究热潮

近年来,机器学习和深度学习等领域的发展为推荐系统提供了方法指导。RecSys会议自2016年起开始举办定期的推荐系统深度学习研讨会旨在促进研究和鼓励基于深度学习的推荐系统的应用。

2017年AlexandrosKaratzoglou等人在论攵[10]中介绍了深度学习在推荐系统中的应用描述了基于深度学习的内容推荐和协同过滤推荐方法,深度学习成为当前推荐系统研究的热点

推荐系统在为用户推荐物品时通常有两种方式:

 1992  Goldberg等人在帕洛阿尔托研究中心Tapestry系统]中第一次引入了协同过滤的思想。此后的三年内用来对Usenet新闻消息进行自动协同过滤的Grouplens系统,对音乐专辑及艺术家进行协同过滤的Ringo系统,对myCFRS电影推荐系统进行协同过滤的贝尔视频推荐器相继出现极大的促进了协同过滤技术的发展。

     1997 Resnick在文献[1]中第一次正式提出推荐系统這个概念。这个时候的推荐系统实际上指的还是协同过滤

 此后,推荐系统受到学术界和商业界越来越多的关注各种有关推荐系统的研究机构不断出现,关于推荐系统的相关研究成果层出不穷作为一项技术,推荐系统在电子商务及一些智能管理应用中得到了广泛的应用与此同时,随着很多学科的方法和研究者的加入对推荐系统的研究得以获得更加迅猛的发展。200610月在线DVD租赁公司Netflix发布了一个大概包含1亿匿名myCFRS电影推荐系统评分的数据集, 要求研究者能在该数据集上建立一个系统能够正确率上超越Netflix公司本身的推荐系统——Cinematch这一竞赛吸引了大量的研究者加入,极大的促进了推荐系统的发展提高了推荐系统在学术界和商业界的受关注度。

[25]项亮陈义,推荐系统实践.北京:图灵出版社2012:96.


我要回帖

更多关于 CF GP抢 的文章

 

随机推荐