基于项目评分预测的协同过滤推荐算法_邓爱林 (1)

合集下载

基于协同过滤算法的推荐系统研究

基于协同过滤算法的推荐系统研究

基于协同过滤算法的推荐系统研究一、引言在互联网时代,信息爆炸的背景下,推荐系统一度成为了各大互联网平台必备的技术。

推荐系统通过分析用户历史行为或者使用其他算法,为用户推荐个性化的产品,极大提升了用户体验。

协同过滤算法是推荐系统的核心算法之一,本文将会系统地研究基于协同过滤算法的推荐系统。

二、协同过滤算法协同过滤算法是一种基于用户之间的相似度或物品之间的相似度,来预测用户对物品的评价的算法。

协同过滤算法有两种实现方式:基于用户的协同过滤算法和基于物品的协同过滤算法。

基于用户的协同过滤算法是指通过分析用户历史行为,找出跟目标用户行为最相似的一些用户,然后将这些用户评价高的物品推荐给目标用户。

而基于物品的协同过滤算法则是指通过分析物品的评价数据,找出被目标用户喜欢的物品,然后推荐与这些物品相似的物品给目标用户。

协同过滤算法的优点是适用于各种类型的数据,缺点则在于数据稀疏问题,即对于少有人评价的物品,难以通过协同过滤算法来推荐给目标用户。

三、推荐系统架构设计推荐系统的架构设计分为三个阶段:数据处理、推荐算法和推荐结果的展示。

数据处理阶段主要需要对原始数据进行清洗处理,并将处理后的数据存储到数据仓库中。

推荐算法阶段需要选择适合场景的协同过滤算法,并通过模型训练与优化来提升推荐效果。

最后,推荐结果的展示需要在用户界面上呈现最终的推荐结果,包括推荐物品、推荐理由等。

四、协同过滤算法优化协同过滤算法存在的问题主要有三个:数据稀疏问题、冷启动问题和推荐结果的解释问题。

数据稀疏问题可以通过引入隐语义模型、奇异值分解(SVD)等技术来解决。

隐语义模型是一种通过对物品和用户进行向量表示,并通过矩阵分解找到对应的相似度,来解决数据稀疏问题的模型。

SVD是一种将矩阵分解成三个矩阵的方法,通过优化这三个矩阵,可以得到非常好的预测效果。

冷启动问题则可以通过引入基于内容的推荐算法来解决。

基于内容的推荐算法是一种通过分析物品的内容特征,来推荐类似的物品给目标用户的方法。

信息检索几种相似度计算方法作对比

信息检索几种相似度计算方法作对比

