基于用户实时反馈的协同过滤算法
协同过滤相似度计算

协同过滤相似度计算协同过滤是一种常用的推荐系统算法,它通过分析用户之间的行为关系来计算物品之间的相似度,从而实现个性化推荐。
协同过滤算法分为基于用户的协同过滤和基于物品的协同过滤两种方法,下面将分别介绍这两种方法的相似度计算过程。
1.基于用户的协同过滤:基于用户的协同过滤是通过分析用户的行为数据,如用户对物品的评分或点击记录,来计算用户之间的相似度。
常用的相似度计算方法包括余弦相似度和皮尔逊相关系数。
-余弦相似度:余弦相似度用于度量两个向量的夹角的余弦值,计算公式如下:similarity(A, B) = cos(θ) = A·B / (,A,,B,)其中,A和B分别表示两个用户的行为向量,A·B表示向量A和向量B的内积,A,和,B,分别表示向量A和向量B的模。
-皮尔逊相关系数:皮尔逊相关系数用于度量两个变量之间的线性相关程度,计算公式如下:similarity(A, B) = cov(A, B) / (std(A) * std(B))其中,cov(A, B)表示向量A和向量B的协方差,std(A)和std(B)分别表示向量A和向量B的标准差。
2.基于物品的协同过滤:基于物品的协同过滤是通过分析物品被用户行为记录的情况,如物品的被评分记录或被点击记录,来计算物品之间的相似度。
常用的相似度计算方法包括余弦相似度和杰卡德相似度。
-余弦相似度:余弦相似度用于度量两个向量的夹角的余弦值,计算公式如下:similarity(A, B) = cos(θ) = A·B / (,A,,B,)其中,A和B分别表示两个物品的被行为记录向量,A·B表示向量A 和向量B的内积,A,和,B,分别表示向量A和向量B的模。
-杰卡德相似度:杰卡德相似度用于度量两个集合的交集与并集之间的比例,计算公式如下:similarity(A, B) = ,A ∩ B, / ,A ∪ B其中,A和B分别表示两个物品被行为记录的集合,A∩B表示两个集合的交集,A∪B表示两个集合的并集。
基于协同过滤算法的推荐系统研究

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

协同过滤算法答辩问题一、协同过滤算法的概念和原理协同过滤算法是一种推荐系统算法,它基于用户行为数据,通过分析用户之间的相似性或物品之间的相似性,来预测用户对某个物品的喜好程度。
其原理是建立一个用户-物品评分矩阵,并通过计算矩阵中用户之间或物品之间的相似度,来给出推荐结果。
二、协同过滤算法的分类1. 基于用户的协同过滤算法基于用户的协同过滤算法是通过计算用户之间的相似度来进行推荐。
其核心思想是:如果两个用户在过去喜欢和不喜欢的物品集合中有很多重合,那么他们在未来也可能会有相似的品味。
2. 基于物品的协同过滤算法基于物品的协同过滤算法是通过计算物品之间的相似度来进行推荐。
其核心思想是:如果两个物品经常被同一个用户喜欢,那么这两个物品就具有较高的相似度。
三、协同过滤算法实现步骤1. 数据收集与预处理首先需要收集并整理评分数据,构建用户-物品评分矩阵。
2. 相似度计算基于用户的协同过滤算法常用的相似度计算方法有:皮尔逊相关系数、余弦相似度等;基于物品的协同过滤算法常用的相似度计算方法有:欧氏距离、余弦相似度等。
3. 推荐生成根据用户之间或物品之间的相似度,对目标用户未评分但与其相似的其他用户已评分的物品进行预测评分,并按照预测评分从高到低排序,给出推荐结果。
4. 推荐结果筛选和优化为了提高推荐准确率和覆盖率,需要对推荐结果进行筛选和优化。
常用的方法有:基于流行度的推荐、基于多样性的推荐、基于时间衰减因子的推荐等。
四、协同过滤算法存在的问题及解决方案1. 冷启动问题当新用户加入系统或新物品上架时,由于缺乏历史行为数据,无法进行个性化推荐。
解决方案包括:基于内容的推荐、混合协同过滤算法等。
2. 数据稀疏性问题由于用户评分行为的不均匀性,导致评分矩阵中大部分元素都是空值,从而影响相似度计算和推荐准确率。
解决方案包括:加权相似度计算、基于领域的推荐等。
3. 灰群体问题当用户或物品数量较多时,很难找到具有明显相似性的子集,从而影响推荐准确率。
基于协同过滤算法的音乐推荐系统设计与实现

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

