混合协同过滤算法在推荐系统中的应用
基于协同过滤算法的推荐系统研究

基于协同过滤算法的推荐系统研究一、引言在互联网时代,信息爆炸的背景下,推荐系统一度成为了各大互联网平台必备的技术。
推荐系统通过分析用户历史行为或者使用其他算法,为用户推荐个性化的产品,极大提升了用户体验。
协同过滤算法是推荐系统的核心算法之一,本文将会系统地研究基于协同过滤算法的推荐系统。
二、协同过滤算法协同过滤算法是一种基于用户之间的相似度或物品之间的相似度,来预测用户对物品的评价的算法。
协同过滤算法有两种实现方式:基于用户的协同过滤算法和基于物品的协同过滤算法。
基于用户的协同过滤算法是指通过分析用户历史行为,找出跟目标用户行为最相似的一些用户,然后将这些用户评价高的物品推荐给目标用户。
而基于物品的协同过滤算法则是指通过分析物品的评价数据,找出被目标用户喜欢的物品,然后推荐与这些物品相似的物品给目标用户。
协同过滤算法的优点是适用于各种类型的数据,缺点则在于数据稀疏问题,即对于少有人评价的物品,难以通过协同过滤算法来推荐给目标用户。
三、推荐系统架构设计推荐系统的架构设计分为三个阶段:数据处理、推荐算法和推荐结果的展示。
数据处理阶段主要需要对原始数据进行清洗处理,并将处理后的数据存储到数据仓库中。
推荐算法阶段需要选择适合场景的协同过滤算法,并通过模型训练与优化来提升推荐效果。
最后,推荐结果的展示需要在用户界面上呈现最终的推荐结果,包括推荐物品、推荐理由等。
四、协同过滤算法优化协同过滤算法存在的问题主要有三个:数据稀疏问题、冷启动问题和推荐结果的解释问题。
数据稀疏问题可以通过引入隐语义模型、奇异值分解(SVD)等技术来解决。
隐语义模型是一种通过对物品和用户进行向量表示,并通过矩阵分解找到对应的相似度,来解决数据稀疏问题的模型。
SVD是一种将矩阵分解成三个矩阵的方法,通过优化这三个矩阵,可以得到非常好的预测效果。
冷启动问题则可以通过引入基于内容的推荐算法来解决。
基于内容的推荐算法是一种通过分析物品的内容特征,来推荐类似的物品给目标用户的方法。
推荐系统中的协同过滤算法研究综述

推荐系统中的协同过滤算法研究综述一、引言随着互联网的迅猛发展,海量的信息和商品使得用户在面对选择时产生了困扰。
为了帮助用户发现他们可能感兴趣的信息或商品,推荐系统应运而生。
推荐系统通过分析用户的历史行为和兴趣,为其提供个性化的推荐,为用户节约时间和精力,提高用户的满意度。
而协同过滤算法作为推荐系统中的重要组成部分,其研究和应用已经取得了长足的进步。
本文将对推荐系统中的协同过滤算法进行综述,包括算法原理、优缺点以及最新的研究进展。
二、协同过滤算法的原理协同过滤算法主要基于用户的历史行为和其他用户的行为模式进行推荐。
其核心思想是通过挖掘用户之间的相似性或项目之间的关联性来进行推荐。
协同过滤算法可以分为基于用户的协同过滤和基于物品的协同过滤两种。
1. 基于用户的协同过滤基于用户的协同过滤算法假设喜欢相似物品的用户在其他物品上也可能有共同的兴趣,因此通过找到和当前用户兴趣相似的其他用户,将这些用户喜欢的物品推荐给当前用户。
该算法的核心是根据用户之间的历史行为计算用户之间的相似度,常用的相似度计算方法有皮尔逊相关系数、余弦相似度等。
然后根据相似度进行推荐,常用的推荐方法有基于邻居的方法和基于模型的方法。
2. 基于物品的协同过滤基于物品的协同过滤算法认为用户对同一物品的兴趣度是相似的,因此通过发现物品之间的关联性,将用户喜欢的物品的相似物品推荐给用户。
该算法的核心是根据物品之间的历史购买和评分行为计算物品之间的相似度,常用的相似度计算方法有余弦相似度、Jaccard相似度等。
然后根据相似度进行推荐,常用的推荐方法有基于邻居的方法和基于模型的方法。
三、协同过滤算法的优缺点协同过滤算法作为推荐系统中的主要算法之一,其具有一系列的优点和缺点。
1. 优点:(1)个性化推荐:协同过滤算法可以根据用户的个人兴趣和行为,针对每个用户进行个性化的推荐。
(2)扩展性好:协同过滤算法可以适应系统中新增的用户和物品,而无需对算法进行重大改动。
基于协同过滤算法的图书推荐系统研究

