大数据应用基础推荐算法

上传人:好** 文档编号:122102958 上传时间:2020-03-01 格式:PPTX 页数:62 大小:3.17MB
返回 下载 相关 举报
大数据应用基础推荐算法_第1页
第1页 / 共62页
大数据应用基础推荐算法_第2页
第2页 / 共62页
大数据应用基础推荐算法_第3页
第3页 / 共62页
大数据应用基础推荐算法_第4页
第4页 / 共62页
大数据应用基础推荐算法_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《大数据应用基础推荐算法》由会员分享,可在线阅读,更多相关《大数据应用基础推荐算法(62页珍藏版)》请在金锄头文库上搜索。

1、唐卓湖南大学信息科学与工程学院2015 09 1 基于大数据分析的互联网推荐算法概述 推荐在生活中无处不在 比如 我早上买包子的时候 老板就经常问我要不要来杯豆浆 2 什么是推荐系统 推荐系统把线下的推荐搬到了线上 它向用户推荐他们可能感兴趣的产品 今天的消费者在线购物时 会面对成千上万的商品与服务 推荐系统最大功效在于减轻用户的信息过载 它应该像一个算命先生 能预测你对每一种物品的喜好程度 哪怕你没见过它们 3 推荐对互联网公司的价值 亚马逊 35 的销售来自推荐 贝索斯 如果我有一百万的用户 我就会做一百万个不同的网站 Netflix 75 的观看来自推荐 4 推荐与搜索的差别 推荐满足的

2、是非明确的需求 因此 推荐结果的点击率低于搜索结果 5 做个推荐系统不难 搭建一个推荐系统不难 如何持之以恒地提升效果才是关键 6 推荐的发展史 7 传统阶段 社交阶段 移动阶段 电商电影新闻音乐 根据好友的兴趣推荐推荐你可能感兴趣的人 根据你的地理信息来推荐推荐App 地点 基于社交的推荐 社交网站 向他推荐可能感兴趣的人基于社交图谱的推荐 根据其好友的偏好来向其推荐人 群组 内容 商品等非社交网站 可以通过社交网站的API获得每个用户的好友的偏好 由此推测他的偏好 同时 从社交网站API也可以掌握这个用户自身的偏好特征 8 基于社交的推荐 怎样衡量好友或友好程度 有两类方法 显式关系 关注

3、和被关注 加为好友 共同好友个数 校友或同事 经常出席同一个会议 Eventbrite 隐式关系 用户之间的互动行为 例如在微博中转发和评论 在游戏中交谈和PK等 尤其在显式关系很稀疏的情况下 增加隐式关系 可以得到更高的推荐召回率和推荐结果多样性 9 基于社交的推荐 有一种代表性算法是信息流 Timeline 推荐以Facebook的EdgeRank为代表 新浪微博也采用Feed流推荐 如果一个物品 Feed 被你熟悉的好友最近产生过重要的行为 它在信息流中的排序就会更加靠前 10 某人骂QQ推荐系统 什么烂推荐系统 把我前女友推荐给我老婆 说你们有共同好友 EdgeRank 你对好友的任何

4、动都被称作一个edge 包括评论 转发 赞 根据动作的不同 你的每次动作都会被计算一个分值 所有动作的累加得分表达了你对该好友的相关程度 这个总分将会影响该好友的微博是否更容易在你的主页中出现 基于移动的推荐 尤其对于场所的推荐 需要考虑用户对地点的偏好 比如 你不能推荐一个远在天边的餐馆 为此 可以在用户特征中引入 经常活动的地点 周期性活动的地点 并考虑到这些活动地点的类型例如 今日头条 字节跳动公司的app 的基于位置的内容推荐 根据你手机所在不同位置的时长来判断你当前的状态 例如 如果你经常出现在景点 那么就推荐一些当地景点 食宿信息给你 11 推荐算法的分类 12 常用推荐算法 推荐

5、技术发展至今已经历了十余年 开发者们试过各种各样的方法 经过大量的实践 人们发现似乎没有任何一个方法可以独领风骚 包打天下 不过 目前 协同过滤使用最普遍 13 协同过滤 协同过滤 collaborativefiltering 是应用最广泛的推荐方法 亚马逊 Netflix Facebook好友推荐 Last fm音乐推荐都采用了它 它仅仅通过了解用户与物品之间的关系进行推荐 而根本不会考虑到物品本身的属性 可分成两类 基于用户 user based 的协同过滤基于商品 item based 的协同过滤 14 基于用户的协同过滤 和我兴趣相似的人喜欢的商品 自驾活动 我也会喜欢 步骤 根据用户

