推荐系统简介

1.1 推荐系统简介

学习目标

  • 了解推荐系统概念以及产生背景
  • 记忆推荐系统工作原理以及作用
  • 了解推荐系统与web项目区别

1 推荐系统概念以及产生背景

推荐系统经过多年的发展,已经成为了互联网产品的标配,也是AI成功落地的分支之一,在电商,咨询,音乐,短视频等应用中,推荐系统都是核心组件之一。

  • 什么是推荐系统
    没有明确需求的用户访问我们的服务,且物品信息量过载时,推荐系统经过一定规则对物品信息进行排序,并将排序在前的物品优先向用户展示。
  • 信息过载&用户需求不明确
    推荐系统的发展:分类目录>搜索引擎>推荐系统
  • 推荐系统VS搜索引擎


2 推荐系统工作原理以及应用

  • 推荐系统工作原理
    • 社会化推荐 向朋友咨询、社会化推荐、让好友给自己推荐物品
    • 基于内容的推荐 打开搜索引擎进行搜索
    • 基于流行度的推荐 查看排行榜
    • 基于协同过滤的推荐 找到和自己历史兴趣相似的用户
  • 推荐系统的作用
    • 高效连接用户和物品
    • 提高用户停留时间和用户活跃度
    • 有效的帮助产品实现其商业价值
  • 推荐系统应用场景
    购物推荐 音乐推荐 文章推荐

3 推荐系统和Web项目的区别

  • 通过信息过滤实现目标提升 VS 稳定的信息流通系统
    • web项目:处理复杂的业物逻辑,处理高并发,为用户提供一个稳定的信息流通服务
    • 推荐系统:追求指标增长,留存率/阅读时间/GMV(电商网站成交额)/视频网站。从公司角度出发考虑问题
  • 不确定性VS确定性
    -web项目:对结果有确定预期
    -推荐系统:结果是概率问题

1.2 推荐系统设计

学习目标

  • 了解推荐系统要素
  • 记忆推荐系统架构

1 推荐系统要素

  • UI和UE(前端界面)
  • 数据(Lambda架构)
  • 业务知识
  • 算法

推荐系统架构

  • 推荐系统整体架构


    推荐系统架构.PNG

    描述: Lambda架构从用户行为中采集数据,对数据进行处理,通过推荐算法计算出推荐结果,并将推荐结果通过包装推送给用户,用户对推荐做出反馈,Lambda架构再次采集用户的反馈行为数据。

  • 大数据Lambda架构

    • Lambda架构是一个实时大数据处理框架。
    • Lambda架构将离线计算和实时计算整合,设计出一个能满足实时大数据关键特性的架构,数据关键特性包括有:高容错,低延时,可扩展等。
    • Lambda的分层架构
      1. 批处理层
        • 数据不可变,可进行任何计算,可水平扩展
        • 高延迟 几分钟-几小时(计算量和数据量不同)
        • 日志收集Flume
        • 分布式存储:Hadoop
        • 分布式计算:Hadoop,Spark
        • 视图存储书库 nosql mysql redis/memcache
      2. 实时处理层
        • 流式处理,持续计算
        • 存储和分析某个窗口期内的数据(一段时间按的热销排行,实时热搜)
        • 实时数据收集
        • 实时数据分析
      3. 服务层
        • 支持随机读
        • 需要在非常短时间内返回结果
        • 读取批处理层和实时处理层并对其归并


          Lambda架构图.PNG
  • 推荐算法架构

    • 召回阶段(海选)
      • 召回决定了最终推荐结果的天花板
      • 常用算法
      • 协同过滤
      • 基于内容
    • 排序阶段(精选)
      - 召回界定了最终推荐结果的天花板,排序不断将逼近这个极限,决定最终的推荐效果。
      • CTR预估(点击率预估 使用逻辑回归LR算法)估计用户是否会点击某个商品 需要用户的点击数据
      • 策略调整

1.3 推荐算法

学习目标

  • 了解推荐系统模型构建流程
  • 理解协同过滤原理
  • 记忆相似度计算方法
  • 应用杰卡德相似度实现简单协同过滤推荐案例

1 推荐模型构建流程

Data(数据)>Features(特征)>ML Algorithm(选择算法训练模型)>Prediction Output(预测输出)

  • 数据清洗/数据处理
    • 数据来源
      • 显性数据 (打分,评论/评价)
      • 隐性数据(历史订单,加购物车,页面浏览,点击,搜索记录)
    • 数据量/数据 能否满足需求
  • 特征工程
    • 从数据中筛选特征
    • 用数据表示特征
    • 选择合适的算法
    • 产生推荐结果

最经典的推荐算法: 协同过滤(Collaborative Filtering)

算法思想:物以类聚,人以群分
基本的协同过滤推荐算法基于以下假设:

  • 基于用户的协同过滤推荐
  • 基于物品的协同过滤推荐

3 计算相似度(Similarity Calculation)

  • 相似度计算方法
    • 欧氏距离
    • 余弦相似度
  • 皮尔逊相关系数Pearson
  • 杰卡德相似度Jaccard(适用于布尔向量)
  • 如何选择余弦相似度
    • 余弦相似度/皮尔逊相关系数 适合于用户评分数据(有真实数据值)
    • 杰卡德相似度适用于隐式反馈数据(是/无,是/否,即0/1)

你可能感兴趣的:(推荐系统简介)