基于协同过滤算法的图书推荐系统研究随着互联网技术的发展,人们的阅读习惯也发生了改变,越来越多的人开始选择在网上阅读图书。
在这个大数据时代,如何利用海量的图书数据为读者提供更好的阅读体验成为了一个重要的问题。
而图书推荐系统正是一种能够解决这个问题的有效工具。
一、图书推荐系统的定义图书推荐系统是一种通过分析用户历史阅读记录和喜好来推荐其可能感兴趣的图书的算法系统。
它可以通过对大量用户的阅读行为和数据积累进行分析,找出用户的阅读喜好,从而为用户推荐更加符合其喜好的图书,实现个性化推荐。
二、协同过滤算法的原理在图书推荐系统的实现中,协同过滤算法是一种常用的推荐算法。
该算法的原理是通过分析用户的历史阅读行为以及多个用户之间的相似度,来推荐将来可能会感兴趣的图书。
具体来说,协同过滤算法将用户看作状态矩阵中的每一个元素,同时将物品也看作状态矩阵中的每一个元素。
在此基础上,通过对用户历史阅读记录和物品属性进行分析,协同过滤算法可以计算出每个用户之间的相似度,在此基础上为用户推荐感兴趣的图书。
三、协同过滤算法的应用协同过滤算法在图书推荐系统中的应用非常广泛。
以亚马逊图书推荐系统为例,该系统通过对用户历史购买记录和浏览记录的分析,为用户推荐与其购买记录相似的图书。
此外,国内的一些大型图书网站,如当当网、京东图书等也广泛应用协同过滤算法,通过对用户的历史阅读行为和浏览记录进行分析,为用户推荐与其兴趣相似的图书。
四、协同过滤算法存在的问题及解决方法虽然协同过滤算法在图书推荐系统中的应用非常广泛,但是该算法也存在着一些问题。
首先,协同过滤算法需要评估每个用户之间的相似度,这就需要耗费大量的计算资源。
此外,协同过滤算法仅能够基于历史行为数据进行推荐,且无法理解用户行为背后的动机及其隐含需求。
针对这些问题,一些研究者提出了相应的解决方案。
例如,通过引入深度学习技术,可以大幅度提高协同过滤算法的准确性和效率;通过对用户人口统计学数据和行为数据的联合分析,可以更好地理解用户行为背后的动机和需求。
基于协同过滤算法的音乐推荐系统设计与实现

基于协同过滤算法的音乐推荐系统设计与实现音乐推荐系统是利用计算机科学和人工智能技术来分析用户的音乐偏好,提供个性化的音乐推荐服务的应用程序。
而基于协同过滤算法的音乐推荐系统是其中一种常见且有效的推荐算法。
本文将介绍基于协同过滤算法的音乐推荐系统的设计与实现,并分析其优缺点。
首先,我们需要了解协同过滤算法。
协同过滤算法基于用户行为信息,通过分析用户与其他用户的相似性,推荐与用户兴趣相匹配的音乐。
它主要有两种实现方式:基于用户的协同过滤(User-based Collaborative Filtering)和基于物品的协同过滤(Item-based Collaborative Filtering)。
在设计音乐推荐系统时,首先需要建立用户-音乐评分矩阵。
这个矩阵记录了用户对不同音乐的评分情况。
接着,可以通过计算用户之间的相似度来实现基于用户的协同过滤算法。
常用的相似度计算方法有欧氏距离、余弦相似度等。
通过对相似度高的用户的评分情况加权平均,就可以得到对目标用户可能感兴趣的音乐进行推荐。
另一种实现方式是基于物品的协同过滤算法。
在这种方法中,首先需要计算音乐之间的相似度。
相似度可以使用和用户-音乐评分矩阵类似的方式来计算,只是在这里,我们计算的是不同音乐之间的相似度。
接着,对于目标用户,我们可以通过该用户已经评分过的音乐和其他音乐的相似度来预测用户对其他音乐的评分,并根据预测的评分进行推荐。
在实际实现过程中,还可以结合基于内容过滤的方法,将音乐的特征信息(如流派、歌手、年份等)纳入推荐系统中。
这样可以在协同过滤算法的基础上,进一步提高推荐系统的准确性。
另外,为了解决冷启动问题,还可以引入基于人口统计学数据和个性化用户问卷调查等方法,来获取新用户的兴趣和偏好信息。
基于协同过滤算法的音乐推荐系统具有以下优点:第一,它不需要事先对音乐进行特征提取或人工标注,只需要通过用户行为数据进行计算,更加便捷;第二,协同过滤算法能够挖掘用户之间的隐含关系,发现新的推荐音乐,丰富用户的听觉体验;第三,该算法对于稀疏的数据也有一定的鲁棒性,可以进行有效的推荐。
基于协同过滤的智能推荐系统研究