《基于协同过滤算法的个性化电影推荐系统的实现》篇一一、引言随着互联网技术的飞速发展,信息过载问题日益严重,用户面临着从海量数据中筛选出自己感兴趣的信息的挑战。
在电影推荐领域,如何为用户提供精准、个性化的电影推荐成为了一个亟待解决的问题。
协同过滤算法作为一种有效的推荐算法,在电影推荐系统中得到了广泛应用。
本文将介绍一种基于协同过滤算法的个性化电影推荐系统的实现。
二、系统需求分析在开发电影推荐系统之前,首先需要进行需求分析。
系统的主要目标是为用户提供个性化的电影推荐,以满足用户的兴趣和需求。
因此,系统需要具备以下功能:1. 用户注册与登录:保证推荐系统的用户信息安全。
2. 电影信息管理:包括电影的添加、删除、修改等操作,以便系统能够获取到最新的电影信息。
3. 用户行为记录:记录用户的观影行为,包括观影记录、评分等信息,以便系统进行协同过滤。
4. 电影推荐:根据用户的观影历史和评分等信息,为用户推荐符合其兴趣的电影。
三、协同过滤算法介绍协同过滤算法是一种基于用户行为的推荐算法,它通过分析用户的历史行为数据,找出与目标用户兴趣相似的其他用户,然后根据这些相似用户的喜好为目标用户推荐相应的电影。
协同过滤算法主要包括基于用户的协同过滤和基于物品的协同过滤两种方法。
四、系统设计在系统设计阶段,我们需要确定系统的整体架构、数据库设计以及协同过滤算法的实现方式。
1. 系统架构设计:本系统采用B/S架构,用户通过浏览器访问系统,系统后端负责处理用户的请求和数据存储。
2. 数据库设计:数据库中需要存储用户信息、电影信息、用户行为数据等。
用户信息包括用户名、密码、注册时间等;电影信息包括电影名称、导演、演员、类型、简介等;用户行为数据包括用户的观影记录、评分等信息。
3. 协同过滤算法实现:本系统采用基于物品的协同过滤算法。
首先,需要计算电影之间的相似度,可以通过计算电影的标签相似度、内容相似度等方式实现;然后,根据用户的观影历史和评分等信息,找出与用户兴趣相似的其他用户;最后,根据相似用户的喜好为用户推荐相应的电影。
电商平台的协同过滤推荐算法