6、对各种物品的偏好值的相似程度 对每两个用户之间进行相似度计算 为每个用户找到与之相似度最高的几个邻居用户 这一步对用户进行分类 然后将目标用户的邻居对每个物品的偏好值的加权平均作为目标用户的偏好值的预测值 把预测值最高的多个商品作为目标用户的推荐列表 其中 每个邻居用户的权重取决于该邻居用户与目标用户之间的相似度 15 基于用户的协同过滤 相似度的含义是 两个向量之间的距离 距离越近相似度越大 调参 你用哪种相似度度量 限定邻居数量为几个 5个 10个 如果你把相似度超过某个阈值的用户当做邻居 选择多大阈值 16 基于用户的协同过滤的一大缺点 形成有意义的邻居集合很难 很多用户两两之间只有很少

7、几个共同评分 而仅有的共同打了分的物品 往往是票房大片 再者 用户之间的距离可能变得很快 这种离线算法难以瞬间更新推荐结果 17 基于物品的协同过滤 18 基于物品的协同过滤 这个方法由亚马逊公司最早提出 在电商中得到了广泛使用 基于用户对物品的偏好计算出物品之间的相似度 然后根据当前用户的偏好 推荐相似的物品给他 例 购买手机的人也都购买了ipad 则说明这两个物品相似 当用户搜索或浏览手机 系统会向他推荐ipad 调参 采用何种相似度度量 19 基于物品的协同过滤的优缺点 优点 一对物品之间的距离可能是根据成百上千万的用户的评分计算得出 往往能在一段时间内保持稳定 因此 这种算法可以预先计

8、算距离 其在线部分能更快地生产推荐列表 缺点 不同领域的最热门物品之间经常具有较高的相似度 这样 可能会给喜欢 算法导论 的同学推荐 哈利波特 为此 在运行这种算法时可以不纳入最畅销商品 20 在协同过滤中考虑到时间因素 在基于物品的协同过滤中 物品之间的相似度 可以改为 同一个用户在间隔很短的时间内喜欢的两件商品之间 可以给予更高的相似度 根据当前用户的偏好 推荐相似的物品给他 可以改为 在描述目标用户偏好时 给其最近喜欢的物品较高权重在基于用户的协同过滤中 如果两个用户同时喜欢了相同的物品 那么可以给这两个用户更高的相似度 在描述邻居用户的偏好时 给其最近喜欢的物品较高权重总之 在计算相似

9、度和描述用户行为时 都给最新的偏好给予较高重视程度 21 在协同过滤中考虑到地域因素 在基于物品的协同过滤中 物品之间的相似度 可以改为 同一个用户在同一个地域内喜欢的两件商品之间 可以给予更高的相似度 在基于用户的协同过滤中 把类似地域用户的行为作为推荐的主要依据 22 基于内容的推荐 这个方法主要根据物品的属性 计算物品之间的相似性 进而推荐 物品通常有多种特征 例如 电影的特征可能有 评分 导演 明星 年份 类型等 每个明星可以有一个元素 出现此明星为1 否则为0 书的特征 作者 出版年 类型等音乐的特征 演唱者 作曲者 类型等图像的特征呢 可以请用户打标签 Tag 那么百度新闻 百度文

10、档的特征呢 可以把文本中TF IDF得分最高的关键词作为文档的关键特征 更进一步 以主题为关键特征 23 24 25 数据收集过程 26 效用矩阵的填充 在推荐系统中 存在两类元素 用户和物品 即user和item 用户对物品的偏好程度 就构成了效用矩阵 utilitymatrix 我们可以注意到 这个矩阵是稀疏的 大部分元素的值都未知 因为用户只对所有物品中的一小部分进行过评分 推荐系统的目标就是预测出效用矩阵中的空白处的值 有时 为了加快计算 不必对每个空白处都预测 27 效用矩阵的填充 效用矩阵的数据怎么获得呢 有两种办法 数字型显式偏好 请用户对物品进行主动的评分 投票 转发 购买 收

11、藏等 其中评分经常是1 5的连续值 而投票等则是二值 布尔值 文本型显式偏好 用户填写标签 Tag 评论 然后我们对文本进行情感分析 得到偏好程度 隐式偏好 根据用户行为来推测 主要有点击 页面停留时间 跳转 关闭 其中有些是布尔值 有的是连续值 其中 数字型显式偏好能得到精确的值 但是 显式方法得到的数据很稀疏 因为用户通常不会去评分或打标签 特别是对于冷的物品或用户 28 隐式偏好的缺点 噪音大 隐式偏好存在不少噪音 例如 用户也许点击了并不喜欢的文章 页面停留时间也有噪音 需要去噪 你也许打开一个页面后去接电话了 很多点击是发生在未登录状态下 你不知道是哪个用户点击的 因此 在运用隐式数

