协同过滤数据稀疏性问题研究

1 协同过滤算法简介

1.1 协同过滤核心思想以及分类

协同过滤以其特有的优势成为众多专家和学者关注的焦点,目前在各大电子商务网站得到广泛应用。该算法的思想是:根据系统中已有的评分数据计算用户(或项目)之间的相似性;根据计算得到的相似性找出当前用户(或项目)的最近邻;根据最近邻中用户(或项目)的评分预测当前用户对其他项目的评分值,最终根据评分值大小确定是否将该项目推荐给当前用户。

协同过滤推荐算法可以分为基于用户的协同过滤(UCF)与基于项目的协同过滤(ICF)。这两个算法的共同点在于二者都是根据用户-项目评分矩阵建立推荐系统模型,从而为用户提供个性化推荐服务的。不同之处在于UCF是根据用户之间的相似性找到目标用户的最近邻集,然后根据该集合中用户的评分情况确定目标用户的推荐结果。而ICF则是通过分析项目之间的相似性,最终将与目标用户评价较好的项目相似度较高的作为推荐列表的结果。

1.2 协同过滤的优缺点

基于协同过滤算法的推荐系统主要有以下优点:

(1)协同过滤算法的数据源是用户对项目的评价信息,不用考虑项目是否属于同一类别,所以协同过滤算法可以从属性不同的项目中提取有用的信息。

(2)协同过滤算法同时考虑了当前用户和其他用户的评价信息,这样能够增加产生推荐可利用的信息量,从而提高推荐的质量与效率。

(3)协同过滤算法的新颖性较高,推荐结果可能是用户意想不到的。

目前,协同过滤技术已经得到了广泛应用。但是网站商品信息量和用户人数在不断攀升,网站的结构也越来越复杂,因此基于协同过滤的推荐系统面临着一系列问题[1],比如:稀疏性问题、冷启动问题和可扩展性问题。

冷启动问题分为系统冷启动、用户冷启动和项目冷启动。系统冷启动问题主要解决如何在一个新开发的网站上设计个性化推荐系统,从而在网站刚发布的时候就能让用户体验到个性化推荐服务。用户冷启动主要解决的是在没有新用户的行为数据时如果为其提供个性化推荐服务。项目冷启动主要解决将新上架的项目推荐给可能对它感兴趣的用户。另外,电子商务网站、商品、用户的数量都在不断增加,推荐系统将面临严重的可扩展性问题。

2 稀疏性问题描述

稀疏性问题是推荐系统面临的主要问题,也是导致推荐系统质量下降的重要原因。在一些大型网站如亚马逊,用户评价过的项目质量相对网站中总项目数量可谓是冰山一角,这就导致了用户项目评分矩阵的数据极端稀疏,在计算用户或项目的最近邻时准确率就会比较低,从而使得推荐系统的推荐质量急剧下降。

3 稀疏性问题解决方式

稀疏性问题直接影响这推荐系统的质量问题,因此受到了学术界和应用界的高度关注。目前提出的解决稀疏性问题的方式已经有很多种,常用的有:简单填值、聚类、降维、结合内容的过滤方法等。

3.1 简单填值的方法

填值法就是用一个固定的数值填充系统中所有的未评过分的项目,从而解决稀疏性问题一种方法。常用固定值的选取方法有两种:

(1)缺省值可以设为评分的平均值,或者对前两者进行某种合成。该方法在一定程度上能缓解数据稀疏性问题,但在用户和项目数量很大的情况下填充所有缺省值,完成推荐的计算量也比较大,因此适合于小规模数据库。另外用户对未评过分的项目评分情况会有一些差异,该方法采用统一的数值进行填充,没有考虑到用户的兴趣差异,抹杀了用户的个性。

(2)众数法。众数法就是将目标用户所有评分的众数作为新项目预测评分的方法。从统计学的角度来说,采用众数法这种预测方法的准确率会比较高,但是在实际生活中,采用众数法预测用户对项目的评分可能会是错误的。另外,用户对项目的评分可能会存在多个众数或者没有众数的情况,因此众数法的应用局限性比较大。

3.2 聚类的方法

该方法根据用户兴趣之间的差异,利用某种聚类算法将系统中的所有用户划分为不同的群体;系统把用户所在群体的中心值作为用户对未评项目的评分预测值,进行用户项目评分矩阵的填充。主要的聚类方法有k-means聚类和遗传聚类等。聚类方法针对的对象可以是用户,也可以是项目,还可以对用户和项目均进行聚类。其中,对用户进行聚类时首先要对用户-项目评分数据库进行聚类,然后选择目标用户所属类的用户作为最近邻集合;对项目进行聚类时根据用户对项目评分的相似性对项目进行k-means聚类生成相应聚类中心,在此基础上计算目标项目与聚类中心的相似性,从而只需在与目标项目最相似的若干个聚类中就能寻找到目标项目的最近邻,并能够产生推荐列表,这种方法是由邓爱林等人提出的[2];对用户和项目均进行聚类的方法主要有层次聚类、biclustering聚类和co-clustering聚类等。聚类的方法利用相似群体的评分信息提高了预测的准确度,但不能体现用户间的爱好区别,因此推荐结果的准确率并没有得到显著提高。3.3 降维的方法

