机器学习项目最佳实践(翻译)

Rules of machine learning

这篇文章是翻译的martin Zinkevich 的文章。如果大家有兴趣请参照原文

概述

基本方法

  1. 确保工作流是端到端的(当有新的标记数据加入时,可以很快的迭代模型)
  2. 目标函数(损失函数)要合理
  3. 添加符合常识的特征
  4. 开发过程中,一定要保证工作流稳定

开始之前

Rule #1: 不要过度使用机器学习方法

在不能获得很多数据的情况下,请谨慎使用机器学习

Rule #2: 首先,设计和实现评价标准(metrics)

在开发任何模型前,请先确定评价方法,并且在开发过程中始终通过评价方法追逐模型的表现。如果模型的有些表现无法合理表示,请添加多种评价方法来对模型有一个完整的评估。
没有最好用的评价方法!不同的评价方法表示的是模型表现的不同侧面。

Rule #3: 要让机器学习模型更容易更新和维护

ML Phase I: First Pipeline

Rule #4: 将项目架构搞对而不是把模型搞好

Rule #5: 好的架构应该是和算法独立的

确保所使用的项目架构可以很容的替换核心的学习算法,尽管有些算法对于输入的要求不同,也尽可能的保证适配器能够合理的修正输入特征。

Rule #6: 确保数据输入管道没有遗留重要信息

很多时候我们会使用一些旧的输入管道,这时候就有可能因为使用旧管道而遗漏掉某些特征

Rule #7: 知道你的部署系统多长时间更新一次

根据数据更新的频率和用户需求来确定多长时间更新一次模型

Rule #9: 在输出模型之前确认问题

Rule #10: 部署模型之后,观察错误预测

Rule #11: 确定特征的产生者和相关文档

Rule #12: 不要过度在意学习算法的目标函数

过度思考目标函数会让自己陷入僵局。也许不同的metric之间是相关联的。提升了一个metric,另一个metric自然也会增长。

Rule #13: 选择和用户行为关联度较高的metric

Rule #14: 从可以被理解的模型开始

可以被理解的模型也许不会给你很好的结果,但会让你更好地理解要解决的问题。

Rule #15: Separate Spam Filtering and Quality Ranking in a Policy layer.

ML Phase II: Feature Engineering(特征工程)

Rule #16: 为发布和迭代做好规划

永远不要担心当前模型将会是最终模型,模型应该永远处于迭代的生命周期中
你的系统应该可以灵活的添加和归并特征,在开发过程中应该注重这一方面的灵活性。

Rule #17: 从可以直接观测的特征开始

Rule #18: 探索那些可以跨越不同背景的特征

Rule #19: 使用泛化能力更强的特征

Rule #20: 合并和改变现有的特征来创建新的特征

Rule #21: 线性模型的最大权重数量和数据量相关

Rule #22: 及时清理掉不再使用的特征

Rule #23:

Rule #17:

ML Phase III: Slowed Growth, Optimization Refinement and Complex Models

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值