《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.edu.cn厦门大学计算机科学系2015年版林子雨厦门大学计算机科学系E-mail:ziyulin@xmu.edu.cn主页:第11章大数据在互联网领域的应用(PPT版本号:2015年6月第1.0版)《大数据技术原理与应用》温馨提示:编辑幻灯片母版,可以修改每页PPT的厦大校徽和底部文字《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.edu.cn提纲11.1推荐系统概述11.2推荐算法–协同过滤11.3协同过滤实践–电影推荐系统欢迎访问《大数据技术原理与应用》教材官方网站:本PPT是如下教材的配套讲义:21世纪高等教育计算机规划教材《大数据技术原理与应用——概念、存储、处理、分析与应用》(2015年6月第1版)厦门大学林子雨编著,人民邮电出版社ISBN:978-7-115-39287-9《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.edu.cn11.1推荐系统概述•11.1.1什么是推荐系统•11.1.2长尾理论•11.1.3推荐方法•11.1.4推荐系统模型•11.1.5推荐系统的应用《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.edu.cn11.1.1什么是推荐系统•互联网的飞速发展使我们进入了信息过载的时代,搜索引擎可以帮助我们查找内容,但只能解决明确的需求•为了让用户从海量信息中高效地获得自己所需的信息,推荐系统应运而生。推荐系统是大数据在互联网领域的典型应用,它可以通过分析用户的历史记录来了解用户的喜好,从而主动为用户推荐其感兴趣的信息,满足用户的个性化推荐需求《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.edu.cn•“长尾”概念于2004年提出,用来描述以亚马逊为代表的电子商务网站的商业和经济模式•电子商务网站销售种类繁多,虽然绝大多数商品都不热门,但这些不热门的商品总数量极其庞大,所累计的总销售额将是一个可观的数字,也许会超过热门商品所带来的销售额•因此,可以通过发掘长尾商品并推荐给感兴趣的用户来提高销售额。这需要通过个性化推荐来实现11.1.2长尾理论《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.edu.cn•热门推荐是常用的推荐方式,广泛应用于各类网站中,如热门排行榜。但热门推荐的主要缺陷在于推荐的范围有限,所推荐的内容在一定时期内也相对固定•个性化推荐可通过推荐系统来实现。推荐系统通过发掘用户的行为记录,找到用户的个性化需求,发现用户潜在的消费倾向,从而将长尾商品准确地推荐给需要它的用户,进而提升销量,实现用户与商家的双赢11.1.2长尾理论《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.edu.cn•推荐系统的本质是建立用户与物品的联系,根据推荐算法的不同,推荐方法包括如下几类:–专家推荐:人工推荐,由资深的专业人士来进行物品的筛选和推荐,需要较多的人力成本–基于统计的推荐:基于统计信息的推荐(如热门推荐),易于实现,但对用户个性化偏好的描述能力较弱–基于内容的推荐:通过机器学习的方法去描述内容的特征,并基于内容的特征来发现与之相似的内容–协同过滤推荐:应用最早和最为成功的推荐方法之一,利用与目标用户相似的用户已有的商品评价信息,来预测目标用户对特定商品的喜好程度–混合推荐:结合多种推荐算法来提升推荐效果11.1.3推荐方法《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.edu.cn•一个完整的推荐系统通常包括3个组成模块:用户建模模块、推荐对象建模模块、推荐算法模块:–用户建模模块:对用户进行建模,根据用户行为数据和用户属性数据来分析用户的兴趣和需求–推荐对象建模模块:根据对象数据对推荐对象进行建模–推荐算法模块:基于用户特征和物品特征,采用推荐算法计算得到用户可能感兴趣的对象,并根据推荐场景对推荐结果进行一定调整,将推荐结果最终展示给用户11.1.4推荐系统模型用户行为数据用户属性数据用户特征用户建模模块对象与用户的交互数据对象属性数据物品特征推荐对象建模模块推荐算法推荐算法模块过滤、调整推荐结果图11-1推荐系统基本架构《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.edu.cn•目前在推荐系统已广泛应用于电子商务、在线视频、在线音乐、社交网络等各类网站和应用中•如亚马逊网站利用用户的浏览历史记录来为用户推荐商品,推荐的主要是用户未浏览过,但可能感兴趣、有潜在购买可能性的商品11.1.5推荐系统的应用图11-2亚马逊网站根据用户的浏览记录来推荐商品《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.edu.cn•推荐系统在在线音乐应用中也逐渐发挥作用。音乐相比于电影数量更为庞大,个人口味偏向也更为明显,仅依靠热门推荐是远远不够的•虾米音乐网根据用户的音乐收藏记录来分析用户的音乐偏好,以进行推荐。例如,推荐同一风格的歌曲,或是推荐同一歌手的其他歌曲11.1.5推荐系统的应用图11-3虾米音乐网根据用户的音乐收藏来推荐歌曲《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.edu.cn•推荐技术从被提出到现在已有十余年,在多年的发展历程中诞生了很多新的推荐算法。协同过滤作为最早、最知名的推荐算法,不仅在学术界得到了深入研究,而且至今在业界仍有广泛的应用•协同过滤可分为基于用户的协同过滤和基于物品的协同过滤•11.2.1基于用户的协同过滤(UserCF)•11.2.2基于物品的协同过滤(ItemCF)•11.2.3UserCF算法和ItemCF算法的对比11.2协同过滤《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.edu.cn•基于用户的协同过滤算法(简称UserCF算法)在1992年被提出,是推荐系统中最古老的算法•UserCF算法符合人们对于“趣味相投”的认知,即兴趣相似的用户往往有相同的物品喜好:当目标用户需要个性化推荐时,可以先找到和目标用户有相似兴趣的用户群体,然后将这个用户群体喜欢的、而目标用户没有听说过的物品推荐给目标用户•UserCF算法的实现主要包括两个步骤:–第一步:找到和目标用户兴趣相似的用户集合–第二步:找到该集合中的用户所喜欢的、且目标用户没有听说过的物品推荐给目标用户11.2.1基于用户的协同过滤(UserCF)《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.edu.cn11.2.1基于用户的协同过滤(UserCF)图11-4基于用户的协同过滤(UserCF)《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.edu.cn•实现UserCF算法的关键步骤是计算用户与用户之间的兴趣相似度。目前较多使用的相似度算法有:–泊松相关系数(PersonCorrelationCoefficient)–余弦相似度(Cosine-basedSimilarity)–调整余弦相似度(AdjustedCosineSimilarity)•给定用户u和用户v,令N(u)表示用户u感兴趣的物品集合,令N(v)为用户v感兴趣的物品集合,则使用余弦相似度进行计算用户相似度的公式为:11.2.1基于用户的协同过滤(UserCF)《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.edu.cn•由于很多用户相互之间并没有对同样的物品产生过行为,因此其相似度公式的分子为0,相似度也为0•我们可以利用物品到用户的倒排表(每个物品所对应的、对该物品感兴趣的用户列表),仅对有对相同物品产生交互行为的用户进行计算11.2.1基于用户的协同过滤(UserCF)图11-5物品到用户倒排表及用户相似度矩阵《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.edu.cn•得到用户间的相似度后,再使用如下公式来度量用户u对物品i的兴趣程度Pui:•其中,S(u,K)是和用户u兴趣最接近的K个用户的集合,N(i)是喜欢物品i的用户集合,Wuv是用户u和用户v的相似度,rvi是隐反馈信息,代表用户v对物品i的感兴趣程度,为简化计算可令rvi=1•对所有物品计算Pui后,可以对Pui进行降序处理,取前N个物品作为推荐结果展示给用户u(称为Top-N推荐)11.2.1基于用户的协同过滤(UserCF)《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.edu.cn•基于物品的协同过滤算法(简称ItemCF算法)是目前业界应用最多的算法。无论是亚马逊还是Netflix,其推荐系统的基础都是ItemCF算法•ItemCF算法是给目标用户推荐那些和他们之前喜欢的物品相似的物品。ItemCF算法主要通过分析用户的行为记录来计算物品之间的相似度•该算法基于的假设是:物品A和物品B具有很大的相似度是因为喜欢物品A的用户大多也喜欢物品B。例如,该算法会因为你购买过《数据挖掘导论》而给你推荐《机器学习实战》,因为买过《数据挖掘导论》的用户多数也购买了《机器学习实战》11.2.2基于物品的协同过滤(ItemCF)《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.edu.cn11.2.2基于物品的协同过滤(ItemCF)图11-6基于物品的协同过滤(ItemCF)《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.edu.cn•ItemCF算法与UserCF算法类似,计算也分为两步:–第一步:计算物品之间的相似度;–第二步:根据物品的相似度和用户的历史行为,给用户生成推荐列表。•ItemCF计算的是物品相似度,再使用如下公式来度量用户u对物品j的兴趣程度Puj(与UserCF类似):11.2.2基于物品的协同过滤(ItemCF)《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.edu.cn•ItemCF算法通过建立用户到物品倒排表(每个用户喜欢的物品的列表)来计算物品相似度11.2.2基于物品的协同过滤(ItemCF)图11-7用户到物品倒排表及物品相似度矩阵《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.edu.cn•UserCF算法和ItemCF算法的思想、计算过程都相似•两者最主要的区别:–UserCF算法推荐的是那些和目标用户有共同兴趣爱好的其他用户所喜欢的物品–ItemCF算法推荐的是那些和目标用户之前喜欢的物品类似的其他物品•UserCF算法的推荐更偏向社会化,而ItemCF算法的推荐更偏向于个性化11.2.3UserCF算法和ItemCF算法的对比《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.edu.cn•UserCF算法的推荐更偏向社会化:适合应用于新闻推荐、微博话题推荐等应用场景,其推荐结果在新颖性方面有一定的优势•UserCF缺点:随着用户数目的增大,用户相似度计算复杂度越来越高。而且UserCF推荐结果相关性较弱,难以对推荐结果作出解释,容易受大众影响而推荐热门物品•ItemCF算法的推荐更偏向于个性化:适合应用于电子商务、电影、图书等应用场景,可以利用用户的历史行为给推荐结果作出解释,让用户更为信服推荐的效果•ItemCF缺点:倾向于推荐与用户已购买商品相似的商品,往往会出现多样性不足、推荐新颖度较低的问题11.2.3UserCF算法和ItemCF算法的对比《大数据技术原理与应用》厦门大学计算机科学系林子雨ziyulin@xmu.edu.cn11.3协同过滤实践•11.3.1实践背景•11.3.2数据处理•11.3.3计算相