个性化推荐漫谈

  如果说过去的十年是搜索技术大行其道的十年,那么个性化推荐技术将成为未来十年中最重要的革新之一。目前几乎所有大型的电子商务系统,如Amazon、 CDNOW、Netflix等,都不同程度地使用了各种形式的推荐系统。而近来以“发现”为核心的网站正开始在互联网上崭露头角,比如侧重于音乐推荐的八 宝盒,侧重于图书推荐的豆瓣等等。

  那么,一个好的推荐系统需要满足什么目标呢?
  个性化推荐系统必须能够基于用户之前的口味和喜好提供相关的精确的推荐,而且这种口味和喜欢的收集必须尽量少的需要用户的劳动。推荐的结果必须能够实时计
算,这样才能够在用户离开网站前之前获得推荐的内容,并且及时的对推荐结果作出反馈。实时性也是推荐系统与通常的数据挖掘技术显著不同的一个特点。

  一个完整的推荐系统由三部分构成:行为记录模块、模型分析模块和推荐模块。行为记录模块负责记录能够体现用户喜好的行为,比如购买、下载、评分等。这部分
看起来简单,其实需要非常仔细的设计。比如说购买和评分这两种行为表达潜在的喜好程度就不尽相同完善的行为记录需要能够综合多种不同的用户行为,处理不同
行为的累加。模型分析模块的功能则实现了对用户行为记录的分析,采用不同算法建立起模型描述用户的喜好信息。最后,通过推荐模块,实时的从内容集筛选出目
标用户可能会感兴趣的内容推荐给用户。因此,除了推荐系统本身,为了实现推荐,还需要一个可供推荐的内容集。比如,对于音乐推荐系统来说,一个音乐库就是
这样的内容集。我们对内容集本身需要提供的信息要求非常低,在经典的协同过滤算法下,内容集甚至只需要提供ID就足够。而对于基于内容的推荐系统来说,由
于往往需要对内容进行特征抽取和索引,我们就会需要提供更多的领域知识和内容属性。这种情况下,还是拿音乐举例,歌手、流派之类的属性和音频信息就成为必
需的内容集信息。

迄今为止在个性化推荐系统中,协同过滤(Collaborative
Filtering)技术是应用最成功的技术。目前国内外互联网上有许多大型网站已经应用这项技术为用户更加智能的推荐内容。如果你想要研究协同过滤,一定不能错过MovieLens(http://movielens.umn.edu/)。它是协同过滤最著名的研究项目之一。

  第一代的协同过滤技术,又被称为基于用户(User-based)的协同过滤。基于用户的协同过滤,基本原理是基于用户行为选择的相关性。用户的行为选择
这里指的是下载、购买、评价等等能够显式或者隐式体现出用户喜好的行为。在一个典型的基于协同过滤技术的推荐系统中,输入数据通常可以表述为一个m×n
的用户内容矩阵R,m是用户数,n是内容数。矩阵的值与内容的类型有关,通常由行为记录模块决定。如果内容是网上书店中的书,则矩阵的值可以表示用户购买
与否,例如1表示购买,0表示没有购买;或者表示用户对它的评价有多高,这样的评价值就可以有几个等级,比如常见的1~5级评价制。

  基于用户的协同过滤,通过比较目标用户的一系列行为选择和其他用户之间的相似性,来识别出一组相互具有类似喜好的用户,又可以称为“同好”。一旦系统能够
识别一个用户的同好用户,就能够将他们最感兴趣的内容作为当前用户的推荐结果推荐给这个用户。也就是说,以前的行为选择与你相似的用户,在以后的行为中很
可能也会和你相似。因此将这些用户做为基准来向你推荐内容。协同过滤的核心问题是寻找与目标用户兴趣相近的一组用户。这种相似用户通常被称为最近邻居(Nearest
Neighbor)。用户之间的相似度是通过比较两个用户的行为选择矢量得到的。目前,比较行为选择矢量的相似度计算方法有许多种,比较经典的算法包括泊松相关系数(Person
Correlation Coefficient)和余弦相似性(Cosine-based Similarity)。

  “最近邻居”产生后,我们就能够计算得到用户最可能感兴趣的内容集(也叫做TopN推荐集)。为了得到推荐集,分别统计“最近邻居”中的用户对不同内容的兴趣度,取其中排在最前面的内容作为推荐集。下面是一个简化的示例:假如用户张三有两个同好:李四和王五。

张三喜欢看电影A;

李四喜欢看电影A,B,C和D;

王五喜欢看电影A,B,D,E和F;

这样,推荐系统就能够过滤出相似用户都喜欢的电影B和D作为张三最可能也会喜欢的电影推荐给张三。

  基于用户的协同过滤技术在个性化推荐系统中获得了极大的成功,但它有自身的局限性。推荐集的产生方式意味着一个内容只有已经被用户选择(购买)后才有机会
被推荐给其他用户。对于一个网上书店来说,新上架的书因为还没有被相当数量的用户购买或者评价的记录,便很少有机会被用户的“最近邻居”筛选进入推荐集。
这个问题,也被称之为协同过滤的“冷启动”问题。

  此外,因为计算用户的相似度时,是通过将目标用户的历史行为记录与其他每一个用户的记录相比较得出的,所以对于一个现实的推荐系统来说,扩展性将成为非常
严重的问题。设想一下,对于一个拥有上百万用户的网站来说,每计算一个用户都将涉及到上百万次的比较,更不要说其中会带来的大量数据库IO操作的开销。

  于是第二代基于内容项(Item-based)的协同过滤技术就产生了。与基于用户的技术不同的是,这种方法比较的是内容项与内容项之间的相似度。
Item-based
方法同样需要进行三个步骤获得推荐:1)得到内容项(Item)的历史评分数据;2)针对内容项进行内容项之间的相似度计算,找到目标内容项的“最近邻
居”;3)产生推荐。这里内容项之间的相似度是通过比较两个内容项上的用户行为选择矢量得到的。举个例子,假设用户和内容项如下:


 

