推荐系统实践 笔记1
AngelAndAngel
2012-11-01
推荐算法的本质是通过一定的方式将用户与物品联系起来
个性化推荐系统的应用: 1,电子商务,比如亚马逊。 亚马逊的推荐列表包含了以下元素: 推荐结果的标题,缩略图以及其他内容属性 推荐结果的平均分:反映了推荐结果的总体质量,也代表了大部分用户对这本书的看法 推荐理由:为了隐私,可以禁用此理由 亚马逊基本上是基于物品的推荐算法,这种算法给用户推荐那些与他们之前喜欢的物品相似的物品。 另外 亚马逊除了个性化推荐列表,还有一个推荐应用就是 相关推荐列表,并且进行打包销售 2,电影或视频网站 比如Netflix,也是基于物品的推荐算法,即给用户推荐和他们曾经喜欢的电影相似的电影 3,个性化音乐电台 如豆瓣 4,社交网络 主要应用在三个方面:利用用户的社交网络信息对用户进行个性化的物品推荐;信息流的会话推荐;给用户推荐好友 5,个性化阅读 如Digg,它首先根据用户的Digg历史计算用户之间的兴趣相似度,然后给用户推荐和他兴趣相似的用户喜欢的文章 6,基于位置的服务 特别是移动端 7,个性化邮件 给邮件优先级排序或分类 8,个性化广告 分三种: 上下文广告 通过分析用户正在浏览的网页内容,投放和网页内容相关的广告,比如谷歌的Adsense 搜索广告 通过分析用户在当前绘画中的搜索记录,判断用户的搜索目的,投放和用户目的相关的广告 个性化展示广告 根据用户的兴趣 对不同用户投放广告 推荐系统的测评的三种实验方法 1,离线实验 通过日志系统获得用户行为数据,按照一定格式生成一个标准的数据集;讲数据集按照一定的规则分成训练集和测试集; 在训练集上训练用户兴趣模型,在测试集上进行预测;通过事先定义的离线指标评测算法在测试集上的预测结果; 2,用户调查 3,在线实验 经过离线实验和用户调查后,可以将推荐系统上线做AB测试,将它和旧的算法做比较。 AB测试:通过一定的规则讲用户随机分成几组,并对不同组的用户采用不同的算法,然后通过统计不同组用户的各种不同的评测指标比较不同的算法。颍上 评测指标(比较重点) 1,用户满意度,这个只能通过用户调查或者在线实验获得。在线实验中,可以通过点击率,用户停留时间和转化率来度量用户的满意度。 2,预测准确度,在计算该指标时需要有一个离线的数据集,该数据集包含用户的历史行为记录,然后分成训练集和测试集。 评分预测:如果知道了用户对物品的历史评分,就可以从中得到用户的兴趣模型,并预测用户在将来看到一个他没有评分过的物品时, 会给它评多少分,称为评分预测。预测准确度一般通过均方根误差(RMSE)和平均绝对误差(MAE)计算。假设一个用户对物品I1实际评分是R1,推荐算法给出的预测评分是Rx1,后面以此类推,物品数量是T,那么 RMSE=Math.sqrt( Math.pow((Rx1-R1),2) + Math.pow((Rx2-R2),2+...))/T MAE=Math.abs(Rx1-R1)+Math.abs(Rx2-R2)+.../T TopN推荐 TopN 即给用户提供的个性化推荐列表,TopN推荐的预测准确率一般通过准确率(precision)/召回率(recall)度量。 这个和搜索中的查准率,查全率定义相似。前者越大越准,后者越大越全。 3,覆盖率 推荐系统对物品长尾的发掘能力,简单来说就是:推荐系统能够推 荐出来的物品占总物品数集合的比例。内容商比较关心这个指标,比如我的商品有没有被推荐给用户? 热门排行榜的推荐覆盖率是很低的,因为热门商品占总物品比重很小。 如果所有物品都出现在推荐列表中,且出现的次数差不多,那么它发觉长尾的能力就越好 。 有两个指标可以用来描述覆盖率:信息熵和基尼系数。公式在这里不写了。 4,多样性 推荐列表需要能够覆盖用户不同的兴趣领域 5,新颖性 指给用户推荐那些他们以前没有听说过的物品,网站实现新颖性的最简单办法是,把那些用户之前对其有过行为(如购买)的物品从推荐列表中过滤掉 6,惊喜度 新颖度仅仅取决与用户是否听说过这个推荐结果 而惊喜度重点在于推荐的结果和用户的历史兴趣不相似,但是却让用户感到满意。 7,信任度 这个只能通过问卷调查的方式,询问用户是否信任推荐系统的推荐结果 提高推荐系统信任度主要有两种方法。首先需要增加推荐系统的透明度,比如提供推荐解释;其次是利用用户的好友信息做推荐,并且用好友进行推荐解释 8,实时性 9,健壮性。即减小算法系统被攻击的概率 10,商业目标 11,总结 |