首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >机器学习规则:ML工程最佳实践----rules_of_ml section 【翻译】

机器学习规则:ML工程最佳实践----rules_of_ml section 【翻译】

作者头像
流川疯
发布2022-05-10 19:33:02
发布2022-05-10 19:33:02
3890
举报
This document is intended to help those with a basic knowledge of machine learning get the benefit of best practices in machine learning from around Google. It presents a style for machine learning, similar to the Google C++ Style Guide and other popular guides to practical programming. If you have taken a class in machine learning, or built or worked on a machine­learned model, then you have the necessary background to read this document.
Before Machine Learning
  • Rule: #1: 不要害怕开发没有应用机器学习技术的产品
  • Rule: #2: 设计评价指标并设立优先级
  • Rule: #3: 先使用复杂的启发式规则,然后选择机器学习方法
ML phase I : Your First Pipeline
  • Rule #4: 初版模型要简单,主要任务是确定系统流程的正确性
  • Rule #5: 系统运行状况要和算法的状况保持独立,以便之后算法迭代不会对系统造成较大影响。
  • Rule #6: 系统工作各阶段过度时,丢弃数据要谨慎
  • Rule #7: 寻找特征或者从外部补充其他相关数据
监控
  • Rule #8: 了解系统的时效性

算法运行对于数据的时效性有差异,如热榜需要每天更新数据,点击率预估更新部分数据频率更高。

  • Rule #9: 导出模型之前检测问题
  • Rule #10: 当心未被报告的失败

某些错误是不会有类似程序出错的异常,只会影响模型的性能,所以部署监控。

  • Rule #11: 文档化每个特征及其维护者
第一个目标
  • Rule #12: 不要过多的考虑优化指标的选择

起初的时候,只要选择正确的方法所有指标都会提升,没有必要刚开始对于指标的选择过多考虑。

  • Rule #13: 选择简单、可观察、可归因的指标作为第一个优化目标
  • Rule #14: 开始时使用可解释的模型,以便于调试
  • Rule #15: 对垃圾邮件过滤和质量排序,在策略上要区分开

对于垃圾邮件过滤,需要关注正反两类样本;但质量排序中只需要关注正常的样本,纵然也会存在违规、广告等,请记住,你的模型是排序,不是进行过滤。

ML Phase II: 特征工程(Feature Engineering)
  • Rule #16: 对模型重建和迭代做出规划
  • Rule #17: 开始时,使用可直接观察或者记录的特征(而不是算法学习得到的特征)
  • Rule #18: 挖掘能够在不同的上下文中泛化的特征
  • Rule #19: 尽可能使用具体的特征

如评价博文的热度,首选博文近几天的浏览量,而不是博文表达的主题是不是流行。

  • Rule #20: 使用可理解的方式修改或组合新特征

如 Titanic生还预测中,姐妹个数+孩子个数表示家庭人口大小。

  • Rule #21: 在线性模型中学习到的特征权重数量和使用到的数据量成比例
  • Rule #22: 清除掉不会再使用的特征
人工系统分析(Human Analysis of the System)
  • Rule #23: 你不能代表大多数的用户

所以你不能代表用户做判断模型的表现好坏,要做A/B Test。

  • Rule #24: 评估模型间的差异
  • Rule #25: 选择模型时,实用性比预测能力更重要

如果模型不能达到业务的性能要求,即使指标再高也不会让你上线的。

  • Rule #26: 观察模型误判的数据,寻找规律,抽取新特征
  • Rule #27: 量化观察到的不利行为
  • Rule #28: 注意区分短期行为和长期行为

如端午节很多人在购物中购买粽子,这并不代表这些人是个吃货,为此专门构造特征表示购买粽子的行为是不合适的。

训练偏差(Training-Serving Skew)
  • Rule #29: 为保证服务和训练效果相同,最好将服务时的特征集合保存以作训练
  • Rule #30: 对采样样本加权而不是随意丢弃
  • Rule #31: 模型训练之后才上线,在此过程中数据有可能已经发生变化

如果训练特征有一个特征表示博文的浏览量,那么等到模型训练完,浏览量已经发生变化了。

  • Rule #32: 尽可能在训练和服务时复用代码
  • Rule #33: 使用不同数据集做训练和测试
  • Rule #34: 在二值分类过滤中(垃圾邮件检测),不要为了纯净数据过大的牺牲性能
  • Rule #35: 认识排序问题中的固有偏差

如下载排行榜中靠前的APP在本质上就诱导用户下载

  • Rule #36: 避免位置特征的回馈循环
    • 内容的位置会显著影响用户与它交互的可能性(置顶App的下载量通常下载量更大)
    • 处理这类问题的有效方法是加入位置特征
    • 注意要保持位置特征和其他特征的分离性
    • 不要交叉(cross)位置特征
    • 理想情况下,让模型变成位置特征函数和其他特征函数的和
  • Rule #37: 评估训练和服务之间的偏差
ML Phase III: 缓慢提升、精细优化、复杂模型
  • Rule #38: 如果优化目标没有包含此信息,就不要浪费时间在这些新特征上。
  • Rule #39: 基于多个指标做决策
  • Rule #40: 保持集成模型Simple
    • 每个模型只能选择其一:只接收其他模型输入或只接收原始特征,不能两者兼有
  • Rule #41: 当性能平稳后,寻找新方向而不是精炼已有信息
  • Rule #42: 不要期望多样性、个性化和受欢迎程度有紧密联系
    • 在以受欢迎程度为目标的系统上,多样性和个性化通常得到更低的权重
    • 这并不是说多样性、个性化不重要,而是可以通过后处理来提高或者根据多样性和相关性改进目标
  • Rule #43: 其他人对不同的产品倾向相似,但你或许不同于此

具体查看:

  • part1
  • part2
  • part3

英文全文查看:Rules of Machine Learning: Best Practices for ML Engineering


很久很久没有给大家推送什么了,最近比较混乱,还好黄老师给我们翻译了一个干货,现在视觉和机器学习领域的入门门槛越来越低了,大家有没有蠢蠢欲动呢。

希望有想法的人早点开始呀。

不要等风都吹完了,你才想起来立flag。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-05-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • This document is intended to help those with a basic knowledge of machine learning get the benefit of best practices in machine learning from around Google. It presents a style for machine learning, similar to the Google C++ Style Guide and other popular guides to practical programming. If you have taken a class in machine learning, or built or worked on a machine­learned model, then you have the necessary background to read this document.
  • Before Machine Learning
  • ML phase I : Your First Pipeline
    • 监控
    • 第一个目标
  • ML Phase II: 特征工程(Feature Engineering)
    • 人工系统分析(Human Analysis of the System)
    • 训练偏差(Training-Serving Skew)
  • ML Phase III: 缓慢提升、精细优化、复杂模型
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档