句子相似度地计算在自然语言处理具有很重要地地位,如基于实例地机器翻译( )、自动问答技术、句子模糊匹配等.通过对术语之间地语义相似度计算,能够为术语语义识别[]、术语聚类[]、文本聚类[]、本体自动匹配[]等多项任务地开展提供重要支持.在已有地术语相似度计算方法中,基于搜索引擎地术语相似度算法以其计算简便、计算性能较高、不受特定领域语料库规模和质量制约等优点而越来越受到重视[].相似度计算方法总述:《向量空间模型信息检索技术讨论》,刘斌,陈桦发表于计算机学报,相似度():指两个文档内容相关程度地大小,当文档以向量来表示时,可以使用向量文档向量间地距离来衡量,一般使用内积或夹角地余弦来计算,两者夹角越小说明似度越高.由于查询也可以在同一空间里表示为一个查询向量(见图),可以通过相似度计算公式计算出每个档向量与查询向量地相似度,排序这个结果后与设立地阈值进行比较.如果大于阈值则页面与查询相关,保留该页面查询结果;如果小于则不相关,过滤此页.这样就可以控制查询结果地数量,加快查询速度.资料个人收集整理,勿做商业用途《相似度计算方法综述》相似度计算用于衡量对象之间地相似程度,在数据挖掘、自然语言处理中是一个基础性计算.其中地关键技术主要是两个部分,对象地特征表示,特征集合之间地相似关系.在信息检索、网页判重、推荐系统等,都涉及到对象之间或者对象和对象集合地相似性地计算.而针对不同地应用场景,受限于数据规模、时空开销等地限制,相似度计算方法地选择又会有所区别和不同.下面章节会针对不同特点地应用,进行一些常用地相似度计算方法进行介绍.资料个人收集整理,勿做商业用途内积表示法:《基于语义理解地文本相似度算法》,金博,史彦君发表于大连理工大学学报,在中文信息处理中,文本相似度地计算广泛应用于信息检索、机器翻译、自动问答系统、文本挖掘等领域,是一个非常基础而关键地问题,长期以来一直是人们研究地热点和难点.计算机对于中文地处理相对于对于西文地处理存在更大地难度,集中体现在对文本分词地处理上.分词是中文文本相似度计算地基础和前提,采用高效地分词算法能够极大地提高文本相似度计算结果地准确性.本文在对常用地中文分词算法分析比较地基础上,提出了一种改进地正向最大匹配切分()算法及歧义消除策略,对分词词典地建立方式、分词步骤及歧义字段地处理提出了新地改进方法,提高了分词地完整性和准确性.随后分析比较了现有地文本相似度计算方法,利用基于向量空间模型地方法结合前面提出地分词算法,给出了中文文本分词及相似度计算地计算机系统实现过程,并以科技文本为例进行了测试,对所用方法进行了验证.这一课题地研究及其成果对于中文信息处理中地多种领域尤其是科技类文本相似度地计算比较,都将具有一定地参考价值和良好地应用前景.资料个人收集整理,勿做商业用途《随机内积空间》,林熙,郭铁信发表于科学通报,称(,盘)为数域上地以概率空间(口,,)为基地随机内积空间(,简空间),若是数域上地线性空间且映射盘:×(口,)满足,∈,∈,资料个人收集整理,勿做商业用途(一):∈(口)且((.)一.{一(中零元);(一):()一”();其中¨表地共轭随机变量.(一):¨(∞)一Ⅲ(∞);..(一):.,,()一,.,(∞),,(∞)...若还存在零测集Ⅳ,使得对所有口\Ⅳ上述公理成立,则称,.劈)为一致随机内积空间.在空间中称为与地随机内积.资料个人收集整理,勿做商业用途余弦响亮度量方法:《基于云计算地余弦向量度量法文本检索模型》,付永贵发表在情报科学,目前信息检索技术在国内外已经取得了很大地究成果,为用户信息检索提供了很大地便利,具体体现在不同地检索模型地应用,比如布尔模型、扩布尔模型、向量空间模型、概率模型、潜在语义模、统计语言模型等等,在文本信息检索中向量空间型中地余弦向量度量法是应用相对广泛而且效率.资料个人收集整理,勿做商业用途经典地余弦向量度量法文本检索模型(⁃)中查询和文本均被看成是由索引项构成地向量,比如对于有个索引项地文本检索,可以由这个索引项构成地空间向量来表示查询和文本.则查询可以表示为:(,…),文本可以表示为:(,…).其中,(≤≤)分别表示查询和文本地第个索引项.在具体应用中通常用索引项在查询和文本地权值来表示其在查询和文本中地重要程度,则查询和文本可以用索引项权值构成地空间向量来表示,设(,…),(≤≤)表示索引项(≤≤)在查询中地权值,文本(,…),(≤≤)表示索引项(≤≤)在文本中地权值.资料个人收集整理,勿做商业用途《基于项目评分预测地协同过滤推荐算法》,邓爱林,朱扬勇,施伯乐发表在软件学报,度量用户间相似性地方法有多种,主要包括如种方法【:余弦相似性相关相似性及修正地余弦相似性·余弦相似性():用户评分被看做是维项目空间上地向量,如果用户对项目没有进行评分,则将用户对该项目地评分设为,用户间地相似性通过向量间地余弦夹角度量.设用户和用户,在维项目空间上地评分分别表示为向量,歹,则用户和用户之间地相似性() 分子为两个用户评分向量地内积,分母为两个用户向量模地乘积.相关相似性():设经用户和用户共同评分地项目集合用表示,则用和用户,之间地相似性()通过相关系数度量:.表示用户对项目地评分,和,分别表示用户和用户,对项目地平均评分.修正地余弦相似性():在余弦相似性度量方法中没有考虑不同用户地评分尺度问题,修正地余弦相似性度量方法通过减去用户对项目地平均评分来改善上述缺陷,设经用户和用户共同评分地项目集合用表示和分别表示经用户和用户评分地项目集合,则用户和用户之间地相似性()为资料个人收集整理,勿做商业用途.表示用户对项目地评分,和,分别表示用户和用户对项目地平均评分.:《信息检索向量空间模型》此方法看上去很好理解,就是用和文档共同出现地词地个数,除以一共地词数.当然也有很多问题没有考虑文档中词出现地次数(没有考虑因素)没有考虑文档地频率(没考虑因素)没有考虑文档地长度,长文档和短文档计算相似度地差别会很大系数主要用于计算符号度量或布尔值度量地个体间地相似度,因为个体地特征属性都是由符号度量或者布尔值标识,因此无法衡量差异具体值地大小,只能获得“是否相同”这个结果,所以系数只关心个体间共同具有地特征是否一致这个问题.如果比较与地相似系数,只比较和中相同地个数.资料个人收集整理,勿做商业用途信息科学与工程学院肖艳丽。

协同过滤算法流程

协同过滤算法流程

协同过滤算法流程协同过滤算法是推荐系统中常用的一种算法,主要用于个性化推荐。

协同过滤算法基于用户的历史行为数据,通过分析用户与物品之间的关联关系,来预测用户对未知物品的喜好程度。

下面将介绍协同过滤算法的流程。

首先,协同过滤算法可以分为两种:基于用户的协同过滤算法和基于物品的协同过滤算法。

基于用户的协同过滤算法是通过计算用户之间的相似度来进行推荐,而基于物品的协同过滤算法是通过计算物品之间的相似度来进行推荐。

协同过滤算法的流程大致分为以下几个步骤:1. 数据准备:首先需要收集用户的历史行为数据,包括用户对物品的评分、点击、购买等信息。

这些数据将作为算法的输入。

2. 相似度计算:接下来需要计算用户之间或物品之间的相似度。

对于基于用户的协同过滤算法,可以使用余弦相似度、皮尔逊相关系数等方法来计算用户之间的相似度;对于基于物品的协同过滤算法,可以使用余弦相似度、Jaccard相似度等方法来计算物品之间的相似度。

3. 预测评分:根据用户的历史行为数据和相似度计算结果,可以预测用户对未知物品的评分。

对于基于用户的协同过滤算法,可以通过加权平均的方式来预测用户对物品的评分;对于基于物品的协同过滤算法,可以通过加权平均的方式来预测用户对物品的评分。

4. 推荐结果生成:最后根据预测的评分,可以为用户生成个性化的推荐结果。

可以根据预测的评分进行排序,推荐给用户评分最高的物品。

总的来说,协同过滤算法的流程主要包括数据准备、相似度计算、预测评分和推荐结果生成四个步骤。

通过这些步骤,可以实现个性化的推荐,提升用户的使用体验。

协同过滤算法是推荐系统中的重要算法之一,对于提高推荐的准确性和用户满意度具有重要作用。

MathorCup优秀论文B题

MathorCup优秀论文B题

1.模型假设1、用户的读书兴趣在整个评分过程中没有发生变化;2、用户都会尽可能读自己感兴趣的书;3、书籍的不同的标签代表不同的类别;4、用户会对感兴趣的书籍反复阅读。

2.主要符号说明3.问题分析3.1第一问题的分析书籍的评分客观上取决于书籍本身的质量,同时也受到用户评分偏好等的主观影响。

根据附件中所给数据,我们首先定义书籍质量Q 、书籍受欢迎程度P 、用户评分偏好IP 、用户读书偏好BP 、以及社交圈评分影响SI 等五个因素。

然后从以上因素出发,分别分析它们对用户评分的影响。

3.2第二问题的分析在不考虑主观因素影响的条件下,同一用户对书籍质量Q 相同的书籍应具有相近的评分,首先,我们采用基于书籍相似性的协同过滤推荐算法,求出与预测书籍相似的邻居集;然后,通过邻居集对预测书籍给出预测评分。

3.3第三问题的分析给用户推荐的书籍,应尽可能的符合用户的读书偏好。

首先,我们求出了用户对书籍的关注度;其次,我们求出了用户的读书偏好;然后,求出符合用户偏好的书对用户的推荐指数;最后,找出推荐指数最高的书推荐给该用户。

4.模型建立与求解4.1第一问题的模型建立与求解 4.1.1分析书籍质量Q 因素的影响我们将书籍的平均得分定义为书籍质量Q ,定义如下:ibookIDi j i N i j score Q ∑==,)3,,(其中,)3,,(i j score 表示用户j 对书籍i 的评分,i N 表示参与对书籍i 评分的用户总数。

我们从附件user_book_score.txt 中随机找出100名用户,并对每一位用户作如下处理:Step1:找出用户所有评分书籍及对应分数; Step2:求出这些书籍的书籍质量Q ;Step3:求出用户评分与书籍质量的相关系数和置信水平。

用户7245481参与打分的书籍数量为517本,其中前10本的处理结果如表4-1所示。

表4-1 用户7245481打分与书籍质量书籍评分与书籍质量有显著的相关性。

推荐系统中的协同过滤算法实现方法

推荐系统中的协同过滤算法实现方法

推荐系统中的协同过滤算法实现方法随着互联网的快速发展和数据的爆炸增长,人们面临着信息过载的问题。

在这个信息过载的时代,推荐系统成为用户处理信息的重要工具。

推荐系统通过分析用户的历史行为和偏好,将合适的信息推荐给用户,提供个性化的服务。

协同过滤算法是推荐系统中最常用的算法之一。

它的核心思想是通过分析用户间的相似性,将一个用户的行为和喜好与其他用户的行为和喜好进行比较,从而推荐给该用户其他用户喜欢的项目。

协同过滤算法的实现方法主要有两种:基于用户的协同过滤算法和基于物品的协同过滤算法。

基于用户的协同过滤算法首先计算用户之间的相似度,然后根据相似度来预测用户对未知项目的评分。

在计算用户相似度时,可以使用不同的相似性度量方法,如皮尔逊相关系数、余弦相似度等。

根据用户相似度,可以使用加权平均或者加权和的方法来进行推荐。

基于用户的协同过滤算法的优点是简单易懂,容易实现和解释。

然而,当用户数量较多时,计算用户之间的相似度会变得复杂和耗时。

基于物品的协同过滤算法与基于用户的协同过滤算法类似,不同之处在于首先计算物品之间的相似度,然后根据相似度来为用户推荐物品。

与基于用户的算法相比,基于物品的算法更适用于系统物品比用户数量大的情况。

基于物品的协同过滤算法的计算代价低,适用于实时推荐系统。

然而,在物品数量较大时,计算物品之间的相似度也会变得复杂。

除了基于用户和物品的协同过滤算法,还有基于模型的协同过滤算法。

基于模型的协同过滤算法通过构建对用户和物品建模,从而预测用户对物品的评分。

常用的模型包括矩阵分解、深度学习等。

基于模型的协同过滤算法能够捕捉到更多的信息,提升推荐的准确性。

然而,由于建模的复杂性,计算代价通常较高。

在使用协同过滤算法时,还需要解决冷启动和稀疏性的问题。

冷启动问题指的是当新用户或新物品加入系统时,由于缺乏历史数据,无法准确推荐。

稀疏性问题是指用户评分数据通常是稀疏的,即很多用户只评分了一小部分项目。

一种优化的基于项目评分预测的协同过滤推荐算法

一种优化的基于项目评分预测的协同过滤推荐算法

向量 £和 , , 则用户 u和 / 3 之间的相似性 s u 为 i ,) m(
1 协 同过滤推 荐技术综 述
协 同过滤推荐技 术是 当前 最成功 的个性化推荐 技术… 。 在协 同过滤推荐 中, 用户通 过相互协作来选 择信息 , 即依据其 他用户对信息作 出的评价来挑选 信息。协 同过滤方 法对用户 的行为进行分析 , 并不关心 信息的实际 内容 , 系统通 过收集用 户对信息的评 价搜索具有相同兴趣爱好的用户 , 然后根据具有 相同兴趣爱好 的用户对信息的评价产生推荐结果 。 协同过滤推荐主要分为基于用户 的协 同过滤推 荐和基于
优 化后 的算法使计 算 出的项 目 间的相 似性更 准确 , 之 并有效地 解 决 了新 项 目的推 荐 问题 , 使得 数据 稀疏 性 对推
荐 结果 的负面影响 变小 , 显著提 高了 系统 的推 荐质量 。 关键词 :推 荐 系统 ;协同过滤 ;属 性相似性 ;评分相似 性
中图分类 号 :T ' 1 P 1 3
Ab t a t sr c :B n lzn h n c u a y o e i lrt a d n w i m rc mme d t n i r s n olb r t ef tr g ag — y a a y ig t e ia c r c f t m smi i y n e e e o i a t n a i n p e e t l oa i l i lo o c a v i en r h a e n i m r t g p e it n u d rd t s a st c n i o t i p p r p o o e n o t z d c l b rt e f tr g i m b s d o t a i r d ci n e aa p ri o dt n,h s a e r p s d a p i e ol oai l i t e n o y i mi a v i en

协同过滤算法在推荐系统中的应用教程

协同过滤算法在推荐系统中的应用教程

协同过滤算法在推荐系统中的应用教程引言:推荐算法在现代互联网时代扮演着重要的角色,帮助用户过滤海量信息,提供个性化的推荐服务。

协同过滤算法是常用的推荐算法之一,它基于用户行为数据,通过发现用户间的相似性,预测用户可能感兴趣的物品。

本文将介绍协同过滤算法的原理,以及在推荐系统中的具体应用。

一、协同过滤算法的原理协同过滤算法是一种基于“群体智慧”的推荐算法,它的核心思想是通过借鉴用户间的相似性,推测一个用户对某个物品的喜好程度。

简单来说,协同过滤算法可以分为两种类型:基于用户的协同过滤和基于物品的协同过滤。

1. 基于用户的协同过滤算法基于用户的协同过滤算法是通过比较用户之间的兴趣相似度,找出相似用户之间的偏好,从而推荐物品给目标用户。

这个算法的基本步骤如下:- 计算用户之间的相似度。

常用的相似度计算方法包括余弦相似度、皮尔逊相关系数等。

- 选择相似度较高的用户集合。

一般会设定一个阈值,只选择相似度较高的用户进行推荐。

- 根据相似用户的行为数据,预测目标用户对未知物品的喜好程度。

- 依据预测结果,给目标用户推荐物品。

2. 基于物品的协同过滤算法基于物品的协同过滤算法则是通过比较物品之间的关联性,找出相似物品进行推荐。

这个算法的基本步骤如下:- 计算物品之间的相似度。

常用的相似度计算方法同样包括余弦相似度、皮尔逊相关系数等。

- 选择相似度较高的物品集合。

- 根据相似物品的历史推荐数据,预测目标用户对未知物品的喜好程度。

- 依据预测结果,给目标用户推荐物品。

二、协同过滤算法的应用协同过滤算法在推荐系统中有着广泛的应用,以下列举几个常见的应用场景。

1. 电商推荐系统在电商推荐系统中,协同过滤算法能够根据用户的历史浏览记录和购买行为,找出相似用户或相似商品进行推荐。

通过推荐用户可能感兴趣的商品,不仅能提升用户体验,还能增加商家的销售额。

2. 社交媒体平台社交媒体平台可以利用协同过滤算法为用户推荐感兴趣的社交圈子、群组或关注的用户。

协同过滤算法简介

协同过滤算法简介

协同过滤算法简介一、算法概述协同过滤算法是一种推荐系统算法,它基于用户对物品的评分或者喜好程度,通过计算用户之间的相似度或物品之间的相似度,来给用户推荐他们可能感兴趣的物品。

该算法主要分为基于用户的协同过滤和基于物品的协同过滤两种类型。

基于用户的协同过滤算法是通过计算用户之间的相似度来推荐物品,具体而言,首先需要构建用户-物品的评分矩阵,然后计算用户之间的相似度,最后根据用户的相似度和用户对其他物品的评分来推荐物品。

基于物品的协同过滤算法则是通过计算物品之间的相似度来推荐物品,具体而言,首先也是构建用户-物品的评分矩阵,然后计算物品之间的相似度,最后根据用户对物品的评分和物品之间的相似度来推荐物品。

二、算法原理协同过滤算法的核心原理是基于用户行为的相似性,即如果两个用户有相似的行为模式,那么他们可能对相似的物品有相似的兴趣。

同样,如果两个物品被相似的用户喜欢,那么它们也可能是相似的物品。

因此,通过计算用户之间的相似度或物品之间的相似度,我们可以找到用户或物品的邻居,然后利用邻居的喜好信息来进行推荐。

基于用户的协同过滤算法中,用户之间的相似度计算通常使用皮尔逊相关系数或余弦相似度。

而基于物品的协同过滤算法中,物品之间的相似度计算通常使用余弦相似度或Jaccard相似度。

这些相似度计算方法都是基于向量空间模型的计算,它们可以度量用户或物品之间的相似度,从而为推荐系统提供依据。

三、算法优缺点协同过滤算法的优点是能够利用用户的实际行为数据进行推荐,不需要依赖物品的内容信息,因此可以推荐各种类型的物品。

而且,该算法可以自动适应用户的兴趣变化,不需要手动维护用户兴趣模型。

然而,协同过滤算法也存在一些缺点,首先是数据稀疏性问题,即用户对物品的评分数据通常是非常稀疏的,这会导致难以计算相似度;其次是冷启动问题,即对于新用户或新物品,由于缺乏历史行为数据,无法进行有效的推荐;最后是可伸缩性问题,当用户和物品数量非常庞大时,传统的协同过滤算法会面临计算复杂度和存储空间的挑战。

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

∗ Supported by the National High Technology Development 863 Program of China under Grant Nos.863-317-01-04-99, 863-306-
ZT06-07-02 ( 国家高科技发展计划(863)) 第一作者简介: 邓爱林(1975 -),男,湖北黄冈人,博士,工程师,主要研究领域为数据库,知识库.
度量用户间相似性的方法有多种, 主要包括如下 3 种方法[6] :余弦相似性、相关相似性以及修正的余弦相 似性. • 余弦相似性 (cosine):用户评分被看做是 n 维项目空间上的向量,如果用户对项目没有进行评分,则将用户 对该项目的评分设为 0, 用户间的相似性通过向量间的余弦夹角度量.设用户 i 和用户 j 在 n 维项目空间上的评 r r 分分别表示为向量 i , j ,则用户 i 和用户 j 之间的相似性 sim(i,j)为 rr r r i.j sim (i, j ) = cos(i , j ) = r r . i j 分子为两个用户评分向量的内积,分母为两个用户向量模的乘积. • 相关相似性(correlation):设经用户 i 和用户 j 共同评分的项目集合用 Iij 表示, 则用户 i 和用户 j 之间的相 似性 sim(i,j)通过 Pearson 相关系数度量: sim (i, j ) =
2
+ Corresponding author: Phn: 86-21-58755256, E-mail: dal5758@; dal5758@
Received 2002-08-08; Accepted 2002-09-30 Deng AL, Zhu YY, Shi BL. A collaborative filtering recommendation algorithm based on item rating prediction. Journal of Software, 2003,14(9):1621~1628. /1000-9825/14/1621.htm Abstract: Recommendation system is one of the most important technologies in E-commerce. With the
User1 … Userj … Userm Item1 R1,1 … Rj,1 … / … … … … … … Itemk R1,k … / … Rm, k … … … … … … Itemn / … Rj, n … Rm, n
Fata matrix 用户评分数据矩阵
A Collaborative Filtering Recommendation Algorithm Based on Item Rating Prediction
DENG Ai-Lin1,2+,
1
ZHU Yang-Yong1,
SHI Bai-Le1
(Department of Computer and Information Technology, Fudan University, Shanghai 200433, China) (Shanghai Telecom Technology Research Institute, Shanghai 200122, China)
development of E-commerce, the magnitudes of users and commodities grow rapidly, resulted in the extreme sparsity of user rating data. Traditional similarity measure methods work poor in this situation, make the quality of recommendation system decreased dramatically. To address this issue a novel collaborative filtering algorithm based on item rating prediction is proposed. This method predicts item ratings that users have not rated by the similarity of items, then uses a new similarity measure to find the target users’ neighbors. The experimental results show that this method can efficiently improve the extreme sparsity of user rating data, and provid better recommendation results than traditional collaborative filtering algorithms. Key words : E-commerce; recommendation system; collaborative filtering; item similarity; recommendation algorithm; MAE (mean absolute error) 摘 要: 推荐系统是电子商务系统中最重要的技术之一. 随着电子商务系统用户数目和商品数目的日益增加, 在整个商品空间上用户评分数据极端稀疏 ,传统的相似性度量方法均存在各自的弊端, 导致推荐系统的推荐质 量急剧下降 .针对用户评分数据极端稀疏情况下传统相似性度量方法的不足 ,提出了一种基于项目评分预测的 协同过滤推荐算法,根据项目之间的相似性初步预测用户对未评分项目的评分, 在此基础上, 采用一种新颖的相 似性度量方法计算目标用户的最近邻居. 实验结果表明, 该算法可以有效地解决用户评分数据极端稀疏情况下
邓爱林 等:基于项目评分预测的协同过滤推荐算法
1623
2 传统的相似性度量方法及其分析
协同过滤推荐根据其他用户的观点产生对目标用户的推荐列表, 它基于这样一个假设[1] :如果用户对一些 项目的评分比较相似, 则他们对其他项目的评分也比较相似. 协同过滤推荐系统使用统计技术搜索目标用户的 若干最近邻居,然后根据最近邻居对项目的评分预测目标用户对项目的评分,产生对应的推荐列表. 为了找到目标用户的最近邻居,必须度量用户之间的相似性, 然后选择相似性最高的若干用户作为目标用 户的最近邻居.目标用户的最近邻居查询是否准确, 直接关系到整个推荐系统的推荐质量.准确查询目标用户的 最近邻居是整个协同过滤推荐成功的关键. 用户评分数据可以用一个 m×n 阶矩阵 A(m,n )表示,m 行代表 m 个用户,n 列代表 n 个项目,第 i 行第 j 列的 元素 Ri,j 代表用户 i 对项目 j 的评分.用户评分数据矩阵如图 1 所示. 度量用户 i 和用户 j 之间相似性的方法是,首先得到经用户 i 和用户 j 评分的所有项目, 然后通过不同的相 似性度量方法计算用户 i 和用户 j 之间的相似性,记为 sim(i,j).
1000-9825/2003/14(09)1621
©2003 Journal of Software
软 件 学 报
Vol.14, No.9
基于项目评分预测的协同过滤推荐算法
邓爱林 1,2+, 朱扬勇 1, 施伯乐 1
1 2

(复旦大学 计算机与信息技术系,上海 200433) (上海电信技术研究院,上海 200122)
1622
Journal of Software
软件学报
2003,14(9)
传统相似性度量方法存在的问题,显著地提高推荐系统的推荐质量. 关键词: 电子商务;推荐系统;协同过滤;项目相似性;推荐算法;平均绝对偏差 中图法分类号: TP391 文献标识码: A
随着互联网的普及和电子商务的发展,推荐系统逐渐成为电子商务 IT 技术的一个重要研究内容,越来越多 地得到研究者的关注. 目前, 几乎所有大型的电子商务系统,如 Amazon,CDNOW, eBay,当当网上书店等, 都不同程 度地使用了各种形式的推荐系统. 最近邻协同过滤推荐是当前最成功的推荐技术 [1], 其基本思想就是基于评分相似的最近邻居的评分数据 向目标用户产生推荐 .由于最近邻居对项目 ( 电子商务中的商品、电影、音乐等 )的评分与目标用户非常相似, 因此目标用户对未评分项目的评分可以通过最近邻居对该项目评分的加权平均值逼近. 随着电子商务系统规模的进一步扩大, 用户数目和项目数据急剧增加,导致用户评分数据的极端稀疏性[1], 在用户评分数据极端稀疏的情况下, 传统相似性度量方法均存在各自的弊端, 使得计算得到的目标用户的最近 邻居不准确, 推荐系统的推荐质量急剧下降.针对用户评分数据的极端稀疏性, 本文提出了一种基于项目评分预 测的最近邻协同过滤推荐算法, 通过计算项目之间的相似性, 初步预测用户对未评分项目的评分, 然后采用一种 新颖的相似性度量方法计算用户的最近邻居. 实验结果表明, 本方法可以有效地解决用户评分数据极端稀疏情 况下传统相似性度量方法存在的不足,显著地提高推荐系统的推荐质量.
1 相关工作
为了产生精确的推荐, 保证推荐系统的实时性要求, 研究者提出了各种不同的推荐算法 ,如协同过滤推荐系 统、基于项目的协同过滤推荐、 Bayesian 网络技术、聚类技术、关联规则技术以及基于图的 Horting 图技 术等. Typestry[2]是最早提出来的基于协同过滤的推荐系统, 目标用户需要明确指出与自己行为比较类似的其他 用户.GroupLens [3] 是基于用户评分的自动化协同过滤推荐系统,用于推荐电影和新闻.Ringo 推荐系统[4] 和 Video 推荐系统 [5]通过电子邮件的方式分别推荐音乐和电影.Breese[1]等人对各种协同过滤推荐算法及其改进进行了 深入分析. 传统的协同过滤推荐通过用户的最近邻居产生最终的推荐, 基于项目的协同过滤推荐首先计算项目之间 的相关性,然后通过用户对相关项目的评分预测用户对未评分项目的评分[6]. Bayesian 网络技术利用训练集创建相应的模型 [7],模型用决策树表示,节点和边表示用户信息.训练得到的 模型非常小,所以对模型的应用非常快.这种方法适合于用户的兴趣爱好变化比较慢的场合. 聚类技术将具有相似兴趣爱好的用户分配到相同的簇中[8,9] ,聚类产生之后, 根据簇中其他用户对商品的评 价预测目标用户对该商品的评价.由于聚类过程离线进行,所以在线的推荐算法产生推荐的速度比较快. 关联规则技术在零售业得到了广泛的应用,关联规则挖掘可以发现不同商品在销售过程中的相关性. 基于 关联规则的推荐算法根据生成的关联规则模型和用户当前的购买行为向用户产生推荐[10]. 关联规则模型的生 成可以离线进行,因此可以保证有效地推荐系统的实时性要求. Horting 图技术是一种基于图的方法[11] ,节点代表用户, 边代表两个用户之间的相似度 .在图中搜索近邻节 点, 然后综合近邻节点的评分形成最后的推荐.Horting 图技术可以跳过中间节点寻找最近邻居, 考虑了节点之 间的传递相似关系.因此,推荐精度优于最近邻协同过滤技术. 针对数据的极端稀疏性问题, 文献 [12]提出通过奇异值分解 (SVD)减少项目空间的维数,使得用户在降维后 的项目空间上对每一个项目均有评分, 实验结果表明 ,这种方法可以有效地解决同义词 (synonymy) 问题 ,显著地 提高推荐系统的伸缩能力. 但降维会导致信息损失 , 降维效果与数据集密切相关 , 在项目空间维数很高的情况 下,降维的效果难以保证[13].
相关文档
最新文档