目录

  • 推荐系统简介
    • 一、什么是推荐系统
      • (一)常见的推荐业务场景
      • (二)个性化推荐业务流程
  • 企业级推荐系统架构
    • (一)企业级推荐系统要求
    • (二)推荐整体架构
    • (三)基于PAI的推荐技术架构
  • 推荐系统召回算法
    • 一、召回模块在推荐系统中的位置
    • 二、推荐场景--召回算法介绍
    • 三、什么是协同过滤
    • 四、向量召回架构说明
  • 推荐系统排序算法
      • 一、排序模块在推荐系统中的位置
    • 二、排序算法介绍
    • 三、离线排序模型训练架构
    • 四、在线排序模型训练架构
  • 推荐系统线上服务编排
    • 一、在线推理服务 - 架构说明
    • 二、线上多目标问题
  • 基于 PAI 10 分钟搭建一个简单推荐系统
    • 一、个性化推荐业务流程
    • 二、协同过滤
    • 三、推荐方案架构
    • 四、实际操作
  • 参考资料

推荐系统简介

一、什么是推荐系统

(一)常见的推荐业务场景

背景:信息过载
本质:推荐系统解决的是一个信息比对问题
要解决的问题:怎眼基于用户的信息和商品 信息去做好一个更好地匹配
常见的推荐业务场景:一是基于搜索Query的推荐,一是基于用户和商品属性的Feed流的推荐
Query推荐:基于用户的购买偏好,还有商品的属性去做的一个匹配(淘宝)
Feed流推荐:采用机器学习推荐模型,既要学习用户,也要学习商品属性(今日头条)

(二)个性化推荐业务流程

个性化推荐业务流程

推荐系统可以理解为:推荐系统= 推荐算法+系统工程
很多资料都是聚焦在这个算法怎么做,宝库很多paper都是在说新的推荐算法。但是,当你真正动手搭建这套业务系统,特别是云上,你就饿会发现其实是一个系统化的工程。即使知道算法,也会面临很多问题。比如:性能、数据存储等。

企业级推荐系统架构

(一)企业级推荐系统要求

四个基本要求:
要求一、目标客户有百万级MAU的一个推荐业务需求的应用,机器学习领域 数据量越大 模型越精准。 数据拆分可分为三种:用户行为数据、商品的行为数据、用户商品之间的交互数据。
要求二、有算法插件化部署的能力。
要求三、服务的性能问题(每次请求毫秒级反馈)
要求四、支持资源的弹性拓展

(二)推荐整体架构

(三)基于PAI的推荐技术架构

推荐系统召回算法

一、召回模块在推荐系统中的位置

召回模块主要做的一件事就是初筛

二、推荐场景–召回算法介绍

右侧的是协同过滤算法,左侧的可以叫做向量召回相关的算法。
协同过滤算法类似于基于统计的算法。
向量召回更偏机器学习的一些深层的模型。
ALS 是一个经典的矩阵分解方法,可以基于行为数据表,产出user embedding 表和 item embedding 表。
FM 也是类似的一个逻辑,通过内积方式增强特征表现力
GraphSage 算法。它其实是一种图神经网络的召回算法

三、什么是协同过滤

举例:我们有用户 A、B、C,他们的偏好如下图所示。你会发现 A 和 C 有一些相似的口味。A 和 C 都喜欢 Rice、Milk。除此之外,A 还喜欢 Lamb。就是说 A 和 C 有相似的口味,并且 A 还喜欢某个 C 没有尝试过的东西。我们就假设 C 也喜欢它,可以把它作为 C 的一个召回结果。这就是一个基于数据统计的标准的协同过滤的方式。

四、向量召回架构说明

推荐系统排序算法

一、排序模块在推荐系统中的位置

我们通过召回模块,进行一个初筛,缩小排序模型的一个受众的范围

二、排序算法介绍

逻辑回归是应用非常广泛的一种算法。它是目前业内最经典的线性二分类算法,特点是容易上手,对于计算力要求低,模型可解释性好
FM 算法近
一两年来,在很多客户的场景中都得到大规模的应用,效果也不错。它是通过内积的方式增强特征的表现力。
在 LR 基础上通过 GBDT 和特征编码增强数据特征的可解释性。
DeepFM 算法也是现在被应用得非常多的一个深度学习的算法,它把深度学习和经典的机器学习算法做一个结合。

三、离线排序模型训练架构

训练过程分为离线训练和在线训练,首先讲离线排序

四、在线排序模型训练架构

在线训练 具有及时感知
在线排序模型训练的一个框架特点:
第一,它是基于 Flink 框架实现的流式模型训练能力。
第二,它是基于实时生成的模型去实时评估模型效果。
第三,它具备线上模型回滚和版本管理的能力。