电影A

电影B

电影C

电影D

张三

喜欢

 

 

 

李四

喜欢

喜欢

喜欢

喜欢

王五

不喜欢

 

不喜欢

不喜欢

赵六

喜欢

喜欢

 

喜欢

可以看出,电影A与D是最相似的。因为张三喜欢A,所以电影D就可以推荐给张三。

  和基于用户的推荐系统相比,基于内容项的推荐系统最大的改进是更具有扩展性。基于内容项的方法通过计算内容项之间的相似性来代替用户之间的相似性。对于通
常的互联网应用来说,提供的内容项数量相对较为稳定。比如一个大型网上书店,可能出售的书籍数量也就在几十万上下,而用户数量就可能达到几百万。所以,比
起用户,内容项之间的相似性计算需要的计算量要少很多,从而大大降低了在线计算量,提高系统性能。基于内容项的推荐系统应用最为成功的是Amazon。
Amazon为此还申请了一项专利叫做”Collaborative
recommendations using item-to-item similarity mappings”[1]。当然,在降低了计算量的同时,完全基于内容项的推荐技术也在推荐的准确度上做了小小的牺牲。大多数情况下,基于用户的推荐技术表现要略好于基于内容项的方法。这是因为基于内容的方法忽略了相似用户之间的组群特征。

  不论是第一代的基于用户方法,还是第二代的基于内容项方法,都不可避免的遇到数据稀疏的问题。在任何一个网站中,用户的评分记录或者购买记录,相对整个可
供选择的内容集来说,都是很小的一部分。所以在许多推荐系统中,每个用户涉及的数据量相当有限,在一些大的系统如Amazon中,用户最多不过就评价过上
百万本书的1%,造成评估数据相当稀疏。当用户评价过的内容之间找不到交集时,就难以判断用户的口味是否相似,难以找到相似用户集,导致推荐效果大大降
低。为了解决用户数据的稀疏问题,最方便的办法就是将用户对没有选择过的内容项的评分设为一个固定的缺省值,例如用户的平均评分。针对如何预测遗漏的评分
业内又提出了很多种方法,不过一般来说采用最简单的改进方法就可以有效地提高协同过滤推荐系统的准确度。

  另外一方面,即便采用了基于内容项的方法,在数据量巨大的时候,计算复杂度仍然成为性能瓶颈。为了进一步解决协同过滤技术的扩展性能问题,目前比较有效的
