预备
- 不要害怕发布一款没有用到机器学习的产品。
- 评估指标设计并落实优先处理的事情。
- 在复杂的启发式问题上使用机器学习。
机器学习第一阶段:你的第一个工作流
- 第一个模型要保持简单,设计好基础架构。
- 确?;〗峁沟目刹馐孕?。
- 复制操作时,小心删除数据。
- 利用启发式问题设计特征或从外部处理它们。
监控
- 知道要进行系统刷新。
- 输出模型前发现问题。
- 当心未被报告的失败。
- 特征栏包干到户,位置建立详细的文档。
你的第一个目标
- 不要过度考虑选择那个目标直接给予优化。
- 为你的第一个目标,选择一个简单的、可观察、可归属的评估指标。
- 从一个可诠释的模型开始能让调试工作变得简单些。
- 在一个策略层中分开垃圾过滤和质量排名。
机器学习第二阶段:特征工程
- 计划发布和迭代。
- 从直接可以观察、被报告的特征开始。
- 能用跨语境泛化的内容特征进行搜索。
- 可以的话,请使用具体的特征。
- 结合并修改现有特征,伊人泪可以理解的方式创造新的特征。
- 在一个线性模型中可以学到特征权重数量与你的数据量大致成正比。
- 清除你不在使用的特征。
系统的人类分析
- 你并不是典型的端用户。
- 测量模型之间的差量。-delta参数
- 选择模型时,使用性能(utilitarian performance) 比预测能力更重要。
- 在测量到的误差中寻找模式,并创造新特征。
- 尝试量化观测到的不可欲的行为(undersirable behavior)。
- 意识到相同的短期行为(shortterm behavior) 并不意味着长期行为相同。
训练表现与实际产品之间的偏差
- 要让你的实际产品表现得和训练时一样好,最好的方法时再你的产品中保留训练的特征集,并将这些特征放到日志中,并在训练时使用它们。
- 重要性加权的样本数据,不要武断放弃。
- 注意,如果在训练和服务时点将表格中的数据加起来,表格数据会发生变化。
- 在训练的流程和实际产品流程之间,尽可能地重复使用统一代码。
- 如果你用5号之间的数据生成了一个模型,那么用6号之后的数据来测试模型。
- 在使用二元分类器进行过滤时(例如垃圾邮件检测),用短期的牺牲获得清洁数据的优良性能。
- 注意在排序 问题中的固有偏差(inherent skew)。
- 用位置特征避免反馈循环(feedback loops)。
- 测量训练/实际产品表现之间的偏差(Measure Training/Serving Skew)
机器学习第三阶段:放慢速度、优化细化和复杂的模型
- 如果出现目标不对齐的问题就不要在新的特征上浪费时间。
- 决定不知是基于一个标准做出。
- 保证组件简单。
- 性能达到高峰时,要寻找寻的信息源加以补充,而不是精化现有的信号。
- 不要期望多样化、个性化或者与你多认为的流行性关联。
- 在不同的产品中你的伙伴可能倾向于同一个产品。而你的兴趣不是。