推荐系统线上服务编排

一、在线推理服务 - 架构说明

召回和排序这样的一个流程我们的方案是,基于高扩展弹性业务场景,采用阿里云 ACK 构建整体推理架构。
调用流程分为 3 步。
第一步,多路召回:物品协同过滤,语义召回,热门及运营策略召回取回上千条候选集。
第二步,曝光去重:基于该用户阅读历史,去掉已经曝光内容,去掉基于运营策略不能推荐的内容。
第三步,排序:推理模块调用排序过程时根据用户 ID 及物料 ID,获取用户特征及物料特征后,分批调用 PAI-EAS 服务返回排序结果。

二、线上多目标问题

   一种是说多模型解决多目标问题。假设就是点击和时长这两个目标,你可以有一套推荐召回模块专门针对点击。另一块专门针对使用时长去做训练。这两个结果你把它融合一下,得到最终的推荐结果。但代价就会比较大,你要同时维护两个系统,而且二者的比例也不好去量化。方案二是合并多目标成单模型,是目前采用得比较多的一个方案,也是效果相对来讲会比较好的一个方案。你把目标一和目标二这两个目标先融合成一个目标。比如说你把是否点击和观看时长按照一个比例去压缩下,把它都放到 0~1 之间。不点击就 0,点击就是 1。然后你把观看时长去做一个归一化,把整个时间都缩小到 0~1 的区间去。这样,你整个的区间就变成了 0~2,变成一个单目标的数值。这样的话你就可以针对这一个目标去训练你的召回、排序模型,从而拿到最终的结果。这样做的好处是你只需要维护一套推荐业务的建模流程,会比较方便维护,最后的效果也通常是方案二好一些

基于 PAI 10 分钟搭建一个简单推荐系统

一、个性化推荐业务流程

如何基于 PAI 去搭建一套非常简单的推荐系统:
这套推荐系统有两个特点。
第一是搭建非常方便,因为我们做了很多工具。
第二,这套系统是可扩展的。

推荐系统可以分为两个主要的模块。
第一个是召回模块,它做的事情就是初筛。
第二个是排序模块,按用户的偏好程度对 500 个新闻排序,就可以生成最终的推荐顺序。

在一个非常简单的推荐系统中,只有召回模块也是可以做推荐的。(上面有介绍过)

二、协同过滤

比如说召回领域有很多矩阵分解算法、协同过滤算法等等。(上面有介绍过)

三、推荐方案架构

完 整 的 推 荐 架 构 如 下 图 所 示, 包 含 如 下 部 分:Dataworks,PAI-Studio,TableStore,PAI-AutoLearning,PAI-EAS。

四、实际操作

首先我们在 PAI-Studio 里基于你的原始数据生成你的协同过滤后的结果数据,
这是两张表。
接着我们在 TableStore,即表格存储里去把这两张表按照要求的格式建立出来。
然后利用 Dataworks 去把这个数据从 PAI-Studio 里灌到表格存储里。
接着在 AutoLearning 里去把 TableStore 的两个数据配置出来,配出来呈一个
策略。
然后最后把这个策略变成一个 PAI-EAS 的服务,你可以在这看一个调用方式。
最终用户拿到的结果就是这条服务。
如果想更新迭代里面的整个的数据,你就可以去改最原始的这张表。因为整套服务都可以做成一个自动化的流程,都可以利用 Dataworks 的数据调度系统去做成一个自动化的系统。所以你只要每天去更新这里的原始的数据就可以了,剩下来的业务都可以自动化。

参考资料

140 页推荐业务动手实践文档:
https://www.aliyun.com/acts/best-practice/preview?&id=378791
机器学习 PAI:
https://www.aliyun.com/product/bigdata/product/learn

