1、目标 推荐系统的意义 基于内容推荐 协同过滤推荐 频繁模式挖掘 标签系统 推荐结果评价推荐系统的意义 随着信息技术的迅速发展和信息内容的日益增长,“信息过载”问题愈来愈严重,愈发带来很大的信息负担。 施拉姆施拉姆信息选择公式信息选择公式,人们对媒体的注意或选择的可能性(然率)与它能够提供的报偿(价值)程度成正比,与人们获得它的代价(费力)程度成反比。 人们愿意用最小的代价获取价值最大的新闻信息。人们愿意用最小的代价获取价值最大的新闻信息。推荐系统的意义 在互联网时代由于网络技术能以很低的成本让人们去获得更多的信息和选择,事 实上,每一个人的品味和偏好都并非和主流人群完全一致,当我们发现得越多,
2、我们就越能体会到我们需要更多的选择。如果说搜索引擎体现着马 太效应的话,那么长尾理论则阐述了推荐系统发挥的价值。推荐系统的意义基于内容推荐信息来源: 物品基本信息 用户的基本信息 用户和物品之间的信息基于内容推荐(人口统计学的推荐)基于人口统计学的推荐思想:根据系统用户的基本信息发现用户的相关程度,然后将相似用户喜爱的其他物品推荐给当前用户基于内容推荐(人口统计学的推荐)A用户基本信息:年龄25-30岁,性别:女年龄分:0-10 10-25 25-30 30-35 35-60 60-B用户基本信息:年龄30-35岁,性别:男C用户基本信息:年龄25-30岁,性别:女性别:男 女a(3,1)b(
3、4,0)c(3,1)基于内容推荐(人口统计学的推荐)余弦相似性基于内容推荐(人口统计学的推荐)优缺点:(1)由于不使用当前用户对物品的喜好历史数据,所以对于新用户来讲没有“冷启动”的问题;(2)可能涉及到一些与信息发现问题本身无关却比较敏感的信息,比如用户的年龄等,这些用户信息不是很好获取;基于内容推荐(物品内容推荐)系统首先对物品的属性进行建模,图中用类型作为属性。通过 相似度计算,发现电影A和C相似度较高,因为他们都属于爱情类。系统还会发现用户A喜欢电影A,由此得出结论,用户A很可能对电影C也感兴趣。于是将电影 C推荐给A。基于内容推荐(物品内容推荐)物品相似度计算方法物品相似度计算方法:
4、 基于物品基本信息 基于语义特征基于内容推荐(物品内容推荐)TF-IDF算法:自动提取关键词算法:自动提取关键词如果如果某个词比较少见,但是它在这篇文章中多次出现,那么它很可能就反映某个词比较少见,但是它在这篇文章中多次出现,那么它很可能就反映了这篇文章的特性,正是我们所需要的关键词。了这篇文章的特性,正是我们所需要的关键词。基于内容推荐(物品内容推荐)优缺点优缺点:能能很好的建模用户的口味,能提供更加精确的推荐很好的建模用户的口味,能提供更加精确的推荐;物品物品相似度的分析仅仅依赖于物品本身的特征,这里没有考虑人对物品的态度相似度的分析仅仅依赖于物品本身的特征,这里没有考虑人对物品的态度;因
5、为因为需要基于用户以往的喜好历史做出推荐,所以对于新用户有需要基于用户以往的喜好历史做出推荐,所以对于新用户有“冷启动冷启动”的的问题;问题;基于协同过滤推荐 基于用户的协同过滤(user-based CF) 基于商品的协同过滤(item-based CF)信息来源: 用户和物品之间的信息基于协同过滤推荐( user-based CF ) 思想:根据所有用户对物品或者信息的偏好,发现与当前用户口味和偏好相似的“邻居”用户群,为当前户进行推荐;基于协同过滤推荐( item-based CF ) 思想:使用所有用户对物品或者信息的偏好,发现物品和物品之间的相似度,然后根据用户的历史偏好信息,将类似
6、的物品推荐给用户;基于协同过滤推荐( item-based CF )考虑到大多数电商网站多人多热门商品要远少于人数,一般会选择基于物品的协同过滤算法。基于协同过滤推荐基于协同过滤推荐优缺点优缺点: 不需要考虑物品内容和人口属性,需要历史记录。 由于需要用户的历史偏好,所以存在新用户的“冷启动”问题;频繁模式挖掘 关联规则挖掘的典型案例: 购物篮问题 在商场中拥有大量的商品(项目),如:牛奶、面包等,客户将所购买的商品放入到自己的购物篮中。 频繁模式挖掘(支持度与置信度支持度与置信度 )关联关联规则的规则的支持度支持度 如果交易数据库D中s的交易包含AB,则称规则A =B在事务集D上的支持度为s
7、。Support(A=B)=P(AB) 关联关联规则的规则的置信度置信度 如果交易数据库D中,包含A的交易中有c(%)的交易同时也包含B,称规则的置信度为c。(条件概率)Confidence (A =B)=P(B|A) =support(A = B)/support(A)(注:这里的U是指在交易中同时出现A和B) 频繁模式挖掘查找所有的规则 A=C 具有最小支持度和可信度 支持度 , s , 一次交易中包含 A 、 C 的可能性 置信度 , c, 包含 A 的交易中也包含 C 的条件概率 频繁模式挖掘rule A=C : support = support( A C ) = 50% confi
8、dence = support( A C )/support( A ) = 66.7% rule C =A (50%, 100%) 频繁模式挖掘(频繁项集 )项集 (Itemset): a set of items 例如 acm=a, c, m , sup=3 频繁项集(高频项集) 如果项集满足最小支持度,则称之为频繁项集 如果 min_sup = 3, 则 acm 是频繁项集 如果频繁项集中包含 K 个项,则称为频繁 K 项集 频繁模式挖掘(Apriori算法 )寻找最大频繁集逐层搜索的迭代方法。 用k-项集探求(k+1)-项集。 具体地: 首先找出频繁1-项集,该集合记为L 用L找出频繁2
9、-项集的集合L 如此继续下去,直到找到最大频繁项集 该方法,主要有连接和剪枝两步构成。 标签系统标签系统 表明物品是什么 比如是一只鸟,就会有“鸟”这个词的标签 表明物品的种类 比如在Delicious的书签中,表示一个网页类别的标签包括 article(文章)、(博客)、 book(图书)等。 表明谁拥有物品 比如很多博客的标签中会包括博客的作者等信息。 表达用户的观点 比如用户认为网页很有趣,就会打上标签funny(有趣),认为很无聊,就会打上标签boring(无聊)。 用户相关的标签 比如 my favorite(我最喜欢的)、my comment(我的评论)等。 用户的任务 比如 to read(即将阅读)、job search(找工作)基于标签系统的推荐标签系统 KNN聚类算法标签系统 主题模型算法标签系统 用户画像用户画像的核心工作是为用户打标签,打标签的重要目的之一是为了让人能够理解并且方便计算机处理。推荐结果评价 准确率与召回率(Precision & Recall)正确率 = 提取出的正确信息条数 / 提取出的信息条数 召回率 = 提取出的正确信息条数 / 样本中的信息条数 F值 = 正确率 * 召回率 * 2 / (正确率 + 召回率) (F 值即为正确率和召回率的调和平均值)