基于协同过滤的智能推荐系统研究一、引言随着互联网的快速发展,信息量也与日俱增,搜索引擎虽然可以帮助用户找到所需的信息,但是对于个性化推荐功能来说,搜索引擎存在的问题也越来越明显。
这时智能推荐系统就应运而生,重要成分之一的协同过滤技术也应运而生,被广泛应用在各领域中。
本文将重点介绍基于协同过滤的智能推荐系统在电子商务领域的应用,包括协同过滤技术的本质及其在电商推荐系统中的作用、推荐算法的优缺点、推荐系统的架构以及系统优化等方面。
二、协同过滤技术的本质及其在电商推荐系统中的作用协同过滤技术是一种基于用户历史行为数据的推荐算法,其核心思想是根据用户的历史行为记录(如浏览、购买、评价等)来预测用户的兴趣,并推荐相关产品。
协同过滤技术分为两种:基于用户的协同过滤和基于物品的协同过滤。
基于用户的协同过滤是指根据用户的历史行为记录,找到具有相似历史行为的其他用户,并利用这些用户的历史行为记录来推荐产品给目标用户。
基于物品的协同过滤是指找出与目标商品具有相似度高的其他商品,然后向目标用户推荐这些商品。
在电商推荐系统中,协同过滤技术能够帮助商家更好地了解用户的偏好,精准推荐商品,从而提高销售额。
同时,协同过滤技术也能够帮助用户发现更符合自己需求和兴趣的商品,提高购买满意度。
三、推荐算法的优缺点推荐系统中常用的协同过滤算法包括基于用户的协同过滤算法和基于物品的协同过滤算法。
基于用户的协同过滤算法优点是推荐结果更多样化,可以更好地反映用户的兴趣偏好。
缺点是需要在用户数量和商品数量较大时,进行大量的用户相似度计算和预测,计算量较大,推荐系统的运行速度可能会受到影响。
基于物品的协同过滤算法优点是计算量相对较小,更适用于大规模的商品推荐。
缺点是推荐结果可能比较单一,无法反映用户的多样化需求。
四、推荐系统的架构推荐系统通常分为离线计算和在线推荐两个阶段。
1. 离线计算阶段离线计算阶段是指推荐系统对历史数据进行处理分析,生成模型,以便后续推荐过程使用。
实现推荐系统:基于内容和协同过滤的算法

实现推荐系统:基于内容和协同过滤的算法推荐系统在当今的电子商务和社交媒体等平台上扮演着重要的角色。
它能够帮助用户快速发现自己感兴趣的内容和产品,提高用户体验和平台的粘性,同时也为平台的营销和推广带来了很大的价值。
基于内容和协同过滤的算法是目前主流的推荐系统算法,本文将深入探讨这两种算法的原理、特点和应用,并对它们进行比较和分析。
一、推荐系统概述推荐系统是一种利用算法为用户推荐商品、内容或者服务的系统。
通过分析用户的历史行为和兴趣,推荐系统能够为用户提供个性化、精准的推荐,帮助用户发现新的内容和产品,从而提高用户满意度和消费转化率。
推荐系统主要分为两种类型:基于内容的推荐和协同过滤的推荐。
基于内容的推荐是根据用户对商品或内容的历史喜好,从中挖掘出共同的特性和属性,然后为用户推荐具有相似特性和属性的商品或内容。
而协同过滤的推荐则是通过分析大量用户行为数据,找出具有相似行为模式的用户群体,然后将这些用户喜欢的商品或内容推荐给目标用户。
二、基于内容的推荐算法1.原理基于内容的推荐算法是根据商品或内容的特征和属性,为用户推荐具有相似特征和属性的商品或内容。
它不依赖于用户行为数据,而是直接对商品或内容进行分析和比较,从中挖掘出共同的特性和属性。
2.特点基于内容的推荐算法具有以下特点:(1)理解性强:算法能够直接理解商品或内容的特征和属性,为用户提供符合其兴趣的推荐。
(2)推荐精准:由于推荐是基于商品或内容的特征和属性,所以推荐结果往往更加精准,满足用户的个性化需求。
(3)新颖性差:基于内容的推荐算法往往不会给用户推荐过于新颖或偏离用户兴趣的商品或内容。
3.应用基于内容的推荐算法在电子商务、新闻资讯和社交媒体等平台上有着广泛的应用。
比如,亚马逊的商品推荐、今日头条的新闻推荐、豆瓣的图书推荐等,都是基于内容的推荐算法实现的。
三、协同过滤的推荐算法1.原理协同过滤的推荐算法是根据用户行为数据,找出具有相似行为模式的用户群体,然后将这些用户喜欢的商品或内容推荐给目标用户。
Java推荐系统使用协同过滤和推荐算法进行个性化推荐