阿里的《基于pai的推荐系统》--摘抄笔记相关推荐

  1. 开放下载!基于PAI个性化推荐系统开发指南

    亚马逊的CEO Jeff Bezos曾经说过,他的梦想是"如果我有100万个用户,我就要为他们做100万个亚马逊网站".而智能推荐系统的出现,就是为了实现这个梦想,智能推荐系统解决 ...

  2. 9.1 基于内容的推荐系统-机器学习笔记-斯坦福吴恩达教授

    基于内容的推荐系统 推荐系统是机器学习最重要的应用之一,你所知道的淘宝.亚马逊.facebook.豆瓣这些网站都把推荐系统作为了核心.在某个电影资讯的网站,有那么一份用户对于电影的打分(1 - 5 分 ...

  3. 推荐系统学习笔记召回策略之基于协同过滤召回

    基于协同过滤的召回 1. 概述 2. 基于近邻的协同过滤算法 3. 相似度计算方法 4. 协同过滤算法的进化-矩阵分解 图1. 推荐系统整体架构 推荐系统学习笔记系列链接: 推荐系统学习笔记--特征工 ...

  4. 推荐系统学习笔记——特征工程

    特征工程 一. 概述 二. 特征工程构建原则 三. 常用的特征有哪些 四. 常用的特征的处理方法 五. 特征选择 六. 总结 推荐系统学习笔记系列链接: 推荐系统学习笔记--特征工程 推荐系统学习笔记 ...

  5. 基于 PAI 搭建企业级个性化推荐系统 最佳实践

    场景描述 本方案结合阿里云 PAI 团队预置的基础版算法方案为例,演示如何以阿里云提供的数据.AI 类产品为基础,离线部分采用Maxcompute&Dataworks&PAI的大数据& ...

  6. 笔记:基于标签的推荐系统、基于图的推荐算法、PersonalRank

    笔记:基于标签的推荐系统.基于图的推荐算法.PersonalRank 发表于11个月前(2015-05-26 19:15)   阅读(44) | 评论(0) 2人收藏此文章, 我要收藏 赞0 原文:h ...

  7. Python推荐系统学习笔记(3)基于协同过滤的个性化推荐算法实战---ItemCF算法(下)

    本文在 Python推荐系统学习笔记(2)基于协同过滤的个性化推荐算法实战---ItemCF算法 一文的基础上,对其基本的ItemCF算法做出改进. 一.相关概念 1.ItemCF中,基于行为(喜好) ...

  8. Python推荐系统学习笔记(5)基于协同过滤的个性化推荐算法实战---UserCF算法(下)

    本文在 Python推荐系统学习笔记(4)基于协同过滤的个性化推荐算法实战---UserCF算法(上) 一文的基础上,对其基本的UserCF算法做出改进. 一.相关概念 1.UserCF中,基于行为( ...

  9. 【推荐系统】【论文阅读笔记】【survey】A Survey on Session-based Recommender Systems基于会话的推荐系统综述

    论文链接:arXiv:1902.04864v1 一.为什么需要基于会话的推荐系统(SBRS) 基于内容的RS和协作过滤RS是两个具有代表性的RS. 然而,这些传统的RS仍然存在一些缺点.关键的一点是, ...

  10. 阿里云机器学习PAI构建AI集团军作战,联手Intel在AI软硬件领域发力

    第一届"英特尔创新大师杯"深度学习挑战赛已在阿里云天池平台如火如荼的进行中.本次大赛由英特尔主办,阿里云计算平台机器学习 PAI 联合达摩院以及中文信息协会等组织机构联合承办,共有 ...

最新文章

  1. 讲真,上班路上 1 小时算很幸福了!
  2. 基于机器学习的web异常检测——基于HMM的状态序列建模,将原始数据转化为状态机表示,然后求解概率判断异常与否...
  3. AR-关于应收票据的系统操作说明
  4. Facebook开源 PyTorch版 fairseq,准确性最高、速度比循环神经网络快9倍
  5. 载winpcap4.1.1_最常用的11个电缆载流量数据表,建议收藏备用
  6. mysql 连接 iOS_iOS连接mysql数据库及基本操作
  7. 蓝桥杯笔记:带分数(dfs排列问题)
  8. 中国互联网今日正式满 20 岁
  9. 使用imp导入工具导入dmp文件
  10. 什么是 Access Token
  11. VM虚拟机安装CentOS系统的常见BUG
  12. 【数据分享】我国地级市绿地利用现状数据(9个指标\Shp格式)
  13. Transformer如何用于视频?最新「视频Transformer」2022综述
  14. CCNA+NP学习笔记—交换网络篇
  15. 论文阅读笔记(1):Multi-Task Feature Learning for Knowledge Graph Enhanced Recommendation
  16. Android自定义导览地图组件(一)
  17. docx行间距怎么设置_word全文行距怎么设置
  18. Android Label 标签
  19. Shell语言基本语法总结(4)正则表达式与文本处理之grep
  20. 一个误操作导致 5.4 万 Star 全部归零,10年的心血...

热门文章

  1. jsp超链接字体_超链接标记
  2. C#使用Google翻译实现在线翻译
  3. 滴滴涨价背后:市值缩水40亿美元,高峰期无人接单?
  4. 图像识别用什么神经网络,图神经网络可以做什么
  5. matlab的方法定义变量,Matlab定义变量怎么操作?定义变量方法介绍
  6. windows7系统重装的步骤,电脑重装win7
  7. lower_bound 、upper_bound 、binary_search
  8. TL431-精密基准电压源
  9. 灵飞经 ①洪武天下 第二章 紫禁深深
  10. 基于C++实现家谱管理系统