用户-项目评分矩阵出现数据稀疏的情况是由项目的高维数据引起的,因此可以考虑采取一定措施降低项目数据的维度,进而达到约减数据的目的。目前常见的降维技术主要有简单降维方法、矩阵分解和主成分分析(PCA)三类。

(1)简单降维方法。简单的降维方法就是通过设置限制条件删除一些用户和项目,从而降低用户-评分矩阵的维度。被删除的往往是没有参加过评分活动或者是评分次数很少的用户,或者是没有被用户评价过或者是被评价的次数很少的项目。利用该方法可以在一定程度上降低评分矩阵的维度,但是无法对被删除的用户或者项目进行推荐,这就导致了用户流失和信息隐藏的问题。

(2)矩阵分解。矩阵分解的最简单方法是单值分解算法。用该方法分解用户-项目评分矩阵,可以约减评分矩阵中的数据。但是该算法在分解矩阵的过程中会造成数据遗失,影响准确率。

奇异值分解(SVD)是一种矩阵分解的有效方式,该技术在计算机科学、统计学等领域有着广泛应用。SVD可以将高度相关且在一起出现的内容作为单独因子,把通常很大的矩阵向量拆解成更小阶的近似矩阵。奇异值分解能够应用于协同过滤算法解决数据稀疏性问题,主要原因是协同过滤中用户对项目评分是因为用户对这些项目的隐含特性比较感兴趣,而这些项目之间也存在着一些共同的特征。用户喜欢某一项目的表现为用户对这些项目的评分比较高,所以通过将用户的评分用线性代数方法分解为一些特征,可以根据用户对这些特征的喜好程度来预测用户对他所没有评过分的项目的喜好。

(3)主成分分析。主成分分析是基于矩阵特征值分解计算的标准统计分析方法。该方法式将原来的变量重新组合成一组新的互相无关的综合变量,同时根据实际需要可以从中取出几个能够尽可能多地反映原来信息综合变量作为新的参考信息。经过PCA处理后,原始评分数据被投射到最相关的主特征向量上,从而能够约减数据集。

降维技术虽然在一定程度上能够降低用户-项目评分矩阵的规模和稀疏程度,但采用该技术也流失了一部分用户对项目的评分数据。C C Aggarwak指出降维技术产生的效果与数据集密切相关,在项目空间维度很高的情况下进行降维,效果往往难以得到保证。

3.4 结合内容的过滤

协同过滤利用的信息只是用户评分数据,基于内容的过滤可以具体显示用户的描述信息,因此将这两种方式融合在一起可以增加可利用的数据量。具体的融合方式有以下四种[3]:

(1)综合考虑协同过滤和基于内容的过滤的推荐结果,采用一定方式将两种结果融合在一起。

(2)将协同过滤和基于内容的过滤集成到一个统一的模型。

(3)将协同过滤的部分功能集成到基于内容的过滤。

(4)将基于内容过滤的部分功能集成到协同过滤。

4 结束语

数据稀疏性不仅降低了最近邻居搜寻准确率,而且也降低了推荐覆盖率,直接影响着推荐的质量与效率。因此稀疏性问题一直是进行推荐系统研究的重点。目前,众多专家和学者已经提出了解决数据稀疏性的方法,有效的提高了推荐结果的质量。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,980评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,178评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,868评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,498评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,492评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,521评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,910评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,569评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,793评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,559评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,639评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,342评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,931评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,904评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,144评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,833评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,350评论 2 342

推荐阅读更多精彩内容

  • 什么是协同过滤 协同过滤推荐(Collaborative Filtering recommendation)是在信...
    小灰灰besty阅读 34,129评论 7 51
  • 概述及标签体系搭建 1 概述 随着信息技术的迅速发展和信息内容的日益增长,“信息过载”问题愈来愈严重,愈发带来很大...
    JinkeyAI阅读 22,747评论 10 241
  • 欢迎关注【机器学习之路】公众号 1。http://www.voidcn.com/blog/u013713010/a...
    大海一滴写字的地方阅读 4,655评论 0 16
  • 推荐系统的主要方法 一、基于内容的推荐算法 网络基于内容的推荐系统,也称CB(Content-based Reco...
    Arya鑫阅读 3,517评论 1 6
  • 不知从什么时候开始很多人喜欢在朋友圈里晒幸福,旅游中拍到的美景,吃到的美食,音乐会上歌手唱的美妙歌曲的视频,一家人...
    夏莉01阅读 277评论 2 3