推荐系统算法概述——推荐系统其一

头像 发布于 2024-02-23 1342 次阅读


推荐系统算法

本文参考视频https://www.bilibili.com/video/BV1fd4y1P76M

Lambda架构

  • 离线计算与实时计算共同提供服务
  • 离线计算优缺点
    • 优点可处理数据量大(数据集)
    • 缺点速度慢(分钟级延迟)
  • 实时计算优缺点
    • 优点响应快 即时响应 (毫秒级延迟)
    • 缺点可处理数据量小
  • 离线计算框架
    1. hadoop
    2. spark core,spark sql
    3. hive
  • 实时计算框架
    1. spark streaming
    2. storm
    3. flink
  • 消息中间件
    1. flume 日志采集系统
    2. kafka 消息队列
  • 存储相关
    1. hbase nosql数据库
    2. hive sql操作hdfs数据

推荐算法架构

  1. 召回阶段(海选)——协同过滤
    • 召回决定了最终推荐结果的天花板(确定结果范围)
  2. 排序阶段
    • 召回决定了最终推荐结果的天花板,排序决定了最终的推荐效果(逼近极限确定最终结果优先级顺序)
    • CTR预估(点击率预估 LR算法)估计是否会点击(下式中t即为最终是否点击,xn为用户或物品特征)

$$
\omega_0x_0+\omega_1x_1+\omega_2x_2+\cdots=t
$$

  1. 策略调整

推荐流程

推荐系统架构

  • 技术架构:

推荐模型构建流程

Data(数据)->Features(特征)->ML Algorithm(机器学习算法)->Prediction Output(预测输出)

数据来源

  • 显性数据

    • Rating 打分
    • Comments 评论/评价
  • 隐性数据

    • Order history 历史订单
    • Cart events 加购物车
    • Page views 页面浏览
    • Click-thru 点击
    • Search log 搜索记录
  • 数据量/数据是否满足要求

特征工程(提取数据特征)

  • 从数据中筛选特征
    • 一个给定的商品,可能被拥有类似品味或需求的用户购买
    • 使用用户行为数据描述商品

  • 从数据中筛选特征
    • 将所有用户行为合并在一起,形成一个user-item矩阵

  • 特征工程
    • 协同过滤:用户-物品 评分矩阵
    • 基于内容:分词 tf-idf word2Vec
  • 训练模型
    • 协同过滤
    • kNN
    • 矩阵分解

选择合适的算法

例:内容少,用户不多(绝大部分都拥有评分)

单独查看每一个用户向量,计算相似度(余弦相似度、皮尔逊相关系数)

产生推荐结果

此作者没有提供个人介绍
最后更新于 2024-02-23