电商平台的协同过滤推荐算法随着电商行业的发展,越来越多的消费者选择在电商平台上购买商品,越来越多的电商平台也进入了这一领域。
然而,对于消费者而言,面对着海量的商品,很难从中找到自己需要的产品。
为了解决这个问题,电商平台需要提供智能化的推荐服务,推荐那些与消费者兴趣相关的商品。
电子商务推荐系统实现的基本原理是收集和分析用户的行为数据,再运用一定的算法对其进行分析和挖掘,推荐用户可能感兴趣的商品或服务。
其中,协同过滤推荐算法是电商平台常用的一种推荐算法之一。
协同过滤推荐算法的原理非常简单:基于用户的历史行为信息,找出与该用户兴趣相似的其他用户或商品,然后推荐给该用户。
协同过滤推荐算法分为两种:基于用户和基于物品。
基于用户的协同过滤推荐算法通过计算用户之间的相似度来完成商品推荐,从而达到个性化的推荐效果。
而基于物品的协同过滤推荐算法则是通过计算物品之间的相似度来完成商品推荐。
电商平台根据消费者的历史购买记录、搜索关键字以及浏览记录等行为信息,经过数据挖掘和处理后,可以得到用户和商品的向量表示,利用协同过滤推荐算法建立用户与商品之间的关系矩阵。
在这个过程中,建立关系矩阵的方法很多,例如基于余弦相似度、皮尔逊相关系数等,通过合理选择建立关系矩阵的方法,可以更好地表达用户和商品之间的关系。
利用建立好的关系矩阵,可以通过各种算法计算出给用户最适合的商品推荐列表,例如“最近邻算法”、“基于隐语义模型的算法”等等。
最近邻算法是基于用户之间的相似度,找出与当前用户兴趣相似的邻居用户,然后推荐邻居用户购买的商品给当前用户;而基于隐语义模型的算法是通过对用户兴趣和商品特征进行降维和提取隐含特征,从而获得更准确和个性化的推荐结果。
需要注意的是,协同过滤推荐算法的效果,取决于收集的用户行为数据和建立关系矩阵的方法,因此,电商平台需要不断改进数据收集和更新算法,并且有效地处理用户的行为差异,以提高推荐效果。
此外,在电商平台推荐系统中,还需要注意保护用户的隐私信息,避免泄漏用户的购买信息。
大数据中的协同过滤算法及其应用

大数据中的协同过滤算法及其应用随着互联网的普及以及人工智能技术的发展,大数据已经成为当下的热门话题。
其中,协同过滤算法作为大数据技术的重要应用,也受到越来越多的关注。
本文将从协同过滤算法的基本原理、应用场景以及未来的发展方向三方面进行阐述。
一、协同过滤算法的基本原理协同过滤算法是一种基于用户行为的推荐算法,它的核心思想是通过分析用户的历史记录和喜好,为其推荐相似的物品或者其他用户所喜欢的物品。
这种算法的实现需要对用户数据进行收集和分析,通过计算用户之间的相似度,将相似度高的用户或物品进行匹配,从而实现推荐的功能。
具体来说,协同过滤算法可以分为两种类型:基于用户的协同过滤和基于物品的协同过滤。
基于用户的协同过滤是通过分析用户的历史记录和喜好,找到和该用户兴趣相似的其他用户,将这些用户所喜欢的物品推荐给该用户。
而基于物品的协同过滤则是通过分析物品之间的关系,找到和该物品相似的其他物品,将这些相似的物品推荐给用户。
二、协同过滤算法的应用场景协同过滤算法在各种领域中都有着广泛的应用。
其中,最典型的应用就是在电商平台中进行商品推荐。
例如,在淘宝或天猫等电商平台上,用户在进行购物时,平台可以通过分析用户的历史购买记录以及浏览记录,找到与其兴趣相似的其他用户或物品,将这些类似的商品推荐给用户,提高用户的购买率。
此外,协同过滤算法还可以应用在音乐、视频、新闻等领域中。
例如,在音乐推荐平台中,平台可以通过分析用户收听的音乐类型、歌手偏好等数据,找到和用户口味相近的其他用户,为其推荐同类音乐,提高用户满意度。
三、协同过滤算法的未来发展方向目前,协同过滤算法已经在各种领域中得到了广泛应用,但是同时也面临着一些挑战。
例如,协同过滤算法存在着数据稀疏性的问题,对于新用户或新物品的推荐效果可能不尽如人意。
此外,由于协同过滤算法主要依赖用户行为数据进行推荐,因此也面临着个人隐私保护等问题。
为了克服这些问题,未来协同过滤算法的发展方向主要有以下几个方面:首先,可以结合其他算法或者数据挖掘技术进行混合推荐。
推荐系统中的协同过滤算法原理及实现步骤

