Quora 机器学习系统部署的经验

Neil Zhu,ID Not_GOD,University AI 创始人 & Chief Scientist,致力于推进世界人工智能化进程。制定并实施 UAI 中长期增长战略和目标,带领团队快速成长为人工智能领域最专业的力量。
作为行业领导者,他和UAI一起在2014年创建了TASA(中国最早的人工智能社团), DL Center(深度学习知识中心全球价值网络),AI growth(行业智库培训)等,为中国的人工智能人才建设输送了大量的血液和养分。此外,他还参与或者举办过各类国际性的人工智能峰会和活动,产生了巨大的影响力,书写了60万字的人工智能精品技术内容,生产翻译了全球第一本深度学习入门书《神经网络与深度学习》,生产的内容被大量的专业垂直公众号和媒体转载与连载。曾经受邀为国内顶尖大学制定人工智能学习规划和教授人工智能前沿课程,均受学生和老师好评。

1 隐藏的信号通常要比显式的好!

Quora 机器学习系统部署的经验_第1张图片
隐藏的信号通常要比显式的好!

隐式 vs 显式

  1. 很多产品已经发现了隐式反馈要更加好
  2. 隐式反馈总是要更有用么?
  3. 为什么

隐式数据:

  • 更加紧密dense,对所有用户可用
  • 更能够表达用户行为和反应
  • 与最终的目标更相关
  • 与 AB 测试结果更加相关
    例子:评分 vs 观看
    然而并不是所有情形,直接的隐式反馈和长期的�留存很好的相关,
    例如:点击诱饵(网页上很抓眼球的链接,通常由广告商付费或根据点击量付费)

解决方案:组合不同形式的隐式和显式反馈来更好地表达长期的目标。

2 你的模型将会学到你叫他学的那些东西

Quora 机器学习系统部署的经验_第2张图片
你的模型将会学到你叫他学的那些东西

训练模型

  • 模型会根据训练数据(显式和隐式的)、目标函数(例如用户阅读一个答案的概率)和度量(准确率和召回率)学习
  • 例子1:优化一个用户会去影院看电影的概率,并将其置为“可能性高”通过使用购物历史和评分历史。使用NDCG作为排序的度量,使用超过4星的评分作为正样本。
  • 例子2:Quora 的 feed:训练数据=隐式+显式,目标函数:展示一个 story 给用户的值是一个操作的带权和:v = \sum_a v_a 1{y_a=1},对每个操作预测概率,然后计算期望值:v_pred = E[V|x] = \sum_a v_a p(a|x),度量可以是任意的排名度量。
Quora 机器学习系统部署的经验_第3张图片
Quora feed

3 监督式学习和非监督学习

Quora 机器学习系统部署的经验_第4张图片
监督式学习和非监督学习

监督学习和非监督学习

  • 非监督学习可以降维

  • 非监督学习可以用来做特征工程

  • 将两者结合的魔力:

  • 聚类+knn

  • 矩阵分解

  • MF可以解释为:监督(PCA降维 NMF聚类)和非监督(目标标签~回归)


    Quora 机器学习系统部署的经验_第5张图片
    Paste_Image.png
  • 深度学习的一种技巧就是组合无监督学习和监督学习

  • stacked Autoencoder

  • 训练卷积神经网络

Quora 机器学习系统部署的经验_第6张图片
Paste_Image.png
Quora 机器学习系统部署的经验_第7张图片
Paste_Image.png

4 任何东西都可以集成

Quora 机器学习系统部署的经验_第8张图片
任何东西都可以集成

集成

  • Netflix 奖由集成模型摘得
  • 刚开始 Bellkor 使用的是 GDBT
  • BigChao 使用了 ANN-based 集成模型
  • 大多数实际应用都是使用的集成模型
  • 你为何不用呢?
  • 至少和你方法一般好
  • 可以增加不同的观点(如 CF 和 基于内容的)
  • 你可以使用很多不同的模型在集成的层(LR GDBT RF ANNs...)
Quora 机器学习系统部署的经验_第9张图片
Paste_Image.png

集成模型和特征工程

  • 集成模型是将任何模型转化成特征的手段
  • 比如说,不知道是用 FM Tensor Factorisation 或者 RNN 时,就将每个模型作为特征,然后喂给一个集成器。

The Master Algorithm?

https://twitter.com/xamat/status/665300784502845441

Quora 机器学习系统部署的经验_第10张图片
Paste_Image.png

5 模型的输出将成为另一个模型的输入

Quora 机器学习系统部署的经验_第11张图片
模型的输出将成为另一个模型的输入

输出将会成为输入

  • 集成模型将任何模型转化成一个特征:很好,不过也容易乱套
  • 确保你模型的输出能够满足数据的依赖:你能够轻易改变值的分布而不改变其他模型的依赖么?
  • 避免出现反馈的环路
  • 你能够如同软件使用那样设计 ML 架构吗?
Quora 机器学习系统部署的经验_第12张图片
Paste_Image.png

机器学习和软件

  • 你能够如同软件使用那样设计 ML 架构吗?答案是:“是”和“否”
  • 应当应用最优的软件工程实践(封装、抽象、一致、耦合……)
  • 同时 机器学习软件的设计模式相当缺乏
Quora 机器学习系统部署的经验_第13张图片
Paste_Image.png

6. 特征工程的付出和回报

Quora 机器学习系统部署的经验_第14张图片
特征工程的付出和回报

你可能感兴趣的:(Quora 机器学习系统部署的经验)