个性化推荐范文
时间:2023-03-31 18:05:17
导语:如何才能写好一篇个性化推荐,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
随着信息技术和互联网的迅速发展,人们逐渐从信息匮乏时代进入了信息过载时代。这个时代,对于信息生产者而言,如何让自己生产的信息脱颖而出,收到广大用户的关注是一件很困难的事情。对于用户而言,信息量的增大加重了找到感兴趣信息的负担,从而降低了信息的使用效率。推荐系统正是在这一环境中诞生的,它是根据用户的信息需求、兴趣等,将用户感兴趣的信息、产品等推荐给用户的个性化信息推荐系统。
1 推荐系统概念、组成要素
目前被广泛接受的推荐系统的概念和定义是Resnick和Varian在1997年给出的:“它是利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程”。个性化推荐系统主要由三个要素组成,分别是:候选对象、用户、推荐算法。推荐系统把用户模型中兴趣需求信息和推荐对象模型中的特征信息匹配,同时使用相应的推荐算法进行计算筛选,找到用户可能感兴趣的推荐对象,然后推荐给用户。
2 推荐技术
推荐算法是整个推荐系统中核心的部分,在很大程度上决定了推荐系统的质量。目前主要的推荐技术基本包括以下几种:基于关联规则的推荐技术,基于内容的推荐技术,协同过滤推荐技术和混合推荐技术。
2.1 基于关联规则的推荐技术
关联规则是数据中所蕴含的一类重要规律,对关联规则进行挖掘是数据挖掘中的一项根本任务,关联规则挖掘就是从数据项目中找出所有的并发关系,这种关系也称为关联。关联规则挖掘的经典应用就是购物篮数据分析,目的是找出顾客在商场(或普通店铺)所选购商品之间的关联。
关联规则可以这样表述。设I={i1,i2,…,in}为所有项的集合,事务T表示事务集合。数据库D为事务数据库。关联规则形如XY的蕴含式,其中X、Y均为项目集,并且X、Y没有交集。关联规则的强度可以用支持度和置信度表示。支持度为同时包含X、Y 项集的事务在数据库D中的百分比。置信度为包含X的事务同时也包含Y在数据库D中的百分比。目前已有大量文献提出关联规则挖掘算法,在众多算法中,最著名的是Apriori 算法。
Apriori算法是由Agrawal等人在1994年提出来的,是一种最有影响的挖掘布尔关联规则频繁项集的算法。该算法分两步进行:第一步,生成所有繁琐项目集,繁琐项目集是支持度高于最小支持度的项目集;第二步,从繁琐项目集中生成所有可信的关联规则,可信关联规则是置信度大于最小置信度的规则。
基于关联规则的推荐技术其优点是:简单直接,领域通用性强,规则的挖掘可以离线进行,可以保证推荐算法的实时性要求。其缺点是:存在着严重的"冷启动"问题,新加入的项目由于缺少相关的用户数据,难以被系统中的规则发现,从而得不到推荐,并且随着系统项目数量的不断增加,规则也会呈出相应的增长趋势,使得规则的管理成本相应升高,降低了系统的运行效率。
2.2 基于内容的推荐技术
基于内容的推荐算法重要的是建立项目特征属性库,系统通过用户已关注项目的特征属性值,来掌握目标用户兴趣点,依据用户兴趣点与待推荐项目属性值的匹配程度进行推荐。用户兴趣点的产生依赖于系统所采用的机器学习算法,如基于向量的表示、文本挖掘、判别树、神经网络等技术。基于内容的推荐结果直观易理解,不需要过多的领域知识,但是需要有足够数据构造分类器,一些例如稀疏问题、新用户问题和复杂属性等问题不易处理。
2.3 协同过滤推荐技术
基于协同过滤推荐技术是当前主流的,应用最为广泛的一种推荐技术。该推荐技术可以分为两种,一种是基于用户的协同过滤推荐技术;另一种是基于项目的协同过滤推荐技术,这两种协同过滤推荐技术的不同之处在于两者针对的对象不同。基于用户的协同过滤推荐技术是给用户推荐和他有共同兴趣的用户喜欢的物品;基于项目的协同过滤推荐技术是给用户推荐和他之前喜欢的物品相似的物品。
2.3.1 基于用户的协同过滤推荐技术
基于用户的协同过滤技术是推荐系统中最古老的算法。该算法在1992年被提出,并应用于邮件过滤系统,1994年被GroupLens应用于新闻过滤。该算法主要包括两个步骤:第一步,找到和目标用户兴趣相似的用户集合;第二步,找到这个集合中用户喜欢的,且目标用户还没有听说过的物品,将该物品推荐给目标用户。
2.3.2 基于项目的协同过滤推荐技术
基于项目的协同过滤技术是基于这样一个假设:用户更倾向于选择与用户喜欢的项目相近的项目。该推荐过程分为两个步骤,第一,计算物品之间的相似度;第二,根据物品的相似度和用户的历史行为为用户生成推荐列表。
2.4 混合推荐技术
目前,推荐技术已经发展出了很多种,但每种推荐技术都在不同程度上存在各自的缺点,每种推荐技术在针对特定的用户或者项目时才能发挥出自己的优势。因此人们提出了混合推荐来互补推荐技术各自的不足,已达到一个理想的推荐效果。在大部分的混合推荐技术研究当中,是将基于内容的推荐技术和基于协同过滤技术相结合。相对于使用单一途径算法的推荐技术,基于混合推荐技术往往表现出更高的推荐精度和更好的推荐质量。
3 推荐系统的应用
自推荐系统诞生近20年的时间里,推荐系统的应用领域迅速扩展。从电子商务、音乐视频网站,到作为互联网经济支柱的在线广告和新颖的在线应用推荐,到处都有推荐系统的身影。下面简单介绍个性化推荐系统的应用以及该领域较成功的网站。
3.1 电子商务
电子商务网站是个性化推荐系统的一大应用领域。著名的电子商务网站亚马逊是个性化推荐系统的积极应用者和推广者,被读写网称为“推荐系统之王”。亚马逊的推荐系统深入到了各类产品中,其中最主要的应用有个性化商品推荐列表和相关商品的推荐列表。
3.2 电影和视频网站
在电影和视频网站中,个性化推荐系统能够帮助用户在大量视频信息中找到令他们满意的视频。该领域较成功的一家公司就是Netflix。Netflix在2006年开始举办著名的Netflix Prize推荐系统比赛。该比赛对推荐系统的发展起到了重要的推动作用。
3.3 个性化音乐网络电台
个性化推荐的成功应用需要具备两个条件。第一是存在信息过载的问题,第二是用户大部分时候没有明确的需求。在这两个条件下,个性化网络电台无疑是最合适的个性化推荐产品。目前国际上著名的有Pandora和Last.fm,国内的代表则是豆瓣电台。
3.4 个性化阅读
阅读文章是很多互联网用户每天都会做的事情。目前互联网上的个性化阅读工具很多,国际知名的有Google Reader,国内有鲜果网等。同时,随着移动设备的流行,移动设备上针对个性化阅读的应用也很多,其中具有代表性的有Zite和Flipboard。
[参考文献]
[1]Resnick P.Varian HR Recommender systems[外文期刊].1997(03).
[2]许海玲.互联网推荐系统比较研究[J].软件学报,2009.20(2):350.362.
[3]王国霞,刘贺平.个性化推荐系统综述[J].计算机工程与应用,2012,48(7).
[4]刘兴涛,石冰,解英文.挖掘关联规则中Apriori算法的一种改进[J]. 山东大学学报,2008,43(11):67-71.
[5]胡斌.基于高阶潜在语义分析的音乐推荐系统的研究,硕士论文.北京工业大学计算机学院,2009.
[6]Schafer JB,Konstan J,Riedl J.Recommender systems in e-commerce[M].On Electronic Commerce,1999.P367-461.
[7]Deshpande M,Karypis G.Item-based top-N recommendation algorithms[J].ACM TransInformation Systems,22(1):143-177,2004.
篇2
关键词:综合云模型;属性评价;评分聚类;属性聚类;协同过滤
0 引言
亚马逊、当当网、数字图书馆等,几乎都不同程度地使用个性化推荐系统,向用户推荐图书、论文、商品等项目,实现个性化服务[1]。其中,协同过滤推荐算法是最成功的个性化推荐技术之一。但因用户评分数据的稀疏性,导致传统推荐质量下降。
为解决数据稀疏性带来的传统基于向量相似度的问题,比较典型的方法之一是将利用云模型实现定性、定量知识转换的优势应用到推荐中:由云模型计算用户评分特征相似度 [2]、项目评分特征相似度[3]的协同过滤算法;在云模型计算项目评分特征相似度的基础上,预测未评分项目的评分,然后利用云模型计算用户相似度,最终获取用户邻居再进行推荐[4],但没有利用有益于推荐的用户、项目属性;利用云模型填充评分矩阵,结合项目属性加权推荐[5] 、结合云模型通过比较项目属性相似度的推荐[6],在类内利用云模型获得项目邻居,进行类内评分填充,结合云模型的用户相似度进行推荐[7],这三种方法也没有充分利用用户属性信息;研究云模式在用户行为相似度、用户等级的模式,并通过聚类算法改进推荐算法[8]。以上改进算法都没有考虑综合云模型下的推荐。
本文在前面研究的基础上,利用用户对项目各个属性的评价值和评价时间,计算综合云模型的用户项目属性评价相似度,获取基于属性评价的用户邻居。利用改进的聚类算法Kmedoids,根据用户评分对用户聚类,获得基于评分的用户邻居。对用户原始属性进行标准化,再进行Kmedoids聚类。结合综合云模型的属性评价、用户评分聚类、用户属性聚类产生的邻居的并集,向目标用户推荐项目。实验验证,提出的方法有效地缓解推荐算法数据稀疏的问题。
1 云模型
云模型能够实现定性概念与其定量数值表示之间的不确定性转换模型,反映自然、社会中的模糊性、随机性,已经应用于电子商务、模糊评测等领域[9]。
定义1 一维云模型。设T={x}是用精确数值表示的定量论域,C是定量论域T的定性概念,若T中的元素x对C的隶属度μ(x)∈[0,1]是一个具有稳定倾向的随机数,μ:T[0,1],x∈T,xμ(x),则x在T中的分布C(X)称为云(Cloud),每个x叫作一个云滴。云的数字特征用期望Ex、熵En和超熵He来表示。Ex为云滴的重心位置,反映云滴在论域中的分布期望;En是定性概念亦此亦彼的度量,反映定性概念在论域中被接受的范围。超熵He是En的熵,用于度量熵的不确定性,由熵的随机性、模糊性决定[9]。
定义2 综合云模型。将两朵及以上的同类型子云进行综合,产生一朵高层概念的父云。计算所有子云的数字特征,得到作为父云的综合云的数字特征[9]。例如:由论域中的b个同类型子云C1(Ex1,En1,He1),C2(Ex2,En2,He2),…,Cb(Exb,Enb,Heb),可产生作为父云的综合云C(Ex,En,He),并且
篇3
【关键词】个性化;智能化推荐系统;推荐技术
不断扩大规模的电子商务系统,在为消费者提供越来越多购物选择的同时,其自身商业结构也变得更加复杂。消费者经常会迷失在大量的商品信息空间中,无法顺利找到自己需要的商品;另一方面,商家也失去了与消费者之间的联系,不能准确获知消费者的消费需求、消费建议。推荐系统就像商店导购人员,直接面对消费者,为其提供商品推荐。这种能准确获取不同消费者消费需求的推荐系统就是我们要研究的个性化智能推荐系统。
一、电子商务个性化智能推荐系统
个性化智能推荐系统是指通过收集、统计和分析不同消费者消费特征,使用推荐算法研究消费者的兴趣偏好和购买行为,并适时更新数据,实现主动向消费者推荐其所需商品的工作过程。
智能推荐系统运作的中心是准确得出消费者的个体需求,建立以消费者本身消费特征为中心的个性化的营销策略,满足不同消费者的不同偏好。电子商务推荐系统通过个性化推荐技术对网站整体结构进行调整,增加商品的曝光数,提升用户平均访问步长和商品页访问量,从而提高网站整体营销能力。
如何使电子商务个性推荐系统更好地根据消费者的需求推荐消费者感兴趣的商品,答案就在其采用的推荐技术上。推荐技术是电子商务推荐系统中最核心,最关键的技术,很大程度上决定了推荐系统性能的优劣。
二、推荐技术
从电子商务个性化推荐系统的主动性上分类,可以将推荐技术分为主动式推荐和被动式推荐。
所谓主动式推荐,是指推荐系统通过对消费者信息和行为的分析,给出恰当的意见和建议主动引导消费;而被动式推荐是指消费者通过自己的努力获得所需要的商品信息。
根据目前主流的推荐技术分类,制作下表。
(一)被动推荐
被动式推荐技术的优点是技术比较成熟,用户易于使用。主要有下面两大类:
1、分类浏览式推荐
分类浏览是一种按照主题分类进行信息查询的方法。它用树形结构将分类的商品和服务信息表现出来,易于实现,同时操作方便。
几乎所有的电子商务交易网站都提供这种方式的推荐。但是推荐效率低,且分类方法不统一,对新出现的商品和信息很难准确归类。
2、关键词查询式推荐
关键词查询由用户输入查找目标的关键词,系统寻找与关键词匹配的内容进行推荐。这种方法也是比较常见的推荐方法,技术较为成熟,且易于用户接受查找结果,但是对关键词的选择要求较高,且不易发现用户的潜在兴趣点。
被动式推荐自动化程度低,无法发掘用户潜在兴趣与消费需求,因此目前研究比较多的是主动式推荐,即智能推荐技术
(二)智能推荐技术
篇4
随着互联网走进各家各户,电子商务发展越来越快,服务和产品也越来越多,这就造成信息过于冗杂,客户面对海量选择,往往要浪费很多时间来挑选自己需要的商品。为了使消费者避免浪费时间,已更加从容的心态来购买商品,电子商务推荐系统可以精确识别消费者的喜好,模拟销售人员帮助消费者完成购买,给消费者想要的推荐,让挑选变得简单。统计学、人工智能数据挖掘等技术都应用于电子商务推荐系统(Recommendation Systems)中,想要引导消费者完成购买行为,就要先分析消费者的购买意愿,所谓知己知彼百战不殆,分析消费者访问网站的行为,并最后给出令客户满意的推荐结果,来产生丰厚的利润。所以说,推荐系统的核心便是推荐结果是否准确,如果是客户需要的,则会提高顾客的购买意愿;反之如果推荐结果不合顾客的意,那便是端起石头砸自己的脚,客户也会对推荐系统产生怀疑,购买兴趣大大降低。
1 推荐系统介绍
对客户行为信息进行收集的记录模块、对用户喜好进行分析的模型分析模块、推荐系统的核心推荐算法模块以及处理售后服务的反馈处理模块组成了一个完整的推荐系统。将对的商品推荐给对的人就是推荐系统的目标,常见的推荐机制算法有三种,分别是基于关联规则的算法(Association Rule_based Recommendation)、基于内容的推荐算法(Content-based Recommendation)、协同过滤推荐算法(Collaborative Filtering Recommendation)。算法数据的表示不是很复杂,一个二维表或者是一个MXN的矩阵足以。把日志或消费类的数据通过一定的预处理,所有的商品类目用列表示,所有用户用行表示。
把用户的购买需求转化成购买结果,这是一个电子商务推荐系统的终极目标,也是衡量推荐机制好坏的标准。在实际生活中,消费者去实体店购买商品,会有“导购员”进行服务,提高消费者的购买意愿,而在电子商务网站中,推荐系统就是这个“导购员”。一个好的推荐系统就像一个好的“导购员”一样,让消费者了解商品后更加愿意购买商品。主要实现一下功能:①完善用户体验,给出个性化推荐;②更好的向消费者展示商品,提高转换率;③发现消费者潜在需求,挖掘更广的市场。
网站的推荐形式多种多样,经常用到的有三种:①根据会员的历史购买记录,来进行推荐机制的营销;②由购物车或物品收藏来做相似物品推荐;③针对消费者的历史信息来做相关推荐。
个性化推荐系统能够深度挖掘电商消费者的兴趣,增强消费者持续购买的意愿,从而形成信任关系达到维系老客户,减缓以及解决现在电商平台存在消费者持续购买意愿不强的问题。我们假设一下,如果没有了推荐系统的精准推荐,消费者可能将要花更多的时间来找自己中意的商品;如果失去了系统的热门推荐,消费者将很难买到质量好价格低的产品;如果失去了推荐系统的辅助政策,消费者做出的选择往往不是最优的,这样也不会购买到自己感到满意的产品,对网站也不会有好感度,二次购买也不会再有了。这对卖家和买家来说都是损失,因此电商平台是一种双赢的表现。
2 协同过滤推荐
假如两个用户过去有相似的喜好产品,那么他们现在依然有相似的喜好产品,这是基于用户(user-based)的协同过滤;假如有用户过去喜好某产品,那么他现在任然喜好与该产品类似的产品,这是基于项目(item-based)的协同过滤。传统协同过滤算法一般就分为这两种,协同过滤不需要获得产品或用户特征,而是凭借相似性度量方法和评分数据来进行预测,只要评分数据越多,预测也会变得更精准。
协同过滤作为目前最成功的推荐技术之一,已被广泛应用于各类电子商务推荐系统及互联网的相关领域,譬如国外的Amazon, eBay, NetFlix以及国内的淘宝网和当当网等等。伴随电子商务的不断发展,用户数量也飞速增加,用户―项目评分数据的维度急剧增高,可是用户给予的评价却不是很多,使得传统的协同过滤推荐面临严峻的用户评分数据稀疏性问题。同时,用户的需求也在随着时间改变,而传统协同过滤并不能很好的解决这个问题,存在着局限性。所以,如何捕捉移动的用户感兴趣的信息已经变成电子商务亟待解决的问题。
3 典型应用
亚马逊作为电商平台的领头羊,推荐商品占销售总量的百分之四十,同时也是较早使用推荐系统的电子商务平台,当然他们的推荐形式也是别出心裁。例如,一位顾客买了一个相机,系统就会自动的给他推荐能用到的电池产品。但是由于商品多样化的趋势,亚马逊电商平台不断更新后数据分析能力的增强,推荐系统可以推荐购买过该产品的用户还购买的其他产品。
由于使用真实的购买数据,而不是假设消费者会购买什么商品,亚马逊能够提出非常精准的提?h。例如提示“购买此商品的用户同时购买”,就是一种很机智的营销手法,可以让消费者横向比较,开阔自己的眼界,更加容易找到自己的需要。
亚马逊使用的是“协同过滤”算法,这种算法把消费者串联起来,有相似兴趣行为的划为一组,参照消费者的购买历史,经常做到事半功倍。任何人的兴趣都不是孤立的,这就是“协同过滤”算法的出发点,应该处于一个群体所感兴趣的产品中,就是如果一群消费者对一个商品的评分很相似,那么他们对另一个商品的评分也不会相差很多。该推荐算法的核心在于采用技术找到于目标消费者有相似兴趣的消费者,然后根据相似消费者对目标商品的评分做出推荐,并且把测试评分最高的多项商品作为该消费者推荐列表。
亚马逊的页面分为非登录用户和登录用户。对于非登录用户,亚马逊会推荐各个类目的畅销品,换言之就是排行榜。查询浏览页面和详细的商品页面则会有关联推荐,比如“购买此物品还可购买”;通过人的相似兴趣来推荐,像“购买此物品的顾客也购买了”,“看过此商品的顾客购买的其他商品”。
而对于登录用户,亚马逊的推荐方式却截然不同,首页的页面会有一个今日推荐的栏目,这个栏目是由用户的历史浏览记录生成出来的,在下面是最近一次购买商品给的记录以及类似商品的推荐,如“根据浏览推荐给我的产品”,“浏览XX商品的用户会买XX的概率”,有意思的是,每个页面的最下方都会根据消费者的浏览内容给出对应的推荐,没有浏览记录的会推荐系统畅销。
4 结论
篇5
智能Web时代的到来意味着大数据分析在各个行业的运用成为必然趋势,推荐系统作为典型的智能Web应用,通过对用户行为数据的积累和分析,将传统用户的搜索行为转化为推送行为,从而实现原始电商到智能电商的转变。本文以智能Web时代为引,就旅游电商推荐系统的基本实现方法和思路展开了讨论和分析。
【关键词】智能Web 个性化旅游电商
1 智能Web时代的到来
当我们去订餐的时候,饭店订餐系统引用了我们公开的健康调查数据,从而为我们搭配适宜的绿色饮食;当我们与陌生人在线聊天时,对话内容得到通讯软件后台的事实核查,保证交流内容的真实和安全(如facebook);当我们在线购书时,电商平台能够根据用户购物行为的相似度判断来给出最合理的推荐(如亚马逊)。这一系列的发生与正在发生的案例为我们诠释了一个时代的到来,智能Web时代。
所谓智能,是指能够不断通过大数据分析抽象出普遍规则,进而替代穷举的一种高效机器学习方式。拓展开讲,一款智能Web应用要首先具备大数据能力,或者叫内容聚合,这是机器学习的基础条件;然后需要具备参考结构,参考结构为原始大数据提供了科学的解释和展示形式,它为原始数据的分析和展现提供了重要的助力;最后还要具备合理的算法,算法为从数据转变为信息提供了可行的方法,并将信息抽象为引导用户交互的规则,这三大要素构成了智能Web应用的充要条件。
2 旅游电商推荐系统研究与设计
作为一类典型的智能Web应用,推荐系统因为谷歌的广告和亚马逊的商品推荐等形式为人们所熟知,它的出现为当下信息过载的大环境带来了良好的解决方案。通过对用户行为数据的积累和分析,将传统用户的搜索行为转化为推送行为,从而实现原始电商到智能电商的转变。
旅游电商对推荐系统的认识度和重视度目前还处于比较初级的状态,远不如消费品电商平台,这也反映出了旅游电商企业对大数据的分析处理意识与主流消费品电商的差距。我们认为,实现高效用的旅游电商推荐系统,需要在精准度和展现形式两方面进行深入研究,第一是要对旅游产品进行精确建模,只有精确建模才能在推荐计算中获得准确的结果。第二是推荐引擎的科学选择,常见的推荐系统引擎分为两类,协同过滤推荐和基于内容分析的推荐。协同过滤推荐是基于用户的行为数据积累做出推荐,例如基于相似用户的推荐和基于相似条目的推荐。基于内容分析的推荐则需要考量用户之间、条目之间和用户与条目内容之间的相似度。其中,相似度算法是不同推荐引擎的核心,我们通过如下常用代码片段来说明相似度的计算方法。
由代码1可知,事实上相似度计算的方法是多样化的,需要根据实际的问题进行相似度算法的选择,目前大量的实验表明,基于欧氏距离的相似度算法效果相对较好。
在大数据的精确分析基础上,再将推荐结果以服务而非广告的展示形式推送到旅游电商的各个营销环节,必将会极大的推动产品购买的转化率。
3 旅游电商推荐系统展望
在智能Web时代,随着人们对信息和服务的智能化要求,推荐系统必定会在旅游电商营销环节占据愈加重要的地位,同时,单一的旅游产品推荐将会无法满足用户的需求,旅游推荐系统的衍生形态将会慢慢发展起来,推荐系统的内容和展示方式也都将会呈现出多元化和个性化的趋势。作为旅游电商的从业者,必须清楚的认识到推荐系统、大数据分析、智能Web等要素对旅游电商发展的推动作用,并随势而动,才能在互联网+的时代获得市场和用户的青睐。
参考文献
[1]吴婷,熊前兴,贺曦春.基于用户特征和用户兴趣变化的协同过滤推荐[J].电脑知识与技术,2008,4(7).
[2]王国霞,刘贺平.个性化推荐系统综述[J].计算机工程与应用,2012,48(7).
[3]张娜.电子商务环境下的个性化信息推荐服务及应用研究[D].合肥工业大学,2007.
[4]许海玲.互联网推荐系统比较研究[J].软件学报,2009,20(2).
[5]王巧荣,赵海燕,曹健.个性化服务中的用户建模技术[J].小型微型计算机系统,2011,32(1).
作者简介
严杰(1981-),男,浙江省衢州市人。硕士学位。现为浙江旅游职业学院讲师。研究方向为Web开发和电子商务。
篇6
[关键词]个性化推荐聚类分析协同过滤平均绝度误差
中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)1120074-01
一、研究现状
1.传统算法中在线执行效率低的问题。所谓的执行效率低即在海量用户数据中在线寻找目标用户邻居的过程非常浪费时间,针对该问题新的算法将采用用户聚类的方法建立离线模型,从而缩小邻居用户查找时的搜索空间,节省在线处理数据的时间,然后可对数据进行定期的更新,提高算法的执行效率。2.数据稀疏性问题。通过分析Web日志信息,将一些隐性信息转化为显性信息,可以解决此类问题的产生。
二、算法的整体框架
该算法首先采用web日志和数据库记录的方法,将用户的行为记录下来,并将这些隐性的用户行为转化为显性的用户对项目评价;然后采用改进后的相似度计算方法计算用户之间的相似度;接着对用户进行聚类,将用户按照他们的行为自动地划分为若干个用户聚类簇;最后根据用户对最近邻居的评分来预测其对目标项目的评分,进而产生推荐。
三、数据的预处理
本文采取了隐性提取用户信息的方法,通过分析电子商务网站服务器日志的方法去寻找用户的兴趣所在。一个用户对商品(或项目)的兴趣度可以体现在以下几个方面:用户是否对对商品和项目进行显性的评分;用户是否购买或收藏过某商品或项目,购买的数目;用户是否将一个商品或项目从自己的收藏列表中移除;用户对某商品或项目的点击次数;用户在某商品或项目的页面上停留的时间。
以上提到的各个因素都可以以web日志或数据库的形式保存。用户对商品的评分值就可以根据上面的几个因素来设定。如公式1.1所示,i表示用户编号;j表示商品或项目编号;表示用户i对商品j的隐性评分值;
表示用户i对商品j的显性评分值;表示用户i购买商品j的数目;表示用户i是否将商品j添加到收藏,添加为1,否则为0;表示用户i对商品j的点击次数;表示用户i在商品j的页面上停留的时间。隐性评分的计算公式如下:
其中,公式1.1中的是线性权重系数,它的大小可以通过经验来人为地确定。比如说用户显性评分的重要性一定要高于其他的权重值,而相比之下的值应该是最小的。第二种确定权重系数的方法就是通过统计的方法,利用线性回归来计算出 的具体的值。
通过上面的数据的预处理方法,我们就可以将隐性的用户行为转化为显性的用户对商品的评价。这样我们就可以得到用户-项目评价矩阵,该矩阵就是聚类分析算法的输入。
四、离线聚类过程
聚类过程的输入就是上一节得到的用户-项目评价矩阵,通过这一矩阵,使用相似度计算方法,既可以计算出用户之间的相似度,将这些计算结果用矩阵表示,即得到了用户相似度矩阵。接着我们采用4基于K-Means的用户行为聚类算法将用户进行聚类。
算法大致描述如下:使用改进后的相似度计算方法计算两两用户之间的相似度,得到相似度矩阵;采用聚类初始中心选取算法选取K个用户样本点形成K个聚类,每个聚类中只有一个用户样本点,其评分向量作为初始的聚类中心;计算其他每个用户样本点与各个聚类中心的相似性,将加入到与其最相似的聚类 中,并调整 的聚类中心,以 中与其他所有样本点距离和最近的点作为新的中心量;聚类终止条件:经过第C步的调整后,比较各个聚类中心是否与上一次聚类一致;或者调整前后,两个聚类中心的误差不超过一定的阈值。如果满足聚类终止条件,则聚类结束,否则回到C继续。最后得到聚类簇 。
五、最近邻居用户的查找
由聚类的性质可知,目标用户的最近邻居大部分都在与它同属于一个聚类簇中,因此不需要在整个用户空间上查找目标用户的最近邻居。所以,基于项目聚类的方法可以大大提高在线的最近邻居查找速度,满足推荐系统的实时性要求。
当用户U登陆以后,个性化推荐系统就会启动一个后台进程,来查找当前用户U的N个邻居用户,查找算法的大致描述如下:在数据库中查找用户U的所属的聚类簇这一字段,如果这一字段为空,则运行步骤B;如果对应的字段为i,及用户U属于聚类簇,运行步骤C;计算用户U与每一个聚类中心的相似度,找到相似度最小时对应的聚类簇,记做,运行步骤C;计算中每一个用户样本点与用户U的相似度,取相似度值最大的前N个用户作为用户U的最近邻居用户。
六、预测和推荐的产生
通过第五部分提到的方法得到用户 的最近邻居后,根据邻居用户集合中用户对各个项目的实际评分,我们就可以预测用户 对各个项目的评分。假设,用户 的邻居用户集合是,则用户 对项目的预测评分的计算公式如下:
其中 表示用户 与用户之间的相似度,表示用户对项目 的实际评分, 表示用户对所有项目的平均评分, 。表示用户
对所有项目的平均评分。
最后,根据上述方法预测的用户 对所有目标项目的评分,选取预测评分最高的前N个项目(top-N)作为推荐结果返回给用户。
七、小结
本文我们提出并实现了基于用户行为聚类的个性化推荐算法,对用户进行聚类,利用得到的用户聚类寻找目标项目的最近邻居,只需要在与目标项目最相似的若干个聚类簇中搜索邻居,最后根据用户对邻居的评分来预测他对目标项目的评分。
参考文献:
[1]Pang-Ning Tan,Michael Steinbach,Vipin Kumar.Introduction to Data Mining[M].人民邮电出版社,2006,5:305-402.
[2]鲁为,协同过滤算法及其在个性化推荐系统中的应用[D].北京邮电大学信息工程学院,2007.
篇7
目标群体:追求主流性能
点评:
宅男,顾名思义,指的是“足不出户 ”或是“喜欢坐在电视或电脑前呆一整天”的人群,因此这类用户对电脑的要求并不低,而且在使用舒适性上也比较讲究。
具体配置方面,考虑到Intel平台的传统强项在娱乐视频方面,尤其在最新的45nm处理器E7200中还加入了对SEE4指令集的支持,更是如虎添翼,使得其在高清解码、播放、图形渲染等多方面性能有了大幅度的提升。而超频的能力上,E7200也更有优势,上400MHz外频并非天方夜谭,这点也满足了部分宅男超频的需要。
CPU Intel Core 2 Duo E7200(盒) 960元
内存 金士顿 2GB DDR2 800 280元
主板 微星 P45 Neo 785元
硬盘 日立 250GB 8MB/SATA 330元
显卡 七彩虹 逸彩9600GT-GD3 5F/512MB 1165元
显示器 明基 G2400W 2810元
光驱 三星 TS-H353B 135元
键鼠 明基BV110无双游侠键鼠套装 89元
机箱 金河田 SOHO7606B 375元
音箱 现代 HY-203 99元
总计 7028元
作为“私房”配置,键盘鼠标也要对得起自己的手。明基BV110无双游侠键鼠套装采用特殊排水孔及防水薄膜设计键盘,高弹按键技术,7键同击不冲突,鼠标采用“逆向工程”设计,对称式凹槽设计,有效防止“鼠标手”,这点正合宅男之意。
如果你是DIY一族,请看……
目标群体:追求玩家品味
CPU Intel Pentium E 2180(盒) 430元
内存 金士顿 1GB DDR2 800 150元
硬盘 西部数据 160GB 8MB/SATA 315元
主板 昂达P35魔剑 620元
显卡 迪兰恒进HD3650冰钻 399元
显示器 三星 T190 1380元
光驱 先锋 DVD-129D 129元
键鼠 多彩 DLK8021P+M320BP 80元
机箱 航嘉 e盾 H101 340元
音箱 三诺N-15G 125元
共计 3968元
可选升级方案:
处理器Intel Core 2 Duo E4500(盒)
可别小看Pentium E 2180的主频才2GHz,搭配上P35的主板,超频能力可不容小看,上个3.0GHz也不是什么难事。另外,后的Pentium E对多任务的处理并不十分理想。可以升级为E4500,性能有一定的提升。+420元
内存金士顿 2GB DDR2 800
玩家的使用经验表明,相同配置下增大内存容量可以明显地改善系统运行的环境。但是也不能盲目地增加内存,要看内存的行情,目前再增加一条内存并不比2GB的便宜很多,这样一来对速度提升有限的双通道,在性价比方面就失去了优势,而且单条2GB传输数据较双通道要稳定。+145元
显卡昂达 HD3850/512MB/DDR3
对于入门级别的用户,HD 3690的功力还是蛮不错的,但是对于追求游戏画质, HD3690就应付不了了。如果用户升级选择主流的HD3850,建议购买显存容量512MB的,虽然价格比显存为256MB贵100元左右,但是对游戏的提升效果要明显许多。+300元
如果你是高清发烧友,请看……
目标群体:追求视觉震撼
CPU AMD Athlon64 X2 5400+(黑盒版) 570元
内存 金泰克 DDR2 800 1GB×2 290元
主板 华硕 M3A78-EMH HDMI 490元
硬盘 希捷 160GB 8MB/SATA 320元
显卡 集成 ------
显示器 优派 VX2255wmb 2100元
光驱 先锋 DVR-215CH 260元
键鼠 明基双塔奇兵 155元
机箱 多彩 DLC-K023 270元
音箱 漫步者S2.1M 540元
总计 4995元
点评:
为了能实现看高清这个最终目的,别无他求,因而主板选用了780G芯片组,其集成的HD3200显示核心(性能接近X1300),不但是首款支持DX10的集成产品,而且最重要的是,显示核心内建UVD解码单元,可以对VC-1和H.264两种压缩格式提供较完美的全面解码,不再需要软解方式播放,播放主流高清视频会变得更顺畅。
既然显卡承担了高清解码的任务,对处理器的要求也就可以降低了,三核、四核大可不必要,双核5400+黑盒版就足已。另外,黑盒版不锁倍频,仅需调整一下倍频,采用普通风冷措施,便可轻松上3.2GHz。硬盘没有选大容量的,因为对于下载的高清影片,一部就是好几个GB,哪怕是500GB的硬盘也存不了多少,还不如刻盘来得实惠。
如果你是时髦一族,请看……
目标群体:追求时尚品味
CPU Intel 奔腾双核 E2200(盒) 510元
内存 威刚DDR2 800 2GB 220元
主板 技嘉 GA-EG31M-S2 530元
硬盘 西部数据250GB/SATA 350元
显卡 集成 -------
显示器 明基Bling-Bling E900WN限量版 1799元
光驱 索尼 DDU1632 130元
键鼠 新贵无线键鼠套装 199元
机箱 天使之恋SG-5020+鑫谷劲翔370 489元
音箱 奋达C-20 298元
总计 4525元
可选升级方案:
键鼠雷柏8800
如果想进一步提升整套配置的时尚外观和舒适体验,那么可以考虑更换成雷柏全新推出的超薄无线键鼠套装,特别是它那靓丽水晶风格,定会引起不少时尚一族的共鸣。+189元
音箱创舰 CJC-680(竹简)
初见CJC-680,它给人的第一感觉,并不是音箱,而是一本展开的大书简。古典味极浓,同时,风雅的感觉扑面而来,另外,产品的倒相孔侧置,音量、高、低音旋钮均独立可调。调时量感适当,彰显品质内涵。特别是产品的主色调以香槟金为主,高贵奢华,体现了潮流的元素。+20元
篇8
关键词:个性化搜索;个性化推荐系统;隐私保护;信息安全;网络安全
中图分类号:TP315 文献标识码:A DOI:10.3969/j.issn.1003-6970.2015.04.014
0.引言
篇9
关键词:图书推荐;借阅特征;协同过滤;特征提取
中图分类号:G250.71 文献标识码:A 文章编号:1007-9416(2017)03-0156-03
1 引言
目前高校图书馆的馆藏资源通常成千上万,而且种类繁多,因此读者会花费大量的时间用于寻找自己感兴趣的图书。而随着图书行业的繁荣,书目与种类日益增多。传统的搜索引擎已经不能完全的满足读者对图书的辨识。因此,针对这种信息获取的困难,出现了许多针对于个性化图书推荐系统的相关研究。
目前高校图书馆的推荐系统存在以下一些问题。第一,推荐系统不够个性化,一些高校的图书推荐模块仅仅是依靠于借阅量以及根据借阅记录基于图书本身的内容进行推荐。第二,许多个性化图书推荐系统虽然采用协同过滤的技术,实现了个性化,但是协同过滤算法本身依赖于用户对项目的评分,而大部分高校图书馆的借阅记录中都没有读者对图书的评分这一项。第三,由于数据稀疏性的原因,导致一些没有借阅过的或被借阅次数很少的图书无法被有效的推荐给其他人。
如之前所说,协同过滤依赖于用户对物品的评分,而对于高校图书馆,如何根据读者的借阅记录将其特征转化为对图书的评分,从而提高推荐的准确性。是本文研究的重点。同时,本文也将根据借阅记录提取与时间相关的特征,考虑时间因素,例如图书借阅的先后顺序,或者在某些大型综合考试如英语四、六级考试前为读者推荐相关的图书。
本文的核心步骤主要分为两大类:
(1)利用基于用户的协同过滤算法对推荐结果进行粗召回。
(2)利用特征提取算法对用户及借阅记录进行特征提取,构建读者偏好模型。
本文第2节介绍了个性化推荐方法的研究工作,第3节详细阐述本文提出方案的具体原理;第4节是关于本文提出的推荐方案在真实数据集上的实验分析与讨论;最后第5节给出结论和未来的工作。
2 方案原理
该方案主要分为两个部分,第一部分利用基于协同过滤算法对借阅记录进行推荐,得出一个粗召回的结果集。第二部分利用特征提取算法对借阅记录进行特征提取,将提取的特征以向量的形式作为读者偏好模型的维度,训练读者的偏好模型。
2.1 推荐算法比较
推荐算法比较,当前,个性化推荐方法通常采用三类核心推荐算法[1]:(1)基于关联规则的推荐算法(Association Rule-based Rcommendation);(2)基于内容的推荐算法(Content-based Rcommendation);(3)基于协同过滤的推荐算法(Collaborative Filtering Rcommendation)下面U述三类推荐算法的原理以及优缺点。
基于关联规则的推荐算法是以关联规则为基础,研究的核心问题即项目集A与其他项目集的关联关系。直观的意义就是对图书A偏好的读者又借阅了图书B和C,那么可以说B与C和A存在关联关系。比如借阅了大数据相关图书的读者一般还会借阅hadoop相关的图书。基于关联规则的推荐算法优点在于算法的复杂程度,因此可以深度挖掘读者的兴趣偏好,提高推荐精准度。缺点在于算法实现较为复杂,如何在成百上千万的项目中计算每个项目之间的关联规则是算法的核心和难点,因此生成个性化推荐结果较为耗时。
基于内容的推荐算法,是以产生关系的项目为中心,提取项目的特征,寻找与该项目相似的其他项目推荐给用户,例如读者借阅了朱自清的散文集,可能也会对冰心的散文感兴趣。基于内容的推荐算法在图书推荐方面优点在于,不存在冷启动问题,即对新书以及新读者都比较容易产生推荐,缺点在于不够个性化,不能挖掘出读者深度的兴趣偏好。
基于协同过滤的推荐算法是当前个性化推荐领域中最流行的推荐算法。它包括两大类,一是基于用户的协同过滤,二是基于项目的协同过滤[2]。以基于用户的协同过滤为例,它的原理就是利用用户与项目之间的评分计算目标用户与每个用户的相似度,根据相似度的排序选定最近邻用户[3],将近邻用户中所产生关系的项目中选取目标用户没有产生关系的项目作为推荐项目推荐给目标用户。同理,基于项目的协同过滤是计算项目间[4]的相似度从而产生项目间的近邻,生成推荐。基于协同过滤的推荐算法优点很明显,就是与内容无关,通过计算用户的相似度,来深度挖掘用户的潜在兴趣,真正的可以实现个性化推荐。由于算法的基础是依赖于用户与项目之间的作用关系,因此基于协同过滤的推荐算法缺点在于冷启动问题,即对新用户或新项目的推荐不够好。
2.2 基于用户的协同过滤算法
综合上一小节,由于基于协同过滤的推荐算法是目前推荐领域的主流,而且它可以实现真正的个性化推荐,因此本文中提出的推荐方案第一部分选取基于协同过滤的推荐算法。基于用户的协同过滤算法第一步是生成用户-项目的评分矩阵,如图1所示是一个m x n的二维矩阵。其中m表示用户数,n表示项目数,Rm,n表示用户m对项目n的评分。由于本文的研究背景是高校图书馆的借阅记录,没有读者对图书的评分项,因此只记录其作用关系,即借阅过的记为1,未借阅的记为0。
基于用户的协同过滤第二步是生成根据用户-项目矩阵生成最近邻用户,这个过程的本质相当于为目标用户在矩阵R中计算一个相似性的排序集合。计算用户相似度的方法主要有2种:
(1)余弦相似性(Cosine):设用户i 和用户j 在m维对象空间上的评分表示为向量i,j,则sim(i,j)的相似性计算方法如下:
(2)相关相似性(Correlation):设用户i 和用户j 共同评分的对象集合用Iij 表示[5],则用户i 和用户j 之间的相似性通过Pearson 相关系数度量,方法如下:
基于用户的协同过滤第三步是生成推荐结果,由第二步计算得出目标用户的最近邻集合,设用户u的最近邻用户集合为Su,则用户u对项目i的预测评分Pu,i可以通过用户u对最近邻用户集合Su中的项目评分得到[6]。计算公式如下:
其中sim(u,n)表示用户u与用户n之间的相似性,Rn,i表示用户n对项目i的评分,Rn分别表示用户u和用户n对项目的平均评分。
2.3 利用特征提取算法对借阅记录进行特征提取
上一小节阐述了本文中推荐方案的第一部分,即利用协同过滤算法对推荐结果集进行粗召回,可以对阈值进行设置,产生大量的可能的推荐对象。而研究背景的借阅数据中,存在很多的可以描述用户兴趣偏好的特征,因此,本节阐述的是推荐方案中的第二部分,即利用特征提取算法对借阅记录进行特征提取,建立用户偏好模型。通过实际数据对模型进行训练,最终产生更精确的推荐结果。
本文的研究背景是基于高校图书馆的借阅记录,而借阅记录是表示读者兴趣偏好的直接来源。因此,如何对读者的借阅记录进行特征提取,建立兴趣偏好模型,是提高推荐精确度的关键。也是本文中推荐方案的第二部分的核心。以我校图书馆的借阅数据分析,其中包括三类特征信息,第一类是用户的基本信息,第二类是图书的特征信息,第三类是关于借阅行为的特征信息。包括的特征可以整理为:
通过上述整理的特征构建读者-特征矩阵,如图2。
y值表示user(i)最终是否借阅了图书,利用读者每一年的数据中第一学期的和第二学期的一部分作为训练集,余下的部分作为测试集。建立读者偏好模型。利用偏好模型,对该推荐方案中第一部分粗召回结果集进行评分拟合。按照拟合评分的排序结果,产生最终优化的推荐结果。
目前,利用机器学习技术领域中相关的有监督学习算法,可以对数据进行建模,并训练模型。最终根据兴趣偏好模型拟合推荐结果集。
GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),GBDT模型是一种解决回归问题的树模型,本质是一种迭代的决策树算法。该算法由多棵决策树组成,所有树的结论累加起来做最终结果。它在被提出之初就和SVM一起被认为是泛化能力较强的算法。GBDT主要有三个部分组成:
(1)DT:回归树 Regression Decision Tree。GBDT的核心在于累加所有树的结果作为最终结果,而分类树的结果显然是没办法累加的,所以GBDT中的树都是回归树,不是分类树。
(2)Boosting,迭代,即通过迭代多棵树来共同决策。GBDT的核心就在于,每一棵树学的是之前所有树结论和的残差,这个残差就是一个加预测值后能得真实值的累加量。
(3)Shrinkage即缩减。Shrinkage的思想认为,每次走一小步逐渐逼近结果的效果,要比每次迈一大步很快逼近结果的方式更容易避免过拟合。即它不完全信任每一个棵残差树,它认为每棵树只学到了真理的一小部分,累加的时候只累加一小部分,通过多学几棵树弥补不足。
目前来说,GBDT几乎可用于所有回归问题(线性/非线性),相对logistic regression仅能用于线性回归,GBDT的适用面非常广。亦可用于二分类问题(设定阈值,大于阈值为正例,反之为负例)。
3 实验
3.1 实验数据
本文的研究背景是高校图书馆,因此本文实验数据采用北京市某高校的图书馆借阅记录作为本文所提出方案的实验数据。数据涵盖了近10年200万条借阅记录,20万条图书信息以及17000的读者信息。
3.2 实验评价
对于推荐领域而言,对于推荐结果的评价标准一般从如下几个方面考虑:推荐准确度、推荐结果的多样性以及推荐结果的覆盖性等。由于本文的研究背景是面向高校读者的图书个性化推荐,因此选取当前推荐领域普遍采取的评价标准,即准确度指标。
准确度是当前推荐领域对推荐算法结果评价中最常用、最基础也是最普遍的指标。大部分的推荐算法都采用准确度指标来衡量一个推荐算法的好坏。准确度指标的原理是通过描述预测打分与用户实际打分的相似程度来评估结果。目前,对于准确度指标的衡量方法最常用的是平均绝对误差(Mean Absolute Error , MAE)。MAE通过计算预测用户评分和实际用户评分之间的偏差来度量预测的准确性[5]。MAE越小,推荐质量越高。平均绝对误差(MAE)的计算公式如下:
其中,c为用户i所产生关系的项目数量,ria为用户的实际评分,via为推荐算法的预测评分。
3.3 实验结果
为了检验本文所提出方案中的推荐算法,我们将以传统的仅仅依靠于协同过滤算法作为对照,在传统的协同过滤算法中,分别以余弦相似性和相关相似性作为相似性的度量标准,分别计算其MAE。并设置近邻个数从20增加到40,间隔为5。然后与本文提出的推荐算法作比较,由数据可以看出,本文提出的推荐方案,即在基础的协同过滤算法之上对借阅记录进行特征提取,根据实际情况提取更能代读者兴趣偏好的特征,构建读者偏好模型,最终得到的推荐结果,相比仅仅依靠于协同过滤算法得到的推荐结果。具有较小的MAE。因此,本文提出的推荐算法可以针对于高校图书馆的研究背景得出更精准的推荐结果。
4 结语
随着图书行业的繁荣,读者需要在浩瀚的图书海洋中选择自己感兴趣的图书。因此一个好的推荐系统起着至关总要的作用。本文所阐述的推荐方案能够根据现有的数据进行有效的推荐,但是仍存在着一些其他问题,例如冷启动、数据稀疏等问题。这些问题也是整个推荐领域需要进一步研究的问题。
参考文献
[1]Hofmann,T.Latent Semantic Models for Collabora―tive Filtering[J].ACM Transactions on Information Systems,2004,22(1).
篇10
关键词:协同过滤;推荐系统;聚类
中图分类号: TP391
文献标识码:A
0引言
个性化推荐系统被用来帮助用户在大量的信息中寻找感兴趣的内容,它体现的“个性化”服务目前越来越为大型网站、电子图书馆等众多领域所接受,成为它们的一个重要的功能[1]。在个性化推荐系统中,最近邻协同过滤技术是当前应用最成功的技术。其基本思想是基于评分相似的最近邻居的评分数据向目标用户产生推荐。由于最近邻居对项目的评分与目标用户对该项目的评分非常相似,因此目标用户对未评分项目的评分可以通过最近邻居对该项目评分的加权平均值逼近[2]。
最近邻协同过滤推荐需要在整个用户空间上搜索目标用户的最近邻居,随着系统规模的扩大,用户和项目数量急剧增加,在整个用户空间上搜索目标用户的最近邻居比较耗时,难以满足推荐系统的实时性要求。针对上述问题,本文提出了基于用户聚类的协同过滤推荐算法,通过用户对项目评分的相似性对用户进行聚类,将具有相似兴趣的用户放入同一个聚类中。当目标用户到达时,判断用户所属聚类,再在对应聚类中搜索目标用户的最近邻居,从而在尽量小的用户空间上搜索目标用户的最近邻居,最后根据最近邻居对项目的评分预测目标用户对项目的评分并产生推荐列表。对项目进行聚类比较耗时,但可以离线进行。协同过滤推荐需要对一个聚类内的所有用户进行相似系数的计算,在研究中发现,其所需计算量随用户数目的增长急剧增加,严重影响了在线推荐的效率,为此,本文提出将协同过滤分为类内相似系数计算和产生推荐两个阶段。把相似系数的计算放在离线数据处理部分,减少了在线推荐的计算量,从而提高了在线推荐的实时响应速度。
1协同过滤技术
协同过滤技术通过分析历史数据,生成与当前用户行为兴趣最相近的用户集,将他们感兴趣的项作为当前用户的推荐结果,即topN推荐。基于协同过滤技术的推荐过程可分为3个阶段:数据表述;发现最近邻居;产生推荐数据集。
在一个典型的基于协同过滤技术的推荐系统中,输入数据通常可以表述为一个m×n的用户蚕钇拦谰卣R, m是用户数,n是项数,rij是第i个用户对第j项的评估数值。本文中,rij表示用户对页面的兴趣度。
基于协同过滤技术的推荐系统的核心是为一个需要推荐服务的用户寻找其最相似的“最近邻居”集合,即:对一个用户u,要产生一个依相似度的大小排列的“邻居”集合N={N1,N2,…,Nt},u不属于N,从N1,到Nt,sim(u,Nt)从大到小排列。
度量用户相似性的方法主要包括如下两种:余弦相似性和相关相似性。
余弦相似性:设用户u1和用户u2在n维项目空间上的评分分别表示为向量u1,u2,则用户u1和用户u2之间的相似性sim(u1,u2)为:
相关相似性(correlation):设经用户i和用户j共同评分的项目集合用Iij表示,则用户i和用户j之间的相似性sim(i,j)通过Pearson相关系数度量:
协同过滤技术在个性化推荐系统中获得了极大的成功,但随着系统规模的扩大,逐渐暴露出来一些缺点:评估矩阵数据稀疏、可扩展性差、推荐的可信度低等。
为了解决协同过滤技术存在的问题,学者提出了基于评分预测的协作过滤方法[3,5]、维数简化算法[2]等技术。但是这些算法都增加了在线处理的计算复杂度,不能很好的对用户做出响应。本文提出基于用户聚类的方法,通过用户对项目评分的相似性对用户进行聚类,将具有相似兴趣的用户放入同一类中,当目标用户到达时,首先判断用户所属聚类,再在这个聚类中搜索目标用户的最近邻居,从而在尽量少的用户空间上搜索目标用户的最近邻居。
2基于用户聚类的协同过滤推荐系统
2.1基于用户聚类的协同过滤推荐算法
KMeans聚类算法,也被称为K簿值算法,是一种得到广泛使用的算法。
设k是kMeans算法的输入参数,代表该算法在数据集上分割并计算后输出的数量。数据集是由n个数据点组成的,在初始化时,根据输入参数从n个数据点中找出k个聚类中心。通过KMeans聚类算法对用户进行聚类的具体算法如下[6]:
输入:聚类数目k和用户评分数据表
输出:k个聚类
方法:
1) 从用户评分数据表中检索所有n个项目,记为集合I={i1,i2,…,in};
2) 从用户评分数据表中检索所有m个用户,记为集合U={u1,u2,…,um};
3) 从m个用户中选择访问量最高的k个用户作为初始的聚类中心,记为{W1,W2,…,Wk},其中Wj*=il,j∈{1,2,…,k},l∈{1,2,…,n},使每一个聚类cj与聚类中心相对应;
4) Repeat
For 每一个输入向量il,其中l∈{1,2,…,n} do
将il分配给最近的聚类中心Wj*所属的聚类cj*
For 每一个聚类cj,其中j∈{1,2,…,k} do
将聚类中心更新为当前的cj中所有样本的质心点,
即 wj=∑i∈cjil/|cj|
计算误差函数:E=∑kj=1∑i∈cjil-wj2
程序后
5) Until E 不再明显的改变或者聚类的成员不再变化。
传统的KMeans聚类算法的初始聚类中心是随机选取的,在实验过程中发现,聚类后会出现较多孤立点。因为协同过滤算法是在搜索最近邻居的基础上进行推荐的,无法对孤立点进行个性化推荐。研究发现,访问量高的用户可以代表一部分用户,这些用户作为聚类中心具有很好的代表性。因此,本文选择访问量高的k个用户作为初始聚类中心,经实验验证能较好的减少孤立点。
2.2基于用户聚类的最近邻居查询和产生推荐
2.2.1基于用户聚类的最近邻居查询
研究中发现,用户相似系数的计算所需计算量很大,严重影响实时推荐的速度,由此会延长用户的等待时间,导致用户对网站的忠诚度降低,甚至导致客户流失。
为了减少实时推荐的计算量,本文提出将用户相似度的计算离线进行,并将其保存在数据库中。具体实现如下:建立相似度计算表 SimiCoefficient,该表包括四个字段:SimilarCoefficient, User1Id, User2Id,CenterId,分别表示相似度值、用户1标识、用户2标识和所属聚类标识,该表用来保存用户之间的相似度数据。表结构如下:
程序前
当目标用户到达时,首先判断出他所属的聚类,然后在该聚类中查询与目标用户的相似系数最大的若干个用户。
2.2.2产生推荐
“最近邻居”产生后,就可以计算用户对任意项的兴趣度和topN推荐集。设用户u和相应的已选项集Iu,则其对任意项t(tIu)的兴趣度如式(3)所示:
prediction=+∑ni=1(corri)×(ratingi)-∑ni=1(corri)(3)
式(3)中是用户u对项的平均评估值,i是“最近邻居”集的用户,corri是用户u和用户i之间的Pearson系数,ratingi是用户i对项t的评估值,是用户i对项的平均评估值。通过上述方法预测用户对未浏览资源的兴趣度,然后选择预测兴趣度最高的若干项推荐给用户。
2.3推荐系统体系结构
在本文提出的推荐系统中,采用基于用户聚类的协同过滤推荐技术向用户推荐可能感兴趣的资源,在网站上以链接的形式发送给用户,该推荐系统的结构如图1所示,分为两个部分:第一个是离线处理部分,主要完成Web日志的预处理以及对用户进行聚类和相似系数的计算;第二部分为在线推荐部分,利用离线阶段的处理结果,通过公式(3)预测目标用户对未访问项的兴趣度,把兴趣度高的前N项作为推荐结果推荐给用户。
3实验结果及其分析
3.1数据集
本文采用河南科技大学校园文化网的日志数据,对数据进行预处理后从中选择16653条评分数据作为试验数据集,该数据集中包括1055个用户和1839个项目。
3.2度量标准
本文采用统计精度度量方法中被广泛采用的平均绝对偏差MAE(Mean Absolute Error)作为推荐精度度量标准。平均绝对偏差MAE通过计算预测的用户评分与实际的用户评分之间的偏差度量预测的准确性,MAE越小,推荐质量越高。设预测的用户评分集合表示为{p1,p2,…,pn},对应的实际用户评分集合为{q1,q2,…,qn},则平均绝对偏差
3.3推荐精度试验
试验过程中,分别指定用户聚类的数目为30,40,目标用户的最近邻居个数从10增加到40,间隔为10,分别计算本文提出的算法与传统的协同过滤推荐算法的MAE,试验结果如图2和图3所示。
由图2和图3可以看出,在聚类数目分别为30和40时,本文提出的基于用户聚类的协同过滤推荐算法均具有最小的MAE。由聚类的性质可知,目标用户的最近邻居大部分分布在与目标用户相似性最高的聚类中,因此不需要在整个用户空间上查询目标用户的最近邻居,而只需要在与目标用户相似性最高的聚类中就能查询到目标用户的大部分最近邻居。由于传统的协同过滤算法是在所有的用户空间上进行最近邻居的搜索,而本文提出的算法是在聚类后的用户空间上进行搜索,因此推荐的精度大大提高。由此可知,与传统的最近邻协同过滤推荐算法比较,本文提出的算法可以显著提高推荐系统的推荐质量。
3.4实时性效果检验
为了检验算法的实时性效果,将传统的在线计算相似系数与本文提出的离线计算相似系数作比较,分别进行在线推荐,实验结果如图4所示。
图4中用横轴表示聚类的数目k,用纵轴表示进行实时推荐所需耗费的时间t。可以看出,采用离线计算相似系数后,实时推荐所需时间明显少于在线计算相似系数所需时间。特别是当聚类的数目比较小的时候,两者的效率几乎相差一倍。这是因为聚类中的数目小的时候,聚类中的项目数相对较大,计算相似系数所需时间长,采用离线计算相似系数就可以大大提高推荐的效率。而随着聚类数目的增大,聚类中项目的平均数目会变小,此时需要在线计算相似系数的项目相对较少,离线和在线计算所需时间相差不大,但本文提出的算法效率仍优于改进前的算法执行效率。