Java推荐系统使用协同过滤和推荐算法进行个性化推荐随着互联网的快速发展,推荐系统在我们的日常生活中扮演了越来越重要的角色。
推荐系统能够根据用户的兴趣和行为,为用户提供个性化的推荐信息,提高用户的满意度和使用体验。
而在Java编程领域,我们可以利用协同过滤和推荐算法来构建一个强大的个性化推荐系统。
一、协同过滤算法协同过滤算法是推荐系统中的一种常用算法。
它通过发现用户的兴趣相似度或者物品的相似度,给用户推荐与其兴趣相似的物品。
协同过滤算法有两种主要类型:基于用户的协同过滤和基于物品的协同过滤。
1. 基于用户的协同过滤基于用户的协同过滤算法主要通过对用户之间的兴趣相似度进行计算,来实现推荐。
算法的具体过程如下:- 首先,计算用户之间的兴趣相似度。
可以使用余弦相似度等算法来计算用户之间的相似度。
- 然后,根据用户之间的相似度,找到与目标用户兴趣相似度最高的用户集合。
- 最后,根据与目标用户兴趣相似度最高的用户集合的兴趣,给目标用户推荐未曾浏览过的物品。
2. 基于物品的协同过滤基于物品的协同过滤算法则是通过计算物品之间的相似度,从而进行推荐。
算法的具体过程如下:- 首先,计算物品之间的相似度。
可以使用欧氏距离、皮尔逊相关系数等算法来计算物品之间的相似度。
- 然后,对于目标用户,找到他已经浏览的物品。
- 最后,根据浏览的物品的相似度,给用户推荐相似度高的其他物品。
二、推荐算法除了协同过滤算法,推荐系统还可以使用其他的推荐算法。
常见的推荐算法包括内容过滤、矩阵分解、深度学习等。
1. 内容过滤内容过滤算法主要通过分析用户的历史行为和物品的特征,来实现推荐。
它可以根据用户的兴趣爱好,给用户推荐相似的物品。
内容过滤算法的优点是不需要考虑用户之间的相似度,因此计算速度较快。
2. 矩阵分解矩阵分解算法是一种基于数学模型的推荐算法。
它通过分解用户-物品评分矩阵,得到用户和物品的低维度表示,从而进行推荐。
矩阵分解算法的优点是能够处理数据稀疏的情况,并且可以得到潜在的用户兴趣和物品特征。
协同过滤算法在推荐系统中的应用教程

