Rule: #1: 不要害怕开发没有应用机器学习技术的产品
Rule: #2: 设计评价指标并设立优先级
Rule: #3: 先使用复杂的启发式规则,然后选择机器学习方法
Rule #4: 初版模型要简单,主要任务是确定系统流程的正确性
Rule #5: 系统运行状况要和算法的状况保持独立,以便之后算法迭代不会对系统造成较大影响。
Rule #6: 系统工作各阶段过度时,丢弃数据要谨慎
Rule #7: 寻找特征或者从外部补充其他相关数据
Rule #8: 了解系统的时效性
算法运行对于数据的时效性有差异,如热榜需要每天更新数据,点击率预估更新部分数据频率更高。
Rule #9: 导出模型之前检测问题
Rule #10: 当心未被报告的失败
某些错误是不会有类似程序出错的异常,只会影响模型的性能,所以部署监控。
Rule #11: 文档化每个特征及其维护者
Rule #12: 不要过多的考虑优化指标的选择
起初的时候,只要选择正确的方法所有指标都会提升,没有必要刚开始对于指标的选择过多考虑。
Rule #13: 选择简单、可观察、可归因的指标作为第一个优化目标
Rule #14: 开始时使用可解释的模型,以便于调试
Rule #15: 对垃圾邮件过滤和质量排序,在策略上要区分开
对于垃圾邮件过滤,需要关注正反两类样本;但质量排序中只需要关注正常的样本,纵然也会存在违规、广告等,请记住,你的模型是排序,不是进行过滤。
Rule #16: 对模型重建和迭代做出规划
Rule #17: 开始时,使用可直接观察或者记录的特征(而不是算法学习得到的特征)
Rule #18: 挖掘能够在不同的上下文中泛化的特征
Rule #19: 尽可能使用具体的特征
如评价博文的热度,首选博文近几天的浏览量,而不是博文表达的主题是不是流行。
Rule #20: 使用可理解的方式修改或组合新特征
如 Titanic生还预测中,姐妹个数+孩子个数表示家庭人口大小。
Rule #21: 在线性模型中学习到的特征权重数量和使用到的数据量成比例
Rule #22: 清除掉不会再使用的特征
Rule #23: 你不能代表大多数的用户
所以你不能代表用户做判断模型的表现好坏,要做A/B Test。
Rule #24: 评估模型间的差异
Rule #25: 选择模型时,实用性比预测能力更重要
如果模型不能达到业务的性能要求,即使指标再高也不会让你上线的。
Rule #26: 观察模型误判的数据,寻找规律,抽取新特征
Rule #27: 量化观察到的不利行为
Rule #28: 注意区分短期行为和长期行为
如端午节很多人在购物中购买粽子,这并不代表这些人是个吃货,为此专门构造特征表示购买粽子的行为是不合适的。
Rule #29: 为保证服务和训练效果相同,最好将服务时的特征集合保存以作训练
Rule #30: 对采样样本加权而不是随意丢弃
Rule #31: 模型训练之后才上线,在此过程中数据有可能已经发生变化
如果训练特征有一个特征表示博文的浏览量,那么等到模型训练完,浏览量已经发生变化了。
Rule #32: 尽可能在训练和服务时复用代码
Rule #33: 使用不同数据集做训练和测试
Rule #34: 在二值分类过滤中(垃圾邮件检测),不要为了纯净数据过大的牺牲性能
Rule #35: 认识排序问题中的固有偏差
如下载排行榜中靠前的APP在本质上就诱导用户下载
Rule #36: 避免位置特征的回馈循环
内容的位置会显著影响用户与它交互的可能性(置顶App的下载量通常下载量更大)
处理这类问题的有效方法是加入位置特征
注意要保持位置特征和其他特征的分离性
不要交叉(cross)位置特征
理想情况下,让模型变成位置特征函数和其他特征函数的和
Rule #37: 评估训练和服务之间的偏差
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。
公众号居然有400人了,而且还在不断增长,本着宁缺勿滥的原则,一般有干货,或者老王我自己写了东西才给大家推送(还有几个其他编辑不知道在忙啥,听说雷总分手了,无心运营),我们有一个qq技术交流群:593683975
当然交流交流生活也可以,不过我们IT人好像也没啥生活。
深更半夜的老王我穿着裤衩去水房打完水,看看文章,不亦快哉!
此处有风吹过~~~
点击下方阅读原文查看全部翻译