个性化推荐算法概述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

个性化推荐算法概述

毛天骄

随着互联网上信息资源的爆炸性增长,用户从互联网上获取自己感兴趣资源的难度也相应的增加。如何针对不同用户挖掘互联网上用户可能的感兴趣信息成了一个研究热点,从而个性化推荐系统应运而生。目前主流的推荐算法主要分为两类,一类是协同过滤推荐,另一是基于内容的推荐。前者基于用户之间的兴趣相似性,通过某种算法查找与目标用户最为相似的N个邻居,利用这N个邻居对目标用户还未评分的某个项目的评分来预测目标用户对该项目的评分;后者通过分析项目的内在结构和语义信息,找出目标用户可能感兴趣的某些项目,从而做出推荐。两种算法各有优劣,在不同的系统中得到了应用。有时为了得到更好推荐效果,会混合使用两种推荐算法,混合的方式有加权、变换、特征组合、层叠等等。下面将分别介绍协同过滤推荐算法和基于内容的推荐算法。

基于内容的推荐

基于内容的推荐算法是根据项目内容与用户偏好之间的相关性,向用户产生推荐。该方法运用用户以往对项目的偏好兴趣建立用户特征(User Profile),并对项目内容进行分析,评估项目与用户兴趣之间的相关性,进而判断并找出用户可能感兴趣的项目推荐给用户。

基于内容的推荐算法主要源于信息检索和信息过滤技术。由于信息检索和信息过滤技术多年来已经有大量显著的研究成果,同时目前基于文本的各种应用仍然广泛使用,因而现有的基于内容的推荐系统主要集中在基于文本的应用上,例如文档、Web 站点以及新闻信息等。不过,这类推荐系统一般都对传统的信息检索和信息过滤技术进行了改进,主要是在系统中建立了用户特征(Profile),其中包括关于用户品位、偏好和需求等用户相关信息。这些用户特征信息可以显式地从用户那里直接获取,例如通过向用户进行提问,在用户的回答中获取相关信息和知识;也可以隐式地获取,例如从用户过去的行为模式中学习。在建立了用户特征之后,在推荐过程中,系统将度量用户特征与项目之间的相似性,进而决定向用户推荐的项目。除了传统的信息检索方法以外,基于内容的推荐系统还引入了其他一些技术,主要是一些数据挖掘、机器学习领域的技术方法,包括Bayes 分类器,聚类,决策树,人工神经网络等。有别于传统的信息检索技术直接度量用户特征与项目之间的相似性,这些方法运用统计学习或机器学习技术建立模型,进而通过模型预测推荐的项目。

虽然使用基于内容的推荐算法,可以依据使用者过去的偏好,推荐出符合用户喜好习惯的项目,但是此方法有以下限制:

(1) 所能分析的项目内容仅限于能够用一系列的特征集合来表示的信息,而无法有效处理声音、图片、艺术品、影像等多媒体信息。

(2) 用户仅仅能够接收到与过去喜好类似的推荐项目,而无法找出与过去体验有所不同,同时又具有潜在意义的新颖性推荐。

(3) 无法处理品质、风格或观点。以文章为例,若两篇文章的主题相同,但其内容品质有所差别的时候,此方法无法有效分辨。

协同过滤推荐

协同过滤推荐系统是第一代被提出并得到了广泛应用的推荐系统。其核心思想是:利用用户的历史信息计算用户之间的相似性,然后利用与目标用户相似性较高的邻居对其他项目的评价来预测目标用户对特定项目的喜好程度。协同过滤系统的最大优点是对推荐对象没有特殊要求,能够处理音乐、电影等非文本结构化的对象。另外,协同过滤系统能够发现用户未曾评价或者接触过的某类新鲜项目,是基于内容的推荐无法做到的。

图1 典型的协同过滤推荐

一个典型的协同推荐系统见图1。系统的输入是一个所有用户对所有项目的评价矩阵,矩阵的第i 行第j 列的值表示用户U i 对项目I j 的评分。由于用户对项目的评分数据一般比较少,因此该矩阵为一个稀疏矩阵。那些没有数值的单元格M ij (1) 余弦相似性

表示用户i 还未对项目j 评分,也就是系统所要预测的目标。协同过滤算法的第一步是寻找与目标用户的相似用户集。目前有多种方法可以利用已有的用户评分数据寻找相似用户集,最常见的是余弦相似性和皮尔森(pearson )相关性。

()

(,)co s (,)R R sim u v u v ×==其中,(,)u v φ是是用户u 和v 共同评分的项目集,()u θ和()v θ分别是用户u 和用户v 的评分项目集,R u,i (2) pearson 相关相似性

表示用户u 对项目i 的评分。

()()

u v R R R R sim −−

其中,(,)u v φ是是用户u 和v 共同评分的项目集, R u,i 表示用户u 对项目i 的评

分,u R 和v R 表示用户u 和用户v 对项目的平均评分。

找到相似用户集之后,可以预测目标用户未评分项目的评分。通常综合考虑相似用户集中的用户预测目标用户对项目的最终评分。

协同推荐系统虽然得到了广泛的应用,但是也存在一些不可忽视的缺陷。其中最突出的问题是冷开始(Cold-Start)问题和稀疏性(Sparsity)问题。所谓冷开始问题就是当某些项目没有得到任何用户评价或者某些用户没有对任何项目做出评价时,系统无法推荐该项目或者预测该用户的偏好。所谓稀疏性问题,就是当系统的项目和用户数量十分庞大时,用户对项目的评价一般都非常稀少,难以找到相似用户集,大大影响了推荐系统的效率。

混合推荐算法

为了避免基于内容的算法和协同过滤算法各自的缺点,可以将两种算法结合起来使用。例如可以分别使用两种算法产生两个推荐结果集,直接呈现给用户;或者先用基于内容的过滤算法得到一个结果集,然后在这个结果集上使用协同过滤算法得到更加精确地结果,等等。也可以将这两种算法与其他推荐算法混合,弥补这两种方法的共同缺陷。在组合方式上一般有以下几种组合思路:

(1) 加权:加权多种推荐技术结果。

(2) 变换:根据问题背景和实际情况采用不同的推荐技术。

(3) 混合:同时采用多种推荐技术给出多种推荐结果,为用户提供参考。

(4) 特征组合:组合来自不同推荐数据源的特征被另一种推荐算法所采用。

(5) 层叠:先用一种推荐技术产生一种粗糙的推荐结果,第二种推荐技术在此推

荐结果的基础上进一步作出更精确的推荐。

(6) 特征扩充:一种技术产生附加的特征信息嵌入到另一种推荐技术的特征输入

中。

尽管理论上有很多种推荐组合方法,但在某一具体问题中并不见得都有效。组合推荐一个最重要的原则就是通过组合后要能避免或弥补各自推荐技术的弱点。

相关文档
最新文档