办法是在用户评分数据上做一次聚类分析(clustering)。聚类技术首先将具有相似兴趣爱好的用户分配到相同的分类中。聚类产生之后,它或者将“最
近邻居”搜索对象限制在最相近的聚类中,根据类中其他用户的评价预测目标用户的评价,或者用聚类的中心作为近似提取推荐结果。由于用户之间的分类相对变化
比较小,因此聚类过程往往可以离线进行,而无需实时计算,这样就大大降低了实时推荐的计算压力,提高推荐系统的速度。一般来说,聚类将用户分为多少个类,
推荐系统的整体速度就能够提高多少倍。具体选择什么样的聚类算法,又会因应用领域和数据的分布特性而不同。如果聚类算法选择不当,反而会降低推荐的准确
性。近年来,推荐系统的算法技术的发展也有了一些新的方向,比如SlopeOne,SVD等方法,就不一一列举了。

  一个商用推荐系统的尤其关键之处在于对海量用户数据的处理。因为推荐系统是数据优先,数据的积累越多对推荐的精度就越有好处。而当用户的行为数
据真正积累到上百万甚至上亿时,如何在合理时间内得出有效的推荐,就是对推荐技术最大的考验。除此之外,一个优秀的推荐系统需要能够结合内容相似与用户行为相。传统的协同过滤方法是忽略内容本身的属性的,这一方面固然是对数据要求少的优点,但另一方面也带来了难以避免的“冷启动”问题。其实,随着标签系统在互联网上的广泛应用,标签本身就不失为是一种很好的内容属性,如何利用也是值得大家探讨的。充分利用到内容本身的属性,将不同的相似性结合起来,这会给基于协同过滤的推荐技术带来新的动力。最后一点,设计良好的推荐技术要能够从用户对推荐内容的反馈中自行调整和学习。因为实际上每个用户对于推荐的内容都
有不同的要求,比如有的用户可能偏好比较热门的内容,有的用户更愿意发现冷门的内容。针对不同用户的反馈来不断学习每个用户的特征,才能够避免所采用算法
本身先天的偏差,获得较为理想的效果。

  本文为音乐八宝盒(http://www.8box.cn/
co-funder 大为提供

时间: 2024-10-08 18:25:33

个性化推荐漫谈的相关文章

CSDDN特约专稿:个性化推荐技术漫谈

本文引自http://i.cnblogs.com/EditPosts.aspx?opt=1 如果说过去的十年是搜索技术大行其道的十年,那么个性化推荐技术将成为未来十年中最重要的革新之一.目前几乎所有大型的电子商务系统,如Amazon.CDNOW.Netflix等,都不同程度地使用了各种形式的推荐系统.而近来以“发现”为核心的网站正开始在互联网上崭露头角,比如侧重于音乐推荐的八宝盒,侧重于图书推荐的豆瓣等等. 那么,一个好的推荐系统需要满足什么目标呢?个性化推荐系统必须能够基于用户之前的口味和喜好

产品学习之个性化推荐和热度算法详解

今日头条的走红带动了"个性化推荐"的概念,自此之后,内容型的产品,个性化算法就逐渐从卖点变为标配. 伴随着"机器学习","大数据"之类的热词和概念,产品的档次瞬间提高了很多.而各种推荐算法绝不仅仅是研发自己的任务,作为产品经理,必须深入到算法内部,参与算法的设计,以及结合内容对算法不断"调教",才能让产品的推荐算法不断完善,最终与自己的内容双剑合璧. 本文以新闻产品为例,结合了我之前产品从零积累用户的经验,整理了作为PM需要了

谷歌新闻个性化推荐

(未编辑完) 谷歌新闻有数百万的用户,聚合了>4500个新闻源的新闻数据,并把类似的新闻聚合在一起,个性化的展示给用户,假设用户点击一篇文章表明他对这文章感兴趣,(其实未点击一篇文章也不能说明他不对这样的文章感兴趣),由于用户众多,不同用户点击次数差异很大,有的仅仅点击了几篇,而有的点击数百数千文章.新的文章分秒不断的加入也是新闻推荐不同于其他推荐的特点. 新闻推荐的问题描述:给定N个用户,M篇文章,和每个用户的点击历史C,给每个用户推荐K篇他可能喜欢的文章.系统也需要通过用户的点击即刻反映出用

从风险管理的角度来看是否须要个性化推荐

一  背景 1.现今 ,个性化技术被广泛用于推荐系统 . 特别是基于用户的偏好数据进行个性化预測的 协同过滤算法,已被证是实际可行的.然而 在某种程度上我们并不知道个性化推荐是否总是 能优于非个性化推荐.<Performance of recommender algorithms on top-n recommendation tasks>已证实基于热门的推荐也有相当好的效果.下图是Bayesian personalized ranking 和 popularity-based 推荐算法的结果

【推荐系统论文笔记】个性化推荐系统评价方法综述(了解概念——入门篇)

Overview of  the Evaluated Algorithms for the Personal Recommendation Systems   顾名思义,这篇中文论文讲述的是推荐系统的评价方法,也就是,如何去评价一个推荐系统的好与不好. 引言 1.个性化推荐系统通过建立用户与产品之间的二元关系 ,利用用户已有的选择过程或相似性关系挖掘每个用户潜在感兴趣的对象 ,进而进行个性化推荐 ,其本质就是信息过滤. 2.一个完整的推荐系统由3部分组成: 收集用户信息的行为记录模块: 分析用户

互联网广告的个性化推荐平台设计--相关知识

人群分类模型 根据用户人群数据记录,建立人群属性分类模型,根绝用户特点,将用户标记为特定类别.据此进行精准定向服务,并进行效果评估.主要分类方法: 1.采用模糊数学综合判定理论,构建关系矩阵,判定类别属性的映射关系.采样真实数据,模拟真实数据分布,统计属性取值的概率分布,作为概率的估计值,另外,将广告类别的点击次数作为权重矩阵R.构建映射关系公式: R是关系矩阵,W是出现次数矩阵,C是计算结果的类别判定矩阵. 2. 采用分类器算法构建分类模型.根据数据特点,利用数据挖掘和机器学习 相关的分类器算

个性化推荐入门

“探索推荐引擎内部的秘密”系列将带领读者从浅入深的学习探索推荐引擎的机制,实现方法,其中还涉及一些基本的优化方法,例如聚类和分类的应用.同时在理论讲解的基础上,还会结合 Apache Mahout 介绍如何在大规模数据上实现各种推荐策略,进行策略优化,构建高效的推荐引擎的方法.本文作为这个系列的第一篇文章,将深入介绍推荐引擎的工作原理,和其中涉及的各种推荐机制,以及它们各自的优缺点和适用场景,帮助用户清楚的了解和快速构建适合自己的推荐引擎. 信息发现 如今已经进入了一个数据爆炸的时代,随着 We

主打个性化推荐阅读的摘客,玩的是什么?

你的朋友圈是不是关注几十上百个微信公众号,每天打开来看的次数却少之又少?你是不是 每天去不同的牛逼哄哄的网站逛,看所谓的大流干货呢?你是不是想找感兴趣领域的专业技能,面对如此众多的平台,花费大量的时间和精力确也看花眼呢? 在如今资本市场寒冬的舆论下,摘客依然迈进了个性化推荐聚合阅读的领域.众所周知,“今日头条”作为主打个性推荐的聚合阅读产品,已经成功累计了大批的用户,且在这个同质化泛滥的应用海洋,摘客为什么要飞蛾扑火呢? 大部分主打个性化推荐阅读产品,大多遵从传统媒体的主流分类,涵括社会.时政.

聊聊淘宝天猫个性化推荐技术演进史

引言:个性化推荐技术直面用户,可以说是站在最前线的那个.如今,从用户打开手机淘宝客户端(简称"手淘")或是手机天猫客户端(简称"猫客")的那一刻起,个性化推荐技术就已经启动,为你我带来一场个性化的购物之旅.本文将细数个性化推荐的一路风雨,讲讲个性化推荐技术的演进史. 本文选自[<尽在双11--阿里巴巴技术演进与超越>. 1.个性化推荐All-in无线 无线个性化推荐起步于2013年10月.现在往回看,当时的阿里很好地把握住了移动端快速发展的浪潮,以集团A