您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据挖掘与识别 > 大数据应用基础-推荐算法
大数据应用基础魏炜1课后小作业•任务描述:用IT桔子、拉勾网、LinkedIn等网站找到10个用大数据的公司。然后对它们进行描述、分类和比较。–下周四上午之前通过邮箱直接交给老师(weiwei@bjtu.edu.cn)。最多不得超过两页纸。字体最好是小四。–注:用到的技术通常和如下技术有关:推荐算法、计算广告、搜索引擎、文本挖掘/自然语言处理、语音识别、图像识别、机器学习/数据挖掘。•打分:这个小作业也作为平时成绩的一部分。其所占比重待定。2客座演讲预告•我会设法请和大数据有关的创业者。•其中,北京交大校友优先,北京地区创业者优先。3推荐在生活中无处不在•比如,我早上买包子的时候,老板就经常问我要不要来杯豆浆。4什么是推荐系统•推荐系统把线下的推荐搬到了线上。•它向用户推荐他们可能感兴趣的产品。•今天的消费者在线购物时,会面对成千上万的商品与服务。推荐系统最大功效在于减轻用户的信息过载。•它应该像一个算命先生,能预测你对每一种物品的喜好程度,哪怕你没见过它们。5推荐对互联网公司的价值•亚马逊:35%的销售来自推荐。–贝索斯:“如果我有一百万的用户,我就会做一百万个不同的网站!”。•Netflix:75%的观看来自推荐。6推荐与搜索的差别•推荐满足的是非明确的需求。因此,推荐结果的点击率低于搜索结果。7做个推荐系统不难•搭建一个推荐系统不难,如何持之以恒地提升效果才是关键。8推荐的发展史9传统阶段社交阶段移动阶段•电商•电影•新闻•音乐•根据好友的兴趣推荐•推荐你可能感兴趣的人•根据你的地理信息来推荐•推荐App、地点基于社交的推荐•社交网站:–向他推荐可能感兴趣的人–基于社交图谱的推荐:根据其好友的偏好来向其推荐人、群组、内容、商品等•非社交网站:–可以通过社交网站的API获得每个用户的好友的偏好,由此推测他的偏好。–同时,从社交网站API也可以掌握这个用户自身的偏好特征。例:“今日头条”。10基于社交的推荐•怎样衡量好友或友好程度,有两类方法:–显式关系:关注和被关注;加为好友;共同好友个数;校友或同事;经常出席同一个会议(Eventbrite)。–隐式关系:用户之间的互动行为,例如在微博中转发和评论、在游戏中交谈和PK等。•尤其在显式关系很稀疏的情况下,增加隐式关系,可以得到更高的推荐召回率和推荐结果多样性。11基于社交的推荐•有一种代表性算法是信息流(Timeline)推荐–以Facebook的EdgeRank为代表。新浪微博也采用Feed流推荐。–如果一个物品(Feed)被你熟悉的好友最近产生过重要的行为,它在信息流中的排序就会更加靠前。12好友推荐的例子•某人骂QQ推荐系统:“什么烂推荐系统,把我前女友推荐给我老婆,说你们有共同好友!!!!!”13基于移动的推荐•尤其对于场所的推荐,需要考虑用户对地点的偏好。–比如,你不能推荐一个远在天边的餐馆。•为此,可以在用户特征中引入:经常活动的地点、周期性活动的地点,并考虑到这些活动地点的类型•例如,今日头条(字节跳动公司的app)的基于位置的内容推荐:根据你手机所在不同位置的时长来判断你当前的状态。例如,如果你经常出现在景点,那么就推荐一些当地景点、食宿信息给你。14基于移动的推荐•推荐地点:Spotsetter、Zofari•推荐App:豌豆荚15基于地域和社交的推荐的结合•把两者结合起来,推荐效果会更好。16常用推荐算法•推荐技术发展至今已经历了十余年。•开发者们试过各种各样的方法。•经过大量的实践,人们发现似乎没有任何一个方法可以独领风骚、包打天下。•不过,目前,协同过滤使用最普遍。1718基于用户的协同过滤•适于物品比用户多、物品时效性较强的情形,例如:新闻网站、新网站。否则计算慢•推荐结果的个性化较弱、较宽泛,但能实现跨领域、惊喜度高的结果Digg的文章推荐、Last.fm的音乐推荐基于物品的协同过滤•应用最广泛,尤其以电商行业为典型。•适于用户多、物品少的情形,否则计算慢•在物品冷启动、数据稀疏时效果不佳•推荐精度高,更具个性化;但倾向于推荐用户购买过商品的类似商品,所以推荐的多样性和惊喜度不足,用户永远看不到新颖的物品Amazon等电商、Netflix、Youtube19基于内容的算法•是最直观的算法•容易受限于对文本、图像、音视频的内容进行描述的详细程度。•常借助文本相似度计算,文本可来自物品描述、UGC等。•不存在冷启动问题•但推荐精度通常垫底•主题过于集中,惊喜度不足新闻网站(例如百度新闻)、百度文档基于统计思想的方法•例如:SlopeOne、关联规则、分类热门推荐。•其在线部分计算速度快;直观。•对个性化偏好的描述能力弱(精度低)一些电商网站隐含因子模型•难以实时对模型做增量更新•可解释性差Netflix、YahooMusic推荐轰炸20基于物品的协同过滤——惊喜度不足搜索广告效用矩阵的填充•在推荐系统中,存在两类元素:用户和物品。即user和item。•用户对物品的偏好程度,就构成了效用矩阵(utilitymatrix)。•我们可以注意到,这个矩阵是稀疏的,大部分元素的值都未知,因为用户只对所有物品中的一小部分进行过评分。•推荐系统的目标就是预测出效用矩阵中的空白处的值。•有时,为了加快计算,不必对每个空白处都预测。21效用矩阵的填充•效用矩阵的数据怎么获得呢?有两种办法:–数字型显式偏好:请用户对物品进行主动的评分、投票、转发、购买、收藏等。其中评分经常是1~5的连续值,而投票等则是二值(布尔值)。–文本型显式偏好:用户填写标签(Tag)、评论,然后我们对文本进行情感分析,得到偏好程度。–隐式偏好:根据用户行为来推测。主要有点击、页面停留时间、跳转、关闭。其中有些是布尔值,有的是连续值。•其中,数字型显式偏好能得到精确的值。•但是,显式方法得到的数据很稀疏,因为用户通常不会去评分或打标签,特别是对于冷的物品或用户。22隐式偏好的缺点:噪音大•隐式偏好存在不少噪音,例如:–用户也许点击了并不喜欢的文章。–页面停留时间也有噪音,需要去噪。你也许打开一个页面后去接电话了。–很多点击是发生在未登录状态下,你不知道是哪个用户点击的。•因此,在运用隐式数据时,要做好数据预处理,例如去除噪音。23用户个人资料的间接判断•用户通常不会填写自己的职业等个人信息,主要是因为隐私或麻烦。但我们可以通过机器学习或统计,来估算此人属于某一人群的可能性。•判断是否正在怀孕:当女性计划要孩子时,她的生活方式、购物列表都会发生变化,比如母婴用品、健康食品会增加。•判断家里是否有小孩:如果用户买过母婴用品,就可以判断该用户可能是妈妈或者家里有小孩。•判断性别:“有一次某人从亚马逊给太太买了修眉毛的剃刀,推荐内容立刻从相机鼠标等变成了时尚杂志等具有女性特征的物品。”•其他还有判断收入状况等。•典型案例:亚马逊、1号店等电商。24时间因素的纳入•用户兴趣的变化:用户兴趣会随时间变化,并且变化可能很快。因此,用户模型的更新可能跟不上变化。具体有几种典型情况:–用户兴趣衰减。特别在新闻资讯网站中,越久之前的物品,权重应该越小。–用户兴趣存在周期性变化:比如周末和工作日、上午和下午•物品时效性:物品的受欢迎程度随时间变化。具体有:–衰减:比如,短视频的生命周期就很短。–周期性变化25时间因素的纳入•在协同过滤计算中,纳入时间因子,发挥相近时间的作用。•采取离线系统和在线系统相结合的方式–离线系统很复杂、更新缓慢,损益把对时间不敏感的重型计算放在离线部分进行。–而在线系统则能及时捕捉用户反馈,捕捉用户短期兴趣变化,从而快速修正推荐列表。–具体来说,例如:离线进行机器学习模型的训练、相似度计算等;在线做排行榜。26推荐结果展现——推荐理由的表达•应该尽量给出推荐理由,从而用户更容易接受推荐给他的结果。•典型的就是基于物品的协同过滤,这种算法能给出靠谱的推荐理由:–喜欢猪肉的人也喜欢马、买了鱼的人也买了虾27推荐结果展现——收集“负反馈”•允许用户提交负反馈,有利于他们表达更明确的需求28算法评估•分为离线评测和线上评测•离线评测总是在上线之前进行。29推荐系统的评价——离线算法评估1.RMSE。这是传统上使用最多的评估指标。2.CTR——点击率。该指标源于计算广告学。3.如果把推荐问题转化成机器学习问题,那么还可以用ROC曲线的AUC来评估。4.F-Score5.预测准确度:离线算法给出的推荐列表和用户行为的重合率。指标可以是召回率(precisionrecall),该指标源于搜索技术。30离线算法评估——RMSE•采用交叉测试的方法:我们把某些已知的评分值去掉,然后对它们进行预测,最后计算预测值和真实值之间的差异。•换言之,我们对测试集中缺失的数据估计出偏好值,然后计算出估计值和实际偏好之间的平均差值。这种差值越低越好,如果是0就意味着没有误差。•通常的误差指标是最小均根误差(RMSE),即对每个元素上的差值取平方,然后取平均值,然后再求平方根。31上述离线算法评估指标的局限性•但是,算法的效果不能仅限于上述按照error计算的精准度指标。这是因为,上述指标离用户比较远,而且如果只关注上述指标,可能总会忽略掉小众用户和很多小众商品。–如果算法只是在精确度方面表现好,它难以引导用户的兴趣、只能给出用户原有兴趣范围内的平庸的推荐,上线后虽然有短暂的好的表现,但用户最终会对它市区兴趣。–比如,只以CTR为导向的话,爆款会不断强化自身的爆款特性,很多优质物品则无法进入推荐列表。32推荐系统的评价——离线算法评估的其他指标还有:•覆盖率:即对物品长尾的发掘能力。即所有被推荐过的物品占网站上物品总数的比例。•多样性:推荐结果能否覆盖用户不同的兴趣领域。推荐列表中物品两两之间相似性越低,多样性就越好。有些算法的推荐列表过于收敛,在某个圈子打转。33推荐系统的评价——离线算法评估的其他指标还有:•新颖性:希望用户没听说过推荐列表中的大部分物品。有三种常见测定方法:–最常见的测量方法是:推荐结果中的条目的热度(平均流行度)的倒数。这个指标有助于发现冷门但感兴趣的物品。–条目进入系统的时间。–离用户的兴趣越远,新颖度越高。•惊喜度:希望推荐结果和用户的历史兴趣不相似,但让用户很满意。惊喜度的测量需要通过时候的追踪,以便了解用户对推荐列表中哪些物品表示喜欢。•这些指标大多不容易精确测量,但它们非常重要!•可以对各指标进行加权求和,得到总的推荐效果评分。34推荐系统的评价——在线评测方法•上述RMSE、惊喜度等指标都是算法工程师关心的指标。•产品经理关心的是什么指标呢?–点击率、转化率、回访率、活跃用户、收入等。•怎样把算法层面的指标和产品层面的指标联系起来呢?•方法1:建立用于监督学习的回归模型,把最终的产品指标作为目标变量,把算法层面指标作为输入变量,用回归分析来预测产品指标的值。•方法2:A/B测试:通过线上的实际测试,观察不同算法、不同参数下不同算法指标会对产品指标有怎样的影响。35基于内容的推荐•这个方法主要根据物品的属性,计算物品之间的相似性,进而推荐。•物品通常有多种特征,例如:–电影的特征可能有:评分、导演、明星、年份、类型等。每个明星可以有一个元素(出现此明星为1,否则为0)。–书的特征:作者、出版年、类型等–音乐的特征:演唱者、作曲者、类型等–图像的特征呢?可以请用户打标签(Tag)。–那么百度新闻、百度文档的特征呢?可以把文本中TF-IDF得分最高的关键词作为文档的关键特征;更进一步,以主题为关键特征。36协同过滤•协同过滤(collaborativefiltering)是应用最广泛的推荐方法。–亚马逊、Netflix、Facebook好友推荐、Last.fm音乐推荐都采用了它。•它仅仅通过了解用户与物品之间的关系进行推荐,而根本不会考虑到物品本身的属性。•可分成两类:–基于用户(user-based)的协同过滤–基于商品(item-based)的协同过滤37基于用户的协同过滤•和我兴趣相似的人喜欢的商品我也会喜欢。步骤:1.根据用户对各种物品的偏好值的相似程度,对每两个用户之
本文标题:大数据应用基础-推荐算法
链接地址:https://www.777doc.com/doc-1879380 .html