推荐系统中的协同过滤算法原理及实现步骤协同过滤算法是一种常用于推荐系统的算法,通过利用用户行为数据和物品属性信息来预测用户对物品的偏好,并推荐给他们可能感兴趣的物品。
本文将介绍协同过滤算法的原理和实现步骤。
一、协同过滤算法原理协同过滤算法基于相似性原理来进行推荐,可以分为两种类型:基于用户的协同过滤和基于物品的协同过滤。
1. 基于用户的协同过滤基于用户的协同过滤算法计算用户之间的相似性,然后根据相似用户的行为来推荐物品。
其核心原理是:如果两个用户在过去的行为中有相似的偏好和兴趣,那么他们在未来的行为中可能也会有相似的偏好和兴趣。
2. 基于物品的协同过滤基于物品的协同过滤算法计算物品之间的相似性,然后根据用户对相似物品的偏好来推荐物品。
其核心原理是:如果一个用户对某个物品有兴趣,那么他可能对与该物品相似的其他物品也有兴趣。
二、协同过滤算法实现步骤协同过滤算法的实现步骤可以分为以下几个步骤:1. 数据预处理在实施协同过滤算法之前,需要对用户行为数据进行预处理。
预处理的目的是清洗数据、处理缺失值和离群值,以及将数据转换为适合算法处理的格式。
2. 计算用户相似度或物品相似度对于基于用户的协同过滤,需要计算用户之间的相似性;对于基于物品的协同过滤,需要计算物品之间的相似性。
相似性可以使用余弦相似度、皮尔逊相关系数等方法进行计算。
3. 预测评分通过用户相似度或物品相似度,预测用户对未评分物品的评分。
对于基于用户的协同过滤,可以根据相似用户的评分加权平均来进行预测;对于基于物品的协同过滤,可以根据用户对相似物品的评分加权平均来进行预测。
4. 推荐物品根据预测的评分,为用户推荐可能感兴趣的物品。
可以根据预测评分的降序排序,选取Top N的物品作为推荐结果。
5. 评估算法效果为了评估协同过滤算法的效果,可以使用常见的评测指标,如准确率、召回率、覆盖率等。
三、总结协同过滤算法是一种常用的推荐算法,可以根据用户行为数据和物品属性信息进行预测和推荐。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相应地, 本文将用户在对某项目评分后, 相似度计算公式为 B + ΔB B' ( 6) = A' = C' 槡 D' D + ΔD C + ΔC 槡 槡 槡 C、 D 所表示的公式意义可知, B' 与 B 之间存在线性 由 B、 式( 6 ) 可以表示新用户评分前后的相似度关系, 则若在 关系, C、 D 已知的情况下, ΔB、 ΔC、 ΔD 和 B、 可以通过上述关系求出 评分后用户的相似度。 当对项目进行了初次评分或更新评分时, 更新机制需要 重新计算当前用户和其他用户的相似性, 因此本文将分别讨 用户评分对 ΔB、 论在初次评分和更新评分两种情况下, ΔC、 ΔD 的影响。
珔 珔 (R Ui - RUi ' ) ΔC = C' - C =
Z∈I ij'
∑R
Z∈I ij
U j, Z
珔 珔 珔 ( 8) - | I ij | ( R Ui - RUi ' ) RUj
2
∑( R
U i, Z
珔 -R Ui ' )
U i, Z
珔 - ∑ ( R U i, Z - RUt 的普及, 电子商务得到快速发展, 但由此带 [1 ] 来的信息过载 问题日益突出。 信息过滤技术是解决该问 题的有效方法, 电子商务推荐系统 即是运用信息过滤技术 向客户提供购买决策的具体实现 。推荐系统通过学习用户兴 趣偏好, 把适当的商品推荐给目标用户 。 推荐系统常用的推 基于人口统计的推荐算法和 荐算法有: 基于内容的推荐算法、 CF) [3 - 5] , 协同过滤算法( Collaborative Filtering, 其中协同过滤 算法是目前电子商务推荐系统中使用最为广泛 、 最为成功的 [6 ] 一类推荐算法 。 Breese 等人将协同过滤技术分成基于内存的协同过滤和 [6 ] 基于模型的协同过滤 。 基于内存的协同过滤是由商品的 评分数据得到目标用户具有相似兴趣爱好的邻居, 然后根据 邻居的爱好做出推荐。这种技术尽管能够充分利用用户的评 分数据, 但由于在推荐过程中需要耗费大量时间来计算最近 因而存在可扩展性问题 。基于模型的协同过滤, 首先 邻居集, 根据用户兴趣信息得出一个用户模型, 之后利用该模型在线 向客户做出推荐。模型的计算通常需要离线进行, 但在推荐 因此比基 时由于可以直接利用已经计算好的模型中的数据, 于内存的协同过滤有更敏捷的响应 。基于模型的推荐方法尽 管能通过定期更新数据的策略来适应用户兴趣的变化, 但不 能实时反映用户兴趣的变化 。 为了能充分反映用户兴趣的变化, 郑先荣等人 首先将 线性遗忘函数运用到协同过过滤算法中, 其思想是赋予每项
傅鹤岗等: 基于用户实时反馈的协同过滤算法 C' = C + ΔC D' = D + ΔD
1745 ( 4) ( 5)
的代价不高, 能够实现在线进行。 1. 1 用户相似度计算方法 查找与目标用户相似的邻居是推荐系统做出正确推荐的 一个重要步骤, 传统的协同过滤算法有三种方法来计算用户 [6 ] 的相似度: 余弦相似性、 相关相似性和修正的余弦相似性 。 上述三种方法, 都是依据用户对项目的评分向量来衡量用户 [6 ] [9 ] 的相似性, 然而 Breese 等人 以及 Herlocker 等人 通过实验 Pearson 相似性在最近邻居的查找上要优于另外两个公 表明, 式。本文在计算用户相似性时, 采用了 Pearson 公式:
表1 行 U1 Ui Uj Um 用户评分矩阵 列 I1 I2 Ii R U1 ,I i R U i,I i R U j,I i R U m,I i R U1 ,I1 R U1 ,I2 R U i,I1 R U i,I2 R U j,I1 R U j,I2 R U m,I1 R U m,I2 Ij R U1 ,I j R U i,I j R U j,I j R U m,I j In R U1 ,I n R U i,I n R U j,I n R U m,I n
基于用户实时反馈的协同过滤算法
傅鹤岗, 李 冉
( 重庆大学 计算机学院, 重庆 400044 ) ( leeran08@ 163. com)
要: 传统的基于内存的协同过滤算法存在可扩展性不足的问题, 而基于模型的协同过滤算法由于模型数据 。 的滞后, 造成推荐质量不高 针对以上情况, 提出一种基于用户实时反馈的协同过滤算法, 该算法在用户提交项目评 从而更精确地反映用户的兴趣变化 。 实验结果表明, 该算法能够有效地 分之后能实现对推荐模型数据的实时更新, 提高推荐精确度并且大幅地缩短了推荐时间 。 关键词: 协同过滤; 相似性反馈机制; 平均绝对误差; 平均评分时间; 平均推荐时间 中图分类号: TP311 文献标志码: A
| Ii |
R U i + R U i, I j ' - R U i, Ij
| Ii |
+1
U i, Z
( 7)
ΔB = B' - B =
Z∈I ij'
∑( R
珔 珔 -R U i ' ) ( R U j, Z - RUj ) -
∑( R
Z∈I ij
U i, Z
珔 珔 -R U i ) ( R U j, Z - RUj ) =
[7 ] [2 ]
评分一个按时间衰减的权重, 最后按加权之后的评分来计算 该思想虽然反映了用户兴趣的变化趋势, 但并 用户的相似性, 没有解决数据实时更新的问题 。李聪等人提出基于项目的协 [8 ] 同过滤增量更新机制 , 实现了对项目相似性的实时更新, 但在更新项目相似度时, 用户对项目的平均评分发生改变使 得任何两项目之间的相似性都要发生改变, 而该算法只修改 造成更新后项目 了用户评价项目与其他项目之间的相似性, 间的相似性数据不真实 。 针对以上问题, 本文提出一种基于 该算法充分利用用户最新评 用户实时反馈的协同过滤算法, 分信息, 实现对用户模型数据的在线更新, 提高了推荐的质 量, 满足了在线推荐的要求 。
∑( R
sim( i, j) =
c∈I ij
i, c
- R i ) ( R j, c - Rj )
2
R j, j 对项目 C 的评分, Ri 、 R j 分别 其中: R i, c、 c 分别表示用户 i 、 表示用户 i 和用户 j 的评价评分。 1. 2 用户反馈更新机制模型 user based 本文提出的基于用户实时反馈更新( FeedBackFBCF) 的机制, CF, 将基于模型的推荐算法与基于内存的推 荐算法结合, 分为用户评价自反馈和用户评价间接反馈两部 分。用户评价自反馈反映了用户更新评分对自身推荐结果的 直接影响, 用户评价间接反馈则反映了用户的评分更新对所 有用户推荐结果的间接影响, 其表现形式为更新用户间相似 “最近邻居 ” 度矩阵, 从而改变活动用户 的值。 当用户更新了 系统触发数据更新机制, 通过更新算法来更新数据库 评分时, 中用户间的相似度, 从而使用户的相似度一直处于最新状态 。 系统推荐时, 一方面, 系统获取活动用户的最近邻居集合, 并 由式( 12 ) 求出项目的评分; 另一方面, 系统会获取用户的历 史评分, 两者综合得出对项目的最终评分, 该机制流程如图 1 所示。
1
基于用户实时反馈的协同过滤算法
基于用户实时反馈的协同过滤算法的基本思想是在用户
对商品进行评价时, 利用用户最新的评价信息来自动更新推 荐模型, 从而在每次推荐时, 能够使用最新的模型数据对用户 做出推荐, 这样推荐模型就能实时反映用户的兴趣变化, 使推 荐的精度提高。 该算法分为两个过程: 1 ) 系统的初始化工 该过程是建立用户推荐模型的过程, 即利用相关的用户相 作, 似度公式计算用户之间的相似性, 该过程需要消耗很长的时 间, 需要离线进行。2 ) 利用反馈更新机制对数据进行更新, 本文的反馈机制分为用户评价自反馈和用户评价间接反馈两 分别从直接影响用户兴趣爱好和用户兴趣相似度两个 部分, 方面来反映用户兴趣的变化 。由于更新机制只是在项目评价 发生改变时才对推荐模型局部进行更新, 因此更新模型所需
槡
∑( R
c∈I ij
i, c
- Ri )
槡
∑( R
c∈I ij
j, c
- Rj )
2
( 1)
U i 共同 假设, 用户 U i 对项目进行评分, 评分前后用户 U j 、 、 、 评分的项目集合 用户 U i 评分的项目集合 评分前后用户 U i I ij ' 、 Ii 、 Ri 、 Ri ' , 的平均评分分别记为: I ij 、 则: 1 ) 用户 U i 对项目 I j 进行了重新评分 R U i, Ui 共 用户 U j 、 Ij ' , 同评分的项目集合 I ij 不变,用户 U i 的平均评分变为: 珔 R Ui ' =
李冉( 1983 - ) , 男, 山东泰安人, 硕士研究生, 主要
收稿日期: 2010 - 12 - 20 ; 修回日期: 2011 - 01 - 27 。 作者简介: 傅鹤岗( 1950 - ) , 男, 重庆人, 副教授, 主要研究方向: 软件工程、 电子商务; 研究方向: 电子商务。
第7 期
Abstract: Traditional memorybased collaborative filtering algorithm has the problem of bad scalability,while the modelbased collaborative filtering algorithm,due to lagged updating hysterics,has the problem of bad recommendation. To solve the above problems, a collaborative filtering algorithm based on realtime users' feedback was proposed, which achieved that recommender system can finish the realtime updating of the model data when a new rating was submitted by active user. Hence, recommender system can reflect the changing of user interest accurately. The experimental results indicate that the algorithm can improve the recommendation accuracy efficiently and reduce the recommendation time significantly. Key words: Collaborative Filtering ( CF) ; similarity feedback mechanism; Mean Absolute Error ( MAE) ; Mean Access Time ( MAT) ; Mean Recommended Time ( MRT)