推荐系统的介绍与设计

推荐系统

推荐系统的介绍

  • 没有明确需求的用户访问了我们的服务, 且服务的物品对用户构成了信息过载, 系统通过一定的规则对物品进行排序,并将排在前面的物品展示给用户,这样的系统就是推荐系统。
  • 推荐系统所解决的根本问题就是:在“信息过载”的情况下,用户如何高效获取感兴趣的信息

推荐系统的作用

  1. 高效连接用户和物品, 发现长尾商品。
  2. 留住用户和内容生产者, 实现商业目标。

推荐系统的工作原理

  • 社会化推荐 向好友咨询, 让好友给自己推荐物品。
  • 基于内容的推荐 打开搜索引擎, 输入自己喜欢吃的食物, 然后看看返回结果中还有什么品牌的食物是自己没去吃过的。
  • 基于流行度的推荐 查看票房,美食榜单。
  • 基于协同过滤的推荐 找到和自己历史兴趣相似的用户, 看看他们最近在看什么电影。

推荐系统与搜索引擎的区别

对比项搜索引擎推荐系统
行为方式 主动 被动
意图 明确 模糊
个性化
流量分布 马太效应 长尾效应
目标 快速满足 持续服务
评估指标 简明 复杂

推荐系统和Web项目的区别

  1. web项目: 处理复杂逻辑 处理高并发 实现高可用 为用户提供稳定服务, 构建一个稳定的信息流通的服务。
    推荐系统: 追求指标增长, 留存率/阅读时间/GMV (Gross Merchandise Volume电商网站成交金额)/视频网站VV (Video View)。
  2. web项目: 对结果有确定预期。
    推荐系统: 结果是概率问题。

推荐系统设计

推荐系统架构

  • 推荐系统逻辑架构:对于某个用户U(User),在特定场景C(Context)下,针对海量的“物品”信息构建一个函数 ,预测用户对特定候选物品I(Item)的喜好程度,再根据喜好程度对所有候选物品进行排序,生成推荐列表的问题。
    在这里插入图片描述
  • 推荐系统整体架构
    在这里插入图片描述

大数据Lambda架构

  • 由Twitter工程师Nathan Marz(storm项目发起人)提出,Lambda系统架构提供了一个结合实时数据和Hadoop预先计算的数据环境和混合平台, 提供一个实时的数据视图。
    在这里插入图片描述
  1. 批处理层
  • 数据不可变, 可进行任何计算, 可水平扩展
  • 高延迟 几分钟~几小时(计算量和数据量不同)
  • 日志收集 Flume
  • 分布式存储 Hadoop hdfs
  • 分布式计算 Hadoop MapReduce & spark
  • 视图存储数据库
    • nosql(HBase/Cassandra)
    • Redis/memcache
    • MySQL
  1. 实时处理层
  • 流式处理, 持续计算
  • 存储和分析某个窗口期内的数据
  • 最终正确性(Eventual accuracy)
  • 实时数据收集 flume & kafka
  • 实时数据分析 spark streaming/storm/flink
  1. 服务层
  • 支持随机读
  • 需要在非常短的时间内返回结果
  • 读取批处理层和实时处理层结果并对其归并

推荐算法架构

  • 召回阶段(海选):召回决定了最终推荐结果的天花板
    常用算法:
    协同过滤(基于用户 基于物品的)
    基于内容 (根据用户行为总结出自己的偏好 根据偏好 通过文本挖掘技术找到内容上相似的商品)
    基于隐语义
  • 排序阶段:
    召回决定了最终推荐结果的天花板, 排序逼近这个极限, 决定了最终的推荐效果
    CTR预估 (点击率预估 使用LR算法) 估计用户是否会点击某个商品 需要用户的点击数据
  • 策略调整
    在这里插入图片描述

深度学习对推荐系统的影响

  • 深度学习应用于推荐系统,能够极大地增强推荐模型的拟合能力和表达能力。简单来说,就是让推荐模型“猜的更准”,更能抓住用户的“心”。深度学习推荐系统框架层数要比传统机器学习推荐系统要多很多。***因为深度学习复杂的模型结构,让深度学习模型具备了理论上拟合任何函数的能力。***如果说f(U,I,C) 这个推荐函数具有一个最优的表达形式,那传统的机器学习模型只能够拟合出f(U,I,C) 这个推荐函数的近似形式,而深度学习模型则可以最大程度地接近这个最优形式。
  • 以下为对比图:
    在这里插入图片描述
  • 深度学习推荐系统优势:让深度学习模型的神经网络模拟很多用户兴趣的变迁过程,甚至用户做出决定的思考过程。
  • 工业级推荐系统架构图:
    在这里插入图片描述
    客户端与服务器端实时数据处理、流处理平台准实时数据处理、大数据平台离线数据处理。

深度学习推荐系统总结

  • 深度学习中 Embedding 技术在召回层的应用。作为深度学习中非常核心的 Embedding 技术,将它应用在推荐系统的召回层中,做相关物品的快速召回,已经是业界非常主流的解决方案了。
  • 不同结构的深度学习模型在排序层的应用。排序层(也称精排层)是影响推荐效果的重中之重,也是深度学习模型大展拳脚的领域。深度学习模型的灵活性高,表达能力强的特点,这让它非常适合于大数据量下的精确排序。深度学习排序模型毫无疑问是业界和学界都在不断加大投入,快速迭代的部分。
  • 增强学习在模型更新、工程模型一体化方向上的应用。增强学习可以说是与深度学习密切相关的另一机器学习领域,它在推荐系统中的应用,让推荐系统可以在实时性层面更上一层楼。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值