谷歌机器学习规则要点简析:43条黄金法则 (2)

您将发现哪些内容发生了变化以及哪些内容始终未变。例如,假设您希望直接优化单日活跃用户数。但是,在早期操纵系统的过程中,您可能会发现用户体验的显著改变并没有使该指标发生明显变化。

Google+ 团队会衡量每次阅读的展开次数、 转发次数、+1 次数、评论次数,以及每位用户的评论次数、转发次数等,然后在应用模型时利用这些数据来衡量帖子的质量。另请注意,实验框架非常重要,您必须在实验框架中将用户分组为多个分桶,并按实验汇总统计信息。 请参阅第 12 条规则。

通过以更加自由的方式收集指标,您可以更加全面地了解您的系统。发现问题了?添加指标对其进行跟踪!对上个版本中发生的一些量变激动不已?添加指标对其进行跟踪!

 3 条规则:选择机器学习技术而非复杂的启发式算法。

简单的启发式算法有利于推出产品。但复杂的启发式算法难以维护。当您获得足够的数据并基本确定自己要尝试实现的目标后,请考虑使用机器学习技术。与大多数软件工程任务一样,您需要不断更新方法(无论是启发式算法还是机器学习模型),而且您会发现机器学习模型更易于更新和维护(请参阅第 16 条规则)。

机器学习第一阶段:您的第一个管道

重点关注第进行的创新性机器学习的方方面面是一件很有趣的事,但如果您不先确认管道的可靠性,则很难弄清楚所发生的情况。

 4 条规则:确保第一个模型简单易用,并正确实施基础架构。

第一个模型可以最有效地提升您的产品质量,因此不需要花哨,简单易用即可。但是,您会遇到很多预料之外的基础架构问题。在公开推出您精心构建的新机器学习系统之前,您必须确定以下几点:

如何为您的学习算法获取样本。

初步确定对于您的系统来说,“好”和“坏”的定义是什么。

如何将模型整合到应用中。您可以在线应用模型,也可以离线使用样本对模型进行预计算,并将结果存储在表格中。例如,您可能需要对网页进行预分类并将结果存储在表格中,但也可能需要在线对聊天消息进行分类。

选择简单的特征可以更轻松地确保:

将这些特征正确应用于您的学习算法。

模型学习出合理的权重。

将这些特征正确应用于服务器端。

当您有了能可靠做到上述三点的系统时,则表示您已完成大部分工作。简单的模型可为您提供基准指标和基准行为,您可以利用这些指标和行为测试更复杂的模型。某些团队以“中性”作为首次发布的目标 - 在首次发布时明确淡化机器学习成果,以避免分心。

 5 条规则:撇开机器学习,单独测试基础架构。

确保基础架构可测试,且对系统的学习部分进行封装,以便测试这些部分之外的方方面面。具体而言:

测试数据导入算法的效果。检查应填充的特征列是否已填充。在隐私权许可的情况下,手动检查输入到训练算法的数据。如果可能的话,查看管道中的统计信息,并与在其他地方处理的相同数据的统计信息进行比较。

测试从训练算法得出模型的效果。确保训练环境中的模型与应用环境中的模型给出的分数相同(请参阅第 37 条规则)。

机器学习具有不可预测性,因此要有用于训练环境和应用环境中创建样本的代码的测试;并确保您可以在应用期间加载和使用固定模型。此外,了解您的数据至关重要:请参阅分析大型复杂数据集的实用建议。

 6 条规则:复制管道时注意丢弃的数据。

通常,我们通过复制现有管道来创建新管道(即货物崇拜编程),且旧管道会丢弃一些新管道需要的数据。例如,Google+ 热门信息的管道会丢弃时间较早的帖子(因为它会不断尝试对最新的帖子进行排名)。此管道被复制用于 Google+ 信息流,在信息流中,时间较早的帖子仍然有意义,但旧管道仍会丢弃它们。另一种常见模式是仅记录用户看到的数据。因此,如果我们想要对用户看不到特定帖子的原因进行建模,此类数据就毫无用处,因为管道已丢弃所有负分类样本。Play 中也曾出现过类似的问题。在处理 Play 应用首页时,创建了一个新管道,其中还包含来自 Play 游戏着陆页的样本,但无任何特征可区分各个样本的来源。

 7 条规则:将启发式算法转变为特征或在外部处理它们。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzfxsz.html