内容的位置会极大地影响用户与其互动的可能性。如果您将应用放在首位,则应用获得的点击率更高,导致您认为用户更有可能点击该应用。处理此类问题的一种方法是添加位置特征,即关于内容在网页中的位置的特征。您可以使用位置特征训练模型,使模型学习(例如)对特征“1st?position”赋予较高的权重。因此,对于具有“1st?position=true”特征的样本的其他因素,模型会赋予较低的权重。然后,在应用时,您不向任何实例提供位置特征,或为所有实例提供相同的默认特征,因为在决定以怎样的顺序显示候选实例之前,您就对其进行了打分。
请注意,因为训练和测试之间的这种不对称性,请务必在位置特征与模型的其余特征之间保持一定的分离性。让模型成为位置特征函数和其余特征函数之和是理想的状态。例如,不要将位置特征与任何文档特征组合在一起。
第 37 条规则:测量训练/应用偏差。
一般来说,很多情况都会引起偏差。此外,您可以将其分为以下几个部分:
训练数据和预留数据的效果之间的差异。一般来说,这种情况始终存在,而且并非总是坏事。
预留数据和“次日”数据的效果之间的差异。同样,这种情况始终存在。您应该调整正则化,以最大程度地提升次日数据的效果。不过,如果与预留数据相比,次日数据效果下降明显,则可能表明某些特征具有时效性,而且可能会降低模型的效果。
“次日”数据和实时数据的效果之间的差异。如果您将模型应用于训练数据中的某个样本,并在应用时使用同一样本,那么您得到的结果应该完全相同(请参阅第 5 条规则)。因此,此处的差异很可能表示出现了工程错误。
机器学习第三阶段:缓慢增长、优化细化和复杂模型
第二阶段即将结束时会出现一些信号。首先,月增长开始减弱。您将开始在指标之间做出取舍:在部分试验中,您会看到一些指标上升了,而另一些指标下降了。情况变得有趣起来。由于越来越难实现增长,因此机器学习系统必须变得更加复杂。注意:相比之前两个部分,本部分中会有较多的纯理论性规则。我们见过许多团队在机器学习的第一阶段和第二阶段非常满意。但到了第三阶段后,他们必须找到自己的道路。
第 38 条规则:如果目标不协调,并成为问题,就不要在新特征上浪费时间。
当您的衡量结果稳定时,您的团队会开始关注当前机器学习系统的目标范围之外的问题。如前所述,如果现有算法目标未涵盖产品目标,则您需要修改算法目标或产品目标。例如,您可以优化点击次数、+1 次数或下载次数,但让发布决策部分依赖于人工评分者。
第 39 条规则:发布决策代表的是长期产品目标。
Alice 有一个关于减少预测安装次数的逻辑损失的想法。她添加了一个特征。逻辑损失降低了。当她运行在线实验时,看到安装率增加了。但是,在发布评审会上,有人指出,每日活跃用户数减少了 5%。于是,团队决定不发布该模型。Alice 很失望,但现在她意识到发布决策取决于多个条件,只有一部分条件可以通过机器学习直接得到优化。
事实上,现实世界并不是网游世界:没有“生命值”来确定产品的运行状况。团队必须使用自己收集的统计信息来尝试有效地预测系统未来的表现会如何。他们需要关注互动度、日活跃用户数 (DAU)、30 日 DAU、收入以及广告主的投资回报率。这些可在 A/B 测试中衡量的指标本身仅代表了以下更长期目标:让用户满意、增加用户数量、让合作伙伴满意以及实现盈利,进一步,您还可以认为它们代表了发布优质且实用的产品,以及五年后公司繁荣发展。
唯一可以轻松做出发布决策的情况是,所有指标都在变好(或至少没有变差)。 如果团队能够在复杂的机器学习算法和简单的启发式算法之间做出选择,而对所有这些指标来说,简单的启发式算法可以提供更好的效果,那么应该选择启发式算法。此外,并未对所有可能的指标值进行明确排名。具体而言,请考虑以下两种情形:
实验每日活跃用户数收入/日A100 万400 万美元B200 万200 万美元