12、据时 要做好数据预处理 例如去除噪音 29 用户个人资料的间接判断 用户通常不会填写自己的职业等个人信息 主要是因为隐私或麻烦 但我们可以通过机器学习或统计 来估算此人属于某一人群的可能性 判断是否正在怀孕 当女性计划要孩子时 她的生活方式 购物列表都会发生变化 比如母婴用品 健康食品会增加 判断家里是否有小孩 如果用户买过母婴用品 就可以判断该用户可能是妈妈或者家里有小孩 判断性别 有一次某人从亚马逊给太太买了修眉毛的剃刀 推荐内容立刻从相机鼠标等变成了时尚杂志等具有女性特征的物品 其他还有判断收入状况等 典型案例 亚马逊 1号店等电商 30 时间因素的纳入 用户兴趣的变化 用户兴趣会随时间

13、变化 并且变化可能很快 因此 用户模型的更新可能跟不上变化 具体有几种典型情况 用户兴趣衰减 特别在新闻资讯网站中 越久之前的物品 权重应该越小 用户兴趣存在周期性变化 比如周末和工作日 上午和下午物品时效性 物品的受欢迎程度随时间变化 具体有 衰减 比如 短视频的生命周期就很短 周期性变化 31 时间因素的纳入 在协同过滤计算中 纳入时间因子 发挥相近时间的作用 采取离线系统和在线系统相结合的方式离线系统很复杂 更新缓慢 损益把对时间不敏感的重型计算放在离线部分进行 而在线系统则能及时捕捉用户反馈 捕捉用户短期兴趣变化 从而快速修正推荐列表 具体来说 例如 离线进行机器学习模型的训练 相似度

14、计算等 在线做排行榜 32 推荐结果展现 推荐理由的表达 应该尽量给出推荐理由 从而用户更容易接受推荐给他的结果 典型的就是基于物品的协同过滤 这种算法能给出靠谱的推荐理由 喜欢猪肉的人也喜欢马 买了鱼的人也买了虾 33 推荐结果展现 收集 负反馈 允许用户提交负反馈 有利于他们表达更明确的需求 34 算法评估 35 推荐系统的评价 离线算法评估 RMSE 均方根误差 这是传统上使用最多的评估指标 CTR 点击率 该指标源于计算广告学如果把推荐问题转化成机器学习问题 那么还可以用ROC曲线的AUC来评估 F Score预测准确度 离线算法给出的推荐列表和用户行为的重合率 召回率 precisi

15、onrecall 该指标源于搜索技术 36 精度和召回率是广泛用于信息检索和统计学分类领域的两个度量值 用来评价结果的质量 其中精度是检索出相关文档数与检索出的文档总数的比率 衡量的是检索系统的查准率 召回率是指检索出的相关文档数和文档库中所有的相关文档数的比率 衡量的是检索系统的查全率 换句话说 Precision就是检索出来的条目 比如 文档 网页等 有多少是准确的 Recall就是所有准确的条目有多少被检索出来了 离线算法评估 RMSE 采用交叉测试的方法 我们把某些已知的评分值去掉 然后对它们进行预测 最后计算预测值和真实值之间的差异 换言之 我们对测试集中缺失的数据估计出偏好值 然后

16、计算出估计值和实际偏好之间的平均差值 这种差值越低越好 如果是0就意味着没有误差 通常的误差指标是最小均根误差 RMSE 即对每个元素上的差值取平方 然后取平均值 然后再求平方根 37 上述离线算法评估指标的局限性 但是 算法的效果不能仅限于上述按照error计算的精准度指标 这是因为 上述指标离用户比较远 而且如果只关注上述指标 可能总会忽略掉小众用户和很多小众商品 如果算法只是在精确度方面表现好 它难以引导用户的兴趣 只能给出用户原有兴趣范围内的平庸的推荐 上线后虽然有短暂的好的表现 但用户最终会对它市区兴趣 比如 只以CTR为导向的话 爆款会不断强化自身的爆款特性 很多优质物品则无法进入推荐列表 38 推荐系统的评价 离线算法评估的其他指标还有 覆盖率 即对物品长尾的发掘能力 即所有被推荐过的物品占网站上物品总数的比例 多样性 推荐结果能否覆盖用户不同的兴趣领域 推荐列表中物品两两之间相似性越低 多样性就越好 有些算法的推荐列表过于收敛 在某个圈子打转 39 推荐系统的评价 离线算法评估的其他指标还有 新颖性 希望用户没听说过推荐列表中的大部分物品 有三种常见测定方法 最常见的测

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号