传统推荐算法的优化研究
2019-03-29
(华北电力大学 北京 102200)
一、研究背景及意义
在如今信息爆炸的时代,人们正面临着被数据包围,却又饥渴于知识的困境。随着互联网技术的发展,数据正在以指数的形式爆发式增涨。一组名为“互联网的一天”的数据是这样说的,一天之中,互联网的使用者们发送或接收2940亿封邮件、发出200万个社区帖子、上传5亿张图片、分享28800小时时长的视频,互联网一天产生的全部数据能刻满1.68亿张DVD[1]。众多的信息与知识蕴藏在这些数据之中,人们面对如此体量的数据想要获取自己想要的信息是有难度的。如何有效的在海量数据中获取用户想要的信息具有重大的研究意义。对于上述问题,前人已经有个很好的解决思路,那就是搜索引擎和推荐系统。
搜索引擎指自动从因特网搜集信息,经过一定整理以后,提供给用户进行查询的系统。搜索对于用户来说是一个主动的行为,用户在执行搜索操作之前需要对想要的信息有比较明确的认识,将关键词或者有关信息的描述输入搜索引擎,然后搜索引擎通过搜索算法收集到特定的信息,返回给用户。搜索引擎能够有效的帮助用户高效率的获取自己想要的信息,该技术的出现大大缩短了互联网用户获取知识的时间。该技术如今被广泛的应用在人类社会生活的方方面面,百度、谷歌、雅虎等公司都是搜索引擎巨头,人们日常生活衣食住行所需的各类知识都能够通过搜索引擎高效地获取[2]。但是搜索引擎也存在着局限性,用户在输入类似的关键词时得到的结果往往都是差别不大的,这样的缺乏个性化的信息显然是无法满足所有用户的需求,尤其是在音乐、电影、商品、图书等领域。不同的用户对于同一件物品很可能给出不同的描述,这样搜索引擎是无法满足用户之间的差异性的需求。针对用户个性化获取信息的问题,推荐系统给出了一个可行的解决方案。与搜索引擎不同,推荐系统接受的信息一般是模糊的不明确的。推荐系统通过搜集用户的行为特征,与推荐系统中的信息进行关联,然后形成推荐列表,将用户有可能需要的信息推荐给用户。如今大多数的应用或者服务都会兼顾以上两种方法,来为用户提供全面的、快速的、高效的、准确的信息获取服务。本文将聚焦个性化推荐技术进行研究。
个性化推荐技术在如今被应用的越来越广泛,几乎遍布了人们生活中的每一个角落,包括音乐、电影、新闻、邮件、电子商务、医疗、饮食、出行等各个领域。随着推荐技术和推荐系统的广泛应用,产生了大量的推荐算法[3]。例如基于内容的推荐算法、基于关联规则的推荐算法、基于协同过滤的推荐算法和混合推荐算法。这些都是比较经典的推荐算法,被许多人进行了深入的研究,并且被广泛的应用在各个领域中。其中协同过滤算法是被使用和研究的最广泛的,该算法具有众多的优点,例如它在推荐过程中是利用统计学的知识,而几乎不需要任何其他领域的知识,因此非常容易将其运用在各种工程之中。但是该算法也具有很多缺点和不足,例如数据的稀疏性问题、冷启动问题等。这些问题对于推荐算法的性能有很大的影响。
在数据爆炸信息过载的当今社会,个性化推荐技术作为人们获取信息的手段正在扮演者越来越重要的角色。它既解决了信息过载难题,又解决了搜索引擎缺乏个性化和必须明确目的性的缺陷。推荐算法被广泛的应用在各个领域,对推荐算法进行改进和优化具有重大的现实与实际意义。
二、课题研究现状
推荐系统的内核是推荐算法,推荐算法种类很多,通常被分为以下几类:基于内容的推荐算法;基于关联规则的推荐算法;基于协同过滤的推荐算法;混合推荐算法等。
基于内容的推荐算法出现较早,主要思想是根据物品的属性特征,构建项目属性向量,接着根据用户历史行为记录,构建用户兴趣偏好向量,通过比较用户兴趣偏好向量与用户未评价的各个项目的属性向量的相似度,对目标用户产生项目预测评分或 top-N 推荐。基于内容的推荐算法的优点是易于实现,推荐效果直观。缺点是复杂的项目难以提取出项目属性特征向量,有时需要人工进行提取,但是人的主观性往往导致提取标准难以统一,导致推荐效率下降。
基于关联规则的推荐算法的首要目标是挖掘出关联规则,例如那些同时被很多用户购买的物品之间的关联关系,这些具有关联关系的物品可以相互进行推荐。基于关联规则的推荐算法一般转化率较高,因为当用户购买了具有关联关系的若干项目后,购买相同关联关系的其他项目的可能性会变得更高。缺点是存在数据稀疏和冷启动的问题,还有热门物品容易被过度推荐。
基于协同过滤的推荐算法是个性化推荐算法中研究和应用最为广泛的推荐算法。协同过滤推荐算法只需要用户对项目进行评分,不需要用户特征和项目属性。主要分为以下两种:基于内存的协同过滤推荐算法和基于模型的协同过滤推荐算法。基于内存的协同过滤推荐又可以分为基于用户的协同过滤和基于项目的协同过滤。
基于用户的协同过滤算法主要有四个步骤:第一步,根据用户—项目评分矩阵,进行用户相似度计算,得到用户相似度矩阵;第二步,通过用户相似度,运用KN最近邻居算法,通过用户相似度大小选择与目标用户最近的K个邻居;第三步,利用目标用户的最近邻居集合,计算出目标用户的项目预测得分;第四步,选择预测评分值较大的N个进行目标用户的top-N推荐,基于项目的协同过滤和基于用户的协同过滤的计算过程类似。
基于模型的协同过滤通过数据挖掘、机器学习等知识建立用户-项目的评分预测模型,主要有以下两种方法:(1)基于矩阵的奇异值分解模型。将整个数据集的用户-项目评分矩阵,通过矩阵分解为用户特征矩阵和项目特征矩阵,从而降低矩阵的维度,进行相似度的计算并推荐;(2)基于聚类模型。如通过Canopy 聚类,K 均值算法等算法,对用户或项目进行聚类,从而对目标用户所属某一类的评分进行预测并推荐。
三、总结
个性化推荐技术极大的影响了人们获取信息的方式,极大的缩短了人们获取信息的时间,提高了人们获取信息的效率。研究的和发展推荐技术具有重要的意义。影响推荐算法性能最重要的两个问题就是数据稀疏和冷启动问题,这也是人们研究的重点。如何解决这两个问题,是优化推荐算法的重中之重。最常见的方案便是采用与其他算法结合,例如聚类或者矩阵分解,解决数据稀疏问题。挖掘数据中的隐式信息解决冷启动问题。在此基础上,不断寻找新的算法与推荐算法结合,不断挖掘新的隐式信息,是优化推荐算法的思路之一。国内外学者提出了各种解决方案,比如矩阵分解方法既可以解决数据稀疏性问题,也可以解决算法扩展性问题。向算法中融入用户的人口统计学信息、背景知识和信任关系可以缓解协同过滤技术的冷启动问题。另外,新的社会网络分析技术、大数据的并行技术,以及结合关键用户分析技术给其带来了新的契机,而如何利用这些技术提高系统的推荐精度和效率将会成为新的研究热点。