协同过滤算法在推荐系统中的应用教程引言:推荐算法在现代互联网时代扮演着重要的角色,帮助用户过滤海量信息,提供个性化的推荐服务。
协同过滤算法是常用的推荐算法之一,它基于用户行为数据,通过发现用户间的相似性,预测用户可能感兴趣的物品。
本文将介绍协同过滤算法的原理,以及在推荐系统中的具体应用。
一、协同过滤算法的原理协同过滤算法是一种基于“群体智慧”的推荐算法,它的核心思想是通过借鉴用户间的相似性,推测一个用户对某个物品的喜好程度。
简单来说,协同过滤算法可以分为两种类型:基于用户的协同过滤和基于物品的协同过滤。
1. 基于用户的协同过滤算法基于用户的协同过滤算法是通过比较用户之间的兴趣相似度,找出相似用户之间的偏好,从而推荐物品给目标用户。
这个算法的基本步骤如下:- 计算用户之间的相似度。
常用的相似度计算方法包括余弦相似度、皮尔逊相关系数等。
- 选择相似度较高的用户集合。
一般会设定一个阈值,只选择相似度较高的用户进行推荐。
- 根据相似用户的行为数据,预测目标用户对未知物品的喜好程度。
- 依据预测结果,给目标用户推荐物品。
2. 基于物品的协同过滤算法基于物品的协同过滤算法则是通过比较物品之间的关联性,找出相似物品进行推荐。
这个算法的基本步骤如下:- 计算物品之间的相似度。
常用的相似度计算方法同样包括余弦相似度、皮尔逊相关系数等。
- 选择相似度较高的物品集合。
- 根据相似物品的历史推荐数据,预测目标用户对未知物品的喜好程度。
- 依据预测结果,给目标用户推荐物品。
二、协同过滤算法的应用协同过滤算法在推荐系统中有着广泛的应用,以下列举几个常见的应用场景。
1. 电商推荐系统在电商推荐系统中,协同过滤算法能够根据用户的历史浏览记录和购买行为,找出相似用户或相似商品进行推荐。
通过推荐用户可能感兴趣的商品,不仅能提升用户体验,还能增加商家的销售额。
2. 社交媒体平台社交媒体平台可以利用协同过滤算法为用户推荐感兴趣的社交圈子、群组或关注的用户。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收稿日期:2018-04-01 修回日期:2018-08-02 网络出版时间:2018-12-19基金项目:国家自然科学基金(61572260)作者简介:沈 鹏(1993-),男,硕士研究生,研究方向为大数据存储与计算;李 涛,硕士,副教授,研究方向为信号与信息处理在新型网络中的应用㊂网络出版地址:http :// /kcms /detail /61.1450.TP.20181219.1511.032.html混合协同过滤算法在推荐系统中的应用沈 鹏,李 涛(南京邮电大学通信与信息工程学院,江苏南京210003)摘 要:推荐系统主要由两个方法组成,即基于内容属性相似的推荐和基于协同过滤算法的推荐,这两种方法可以提供有意义的推荐㊂其中基于内容属性相似的推荐只是单纯地依赖物品之间的属性相似来构建推荐关系;而协同过滤算法推荐作为推荐系统领域的经典,它不会去研究物品的本身属性,正如名字描述的一样,严重依靠于用户的行为及其周边用户的协同行为㊂文中使用了一种改进的混合方法,充分考虑和利用了协同过滤算法和内容属性过滤的优点㊂讨论的算法与该领域以前的方法是不同的,因为它包括一个新颖的方法来找到两个事物之间的相似内容㊂包含了一个分析用以证明这个新的方法,并且阐述了它是怎样提供实用性的推荐的㊂与其他两种常用的方法进行比较,即纯协同过滤(Pure CF )和奇异值分解(SVD ),结果表明,该方法经过现有的用户和目标数据的测试,产生了有所改进的结果㊂关键词:推荐系统;协同过滤算法;内容属性相似;纯粹的协同过滤;奇异值分解中图分类号:TP 302 文献标识码:A 文章编号:1673-629X (2019)03-0069-03doi :10.3969/j.issn.1673-629X.2019.03.014Application of Hybrid Collaborative Filtering Algorithm inRecommendation SystemSHEN Peng ,LI Tao(School of Communication and Information Engineering ,Nanjing University of Posts andTelecommunications ,Nanjing 210003,China )Abstract :The recommendation system is mainly composed of two methods ,namely ,the recommendation based on the similarity of con⁃tent attributes and based on a collaborative filtering algorithm ,which can help in providing meaningful recommendations.Among them ,the former is simply relying on attribute similarity between items to build recommendation relationships ,while the latter is recommended as a classic of the field of recommendation systems ,not studying the attributes of items itself ,just as its name described ,relying heavily on the users ’behavior and the collaborative behavior of surrounding users.In this article ,we use an improved hybrid approach that fully considers and exploits the advantages of collaborative filtering algorithms and content attribute filtering.The algorithm discussed in this article is different from the previous method in this field because it includes a novel method to find similar content between two items.An analysis is contained to demonstrate this new method ,discussing how it provides practical pared with the other two commonly used methods ,Pure CF and SVD ,it shows that the method in this paper results in improved results by passing the test of existing users and target data.Key words :recommendation system ;collaborative filtering algorithm ;similarity of content attributes ;Pure collaborative filtering ;singular value decomposition0 引 言推荐系统是向用户推荐或建议适当的事物的机器软件㊂推荐系统主要由三个重要阶段组成,分别是目标数据收集,相似性判定和预测计算[1]㊂另外,市场上的推荐系统[2]主要基于三大方法[3]㊂基于内容[4]的方法充分利用物品的甚至是用户的内容(属性)㊂而文中方法使用了题材和标签㊂因此,使用这种方法可以发现一部电影的内容与用户喜欢的其他电影的内容之间的相似性[5]㊂为了预测目标用户的偏好,协同过滤也考虑了目标用户的近邻,用来发现邻居和目标用户第29卷 第3期2019年3月 计算机技术与发展COMPUTER TECHNOLOGY AND DEVELOPMENT Vol.29 No.3Mar. 2019之间的相似性,以便选择最相似的邻居并且将他们的评分和偏好推荐给目标用户[6]㊂因此,用户的偏好推荐将取决于在活跃用户的邻居中存在的其他用户㊂此外,协同过滤的领域依赖特性可能使其易受稀疏性和冷启动的影响㊂这种类型的推荐系统可以分为基于记忆的,基于模型的[7]以及两者的混合[8]㊂由于协同过滤在很大程度上取决于用户的评分,因此,如果域中的用户数量与事物相对比较低,则可能导致冷启动[9]㊂文中提出的混合方法是基于内容属性和协同过滤算法的[10]㊂在后面的章节中,将讨论混合协同过滤算法如何优于纯协同过滤算法[11]和基于内容属性的算法[12]㊂1 相关工作梅尔维尔等提出过一种内容提升的混合协同过滤算法,将内容和协同过滤算法结合起来提供推荐㊂用户-事物评分矩阵的稀疏度为97.4%,伪评级矩阵是使用了借鉴用户画像的基于内容的过滤算法计算出来的㊂内容提升的混合协同过滤算法中使用的朴素贝叶斯文本分类器对不同电影的内容进行比较和分类,并通过协同过滤方式生成的伪评分矩阵进行预测㊂对于两部电影之间的相似性,作者使用了Pearson相关性[13]进行度量㊂而文中方法修改了基于内容的算法部分,使用了一个简单的比较器,而不是根据朴素贝叶斯进行文本匹配,它可以比较和匹配在Movielens数据集上测试的两部电影的标签和题材,并与SVD和纯CF进行比较㊂此外还确定,与以前的模型相比,用户项目评分矩阵中的初始稀疏度较高㊂2 数据集描述为了测试修改后的混合内容推荐方法,使用了推荐系统的标配实验数据─Movielens数据集[14]㊂数据集中包含用户为特定电影提供的个人评级㊂该数据集中总共包含100004个评分,这些评分由671个用户给出,针对9125部电影,评分范围从0到5㊂电影的题材总数为20㊂用户和电影组成了671*9125的用户-事物评分矩阵,其中行表示用户,列表示电影㊂Mov⁃ielens数据集包含以下属性:userId,movieId,标题,评分,标签和题材㊂紧接着数据集被过滤,用文中算法对稀疏度为98.36%的用户评分矩阵进行了测试㊂数据集中最初提供的评分数量为100004㊂在这些评分中,将2000个评分分开,用于之后测试文中算法的准确性㊂分离这些评级后,留下了训练数据集,构成了98004个评分,其稀疏度为98.3%㊂现对于进一步的读数设置,从稀疏度增加的方向随机删除训练数据集中一定比例的评分,并用对预测评分进行测试㊂通过这种方式,总共采集了六次读数,其中的稀疏度从98.3%到99.8%不等㊂3 提出的方法文中提出的算法考虑了数据集中指定的标签和题材,并且对基于内容的预测,应用了一组匹配比较器㊂该比较器返回两部电影之间公共属性的数量㊂这里的属性一词是指标签和题材㊂对于每部特定的电影,标签和题材都合并到一个集合中㊂这给了每部电影庞大的内容,而更多的内容则可以产生更好的预测㊂获取一组通用属性后,计算每部电影的权重㊂一旦将权重分配给每个组,则它们将被用于使用先前比较的额定电影来提供未评级电影的评级㊂首先在该方法中,分配给用户的每部电影所打上的标签都要使用,并且将其转换为单个列表㊂每部电影的题材都附加到相同的标签列表中㊂该最终列表被称为特定电影的属性㊂将为每部有效影片设置的属性与数据集中每部其他影片的属性集进行比较,并将成功匹配的对象分配到一组㊂该组的长度用于预测评分,预测的公式如下所示:R=M*(Hr/M')其中,R为有效电影的评分;M为普通对象的数量;M'为数据集中任意两部电影之间匹配对象的最大数量;Hr(highest_rating)为可以分配给一部电影的最大评分,在该例中是5㊂如果评级大于2.5(阈值等于最低和最高评级的平均值),那么可以将该电影及其计算的评级分配给相似的一部有效电影的电影集㊂接下来,使用数据集构建用户评分矩阵㊂这个矩阵的稀疏度为98.36%㊂使用形成的相似电影列表,减少了用户评分矩阵的稀疏性㊂对于用户评分矩阵中的每个非零条目,使用上述步骤中形成的列表找到与其类似的影片㊂一旦来自用户评分矩阵的稀疏性降低,就使用Pearson相关性来应用CF,并据此为用户生成最终的预测㊂算法流程见图1㊂图1 改进的电影推荐混合协同过滤算法流程㊃07㊃ 计算机技术与发展 第29卷4 评 估在评估提出方法时,采用两种传统推荐方法作比较,即Pure CF和SVD㊂用这两种方法在相同的Mov⁃ielens数据集但不同的稀疏度上进行测试㊂此外,选择这两种方法进行评估和测试的原因在于,此前提出的内容提升的CF[10]的方法也是与这两种方法进行了比较㊂由于文中算法是为了比较梅尔维尔等所做的改进而设计的[10],因此,采用了前者在其工作中使用的相同评估方法进行测试㊂另外,凭借这种评估,可以清楚地看到提出的方法的结果和功效的差异㊂该模型使用平均绝对误差(MAE)进行评估㊂平均绝对误差是一个强大的评估模型,它是平均误差的更自然的度量㊂此外,维度评估和相互比较模型应该使用MAE作为评估指标[12],它是预测值与实际值的偏差㊂为了计算MAE,考虑了预测评分和实际评分㊂MAE值是在用户-事物矩阵的稀疏度级别不同上计算的,并针对所有三种算法分别进行了计算㊂此外,这里用于测试和评估的数据集要优于第二节提到的类似方法中使用的数据集㊂尽管用户总数较少,但是电影数量掩盖了这一事实,并且由于电影数量更多,因此允许算法在更稀疏的用户评分矩阵上运行,因此在下一节中提供的结果是合理的㊂5 结 果与Pure CF和SVD的方法进行比较的结果如表1所示㊂表1 混合CF㊁纯CF和SVD的MAE值Sparsity/%Hybrid CF Pure CF SVD98.30.7730.7692.52098.50.7740.7732.59298.70.7780.7752.761990.7810.7772.97899.50.8110.8213.20099.80.9020.9223.574 与Pure CF相比,发现文中方法对高稀疏度的有效性比Pure CF更好,MAE值比Pure CF产生的要稍高㊂原因是Pure CF算法取决于用户评分矩阵可用的数据,在高度稀缺的情况下,可用数据较少,因此Pure CF的性能表现不佳㊂另一方面,文中方法的主要兴趣领域是通过应用物-物比较来减少稀疏水平,因此,在这种情况下基于内容的过滤之后使用的CF比纯CF 在更高的稀疏性的情况下使用效果更好㊂在图2中可以看出,在稀疏水平为98.5%左右时,Pure CF和文中方法结果几乎没有差异,但在稀疏性进一步增加到99%左右的情况下,用Pure CF产生的结果的差异增加㊂如图3所示,当文中方法与SVD进行比较时,在稀疏度水平介于98%到100%的情况下,发现改进的混合CF推荐算法表现的比SVD更有效㊂从表1可以清楚地看出,在98.3%的稀疏度时,MAE是2.520,随着稀疏度的增加,MAE值也随之增加,两种算法的MAE值的差异是巨大的㊂由于数据稀疏性较低,SVD 无法有效执行㊂表2显示了提出的方法是如何成功地降低了给定用户-事物评分矩阵的稀疏性的㊂表2 应用混合CF之后改善的稀疏性%Initial sparsity Improved sparsity98.397.1598.597.2498.797.459997.8199.598.3799.898.94图2 Hybrid CF和Pure CF的MAE值与稀疏性的比较图3 混合CF和SVD的MAE值与稀疏性增加的比较6 结束语文中方法是一种新颖的替代方法,描述了一种可以在基于内容的过滤中使用集合交集来找到两个特征之间的相关性的简单方法,该方法可以找出两个事物(下转第76页)㊃17㊃ 第3期 沈 鹏等:混合协同过滤算法在推荐系统中的应用的表现都优于传统K -means ,并且在Iris ㊁Seeds ㊁Dum 不同数据集上均取得了较好的结果,说明K -means 算法在聚类中心选择上得到了一定程度的优化,拥有更好的刻画数据分布特征的能力㊂同时当工作节点数量小于一定值时,加速比㊁扩展比可出现理想的变化,说明算法具有较好的并行化能力,但是当工作节点过多或者实验数据集过小时,算法的并行化效果就会受到影响,有待进一步完善㊂参考文献:[1] 刘 辉.某些条件下的极大极小系统的全局最优解[D ].石家庄:河北师范大学,2017.[2] 张忠林,曹志宇,李元韬.基于加权欧式距离的k _means 算法研究[J ].郑州大学学报:工学版,2010,31(1):89-92.[3] 贾瑞玉,管玉勇,李亚龙.基于MapReduce 模型的并行遗传k -means 聚类算法[J ].计算机工程与设计,2014,35(2):657-660.[4] 冯晓云,陆建峰.基于Hive 的分布式K _means 算法设计与研究[J ].计算机光盘软件与应用,2013(21):62-64.[5] 刘宝龙,苏 金.双MapReduce 改进的Canopy -Kmeans 算法[J ].西安工业大学学报,2016,36(9):730-737.[6] 夏俊鸾,程 浩,邵赛赛,等.Spark 大数据处理技术[M ].北京:电子工业出版社,2015:67-68.[7] 侯 玥.基于最大最小距离聚类算法的改进多重心法选址研究[D ].大连:辽宁师范大学,2015.[8] 成卫青,卢艳红.一种基于最大最小距离和SSE 的自适应聚类算法[J ].南京邮电大学学报:自然科学版,2015,35(2):102-107.[9] ABED H ,ZAOUI L.Partitioning an image database by K _means algorithm [J ].Journal of Applied Sciences ,2011,11(1):16-25.[10]季 赛,谭 畅.基于UPGMA 聚类无线传感网络的簇头选择方法[J ].武汉理工大学学报,2010,32(16):139-142.[11]翟东海,鱼 江,高 飞,等.最大距离法选取初始簇中心的k -means 文本聚类算法的研究[J ].计算机应用研究,2014,31(3):713-715.[12]于彦伟,王 沁,邝 俊,等.一种基于密度的空间数据流在线聚类算法[J ].自动化学报,2012,38(6):1051-1059.[13]SUN Qiao.An efficient distributed database clustering algo⁃rithm for big data processing [C ]//Proceedings of 20173rdinternational conference on computational systems and com⁃munications.[s.l.]:[s.n.],2017.[14]GUHA S ,RASTOGI R ,SHIM K ,et al.CURE :an efficientclustering algorithm for large databases [C ]//ACM SIG⁃MOD international conference on management of data.[s.l.]:ACM ,1998:73-84.[15]CUI Chunchun.Parallel CSA -FCM clustering algorithmbased on MapReduce [C ]//Proceedings of 2017internationalconference on sports ,arts ,education and management engi⁃neering.[s.l.]:[s.n.],2017.(上接第71页)之间的相似性并使用CF 预测它们的推荐㊂以前相关的方法在基于内容的算法中使用了朴素贝叶斯等文本分类器,而文中算法进一步测试并与Pure CF 和SVD 进行了比较㊂评估后生成的MAE 值提供了成功的比较㊂虽然混合内容推荐可产生更好的MAE 值,并将数据集的稀疏性提高了1%~2%,但使用较大的数据集进行测试时,结果可能会有所不同㊂参考文献:[1] 李 川.实时个性化推荐系统的设计与实现[D ].北京:北京邮电大学,2015.[2] 马晓迪,宣 琦,张 哲,等.协同过滤推荐算法在豆瓣网络数据上的研究[J ].计算机系统应用,2014,23(8):18-24.[3] HAN J ,ISHII M ,MAKINO H.A Hadoop performance mod⁃el for multi -rack clusters [C ]//5th international conference on computer science and information technology.Amman ,Jordan :IEEE ,2013:265-274.[4] 黄宜华.深入理解大数据:大数据处理与编程实践[M ].北京:机械工业出版社,2013.[5] WU Xindong ,ZHU Xingquan ,WU Gongqing ,et al.Datamining with big data [J ].IEEE Transactions on Knowledgeand Data Engineering ,2014,26(1):97-107.[6] MANYIKA J ,CHUI M ,BROWN B ,et al.Big data :the nextfrontier for innovation ,competition ,and productivity [R ].[s.l.]:[s.n.],2011.[7] 胡 涛,周 兵,郑明辉,等.基于Hadoop 的移动云存储系统研究与实现[J ].华中科技大学学报:自然科学版,2013,41:181-183.[8] 潘天鸣.基于Hadoop 平台的决策树算法并行化研究[D ].上海:华东师范大学,2012.[9] 王全民,苗 雨,何 明,等.基于矩阵分解的协同过滤算法的并行化研究[J ].计算机技术与发展,2015,25(2):55-59.[10]杨志伟.基于Spark 平台推荐系统研究[D ].合肥:中国科学技术大学,2015.[11]艾聪聪.推荐系统中多样性和新颖性算法研究[D ].长沙:湖南大学,2014.[12]CHEN Y ,HARPER F M ,KONSTAN J ,et al.Social compar⁃isons and contributions to online communities :a field experi⁃ment on movie lens [J ].American Economic Review ,2010(4):1358-1398.[13]刘建国,周 涛,郭 强,等.个性化推荐系统评价方法综述[J ].复杂系统与复杂性科学,2009,6(3):1-10.[14]马建威,徐 浩,陈洪辉.信息推荐系统中的朋友关系预测算法设计[J ].国防科技大学学报,2013,35(1):163-168.㊃67㊃ 计算机技术与发展 第29卷。