美文网首页
推荐系统简介

推荐系统简介

作者: 小猪Piglet | 来源:发表于2019-06-13 00:13 被阅读0次

    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)

    相关文章

      网友评论

          本文标题:推荐系统简介

          本文链接:https://www.haomeiwen.com/subject/nherfctx.html