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

不要指望您现在正在构建的模型会是您将要发布的最后一个模型,也不要指望您会停止发布模型。因此,请考虑此次发布中增加的复杂性是否会减缓未来版本的发布。很多团队多年来每季度都会发布一个或多个模型。发布新模型的三个基本原因如下所示:

您将要添加新特征。

您将要调整正则化并以新方式组合旧特征。

您将要调整目标。

无论如何,构建模型时多考虑考虑并没有什么坏处:查看提供到样本中的数据有助于发现新信号、旧信号以及损坏的信号。因此,在构建模型时,请考虑添加、移除或重新组合特征的难易程度。考虑创建管道的全新副本以及验证其正确性的难易程度。考虑是否可以同时运行两个或三个副本。最后,不必担心此版本的管道有没有纳入第 16 个特征(共 35 个),下个季度会将其纳入。

 17 条规则:从可直接观察和报告的特征(而不是经过学习的特征)着手。

这一点可能存在争议,但可以避免许多问题。首先,我们来介绍一下什么是学习的特征。学习的特征是由外部系统(例如非监督式集群系统)或学习器本身(例如通过因子模型或深度学习)生成的特征。这两种方式生成的特征都非常有用,但会导致很多问题,因此不应在第一个模型中使用。

如果您使用外部系统创建特征,请注意,外部系统有其自己的目标。外部系统的目标与您当前的目标之间可能仅存在一点点关联。如果您获取外部系统的某个瞬间状态,它可能就会过期。如果您从外部系统更新特征,则特征的含义可能会发生变化。如果您使用外部系统提供特征,请注意,采用这种方法需要非常小心。

因子模型和深度模型的主要问题是,它们是非凸模型。因此,无法保证能够模拟或找到最优解决方案,且每次迭代时找到的局部最小值可能不同。这种变化导致难以判断系统发生的某次变化的影响是有意义的还是随机的。通过创建没有深度特征的模型,您可以获得出色的基准效果。达到此基准后,您可以尝试更深奥的方法。

 18 条规则:探索可跨情境泛化的内容的特征。

机器学习系统通常只是更大系统中的一小部分。例如,想象热门信息中可能会使用的帖子,在其显示到热门信息之前,很多用户已经对其进行 +1、转发或评论了。如果您将这些统计信息提供给学习器,它就会对在正在优化的情景中没有数据的新帖子进行推广。 YouTube的“接下来观看”可以使用来自 YouTube 搜索的观看次数或连看次数(观看完一个视频后观看另一个视频的次数)或明确的用户评分来推荐内容。最后,如果您将一个用户操作用作标签,在其他情境中看到用户对文档执行该操作可以是很好的特征。借助所有这些特征,您可以向该情境中引入新内容。请注意,这与个性化无关:先弄清楚是否有人喜欢此情境中的内容,然后再弄清楚喜欢程度。

 19 条规则:尽可能使用非常具体的特征。

对于海量数据,学习数百万个简单的特征比学习几个复杂的特征更简单。正在被检索的文档的标识符以及规范化的查询不会提供很多泛化作用,但可以让您的排名与频率靠前的查询的标签保持一致。因此,请不要害怕具有以下特点的特征组:每个特征适用于您的一小部分数据但总体覆盖率在 90% 以上。您可以使用正则化来消除适用样本过少的特征。

 20 条规则:组合和修改现有特征,以便以简单易懂的方式创建新特征。

 

有多种方式可以组合和修改特征。借助 TensorFlow 等机器学习系统,您可以通过转换对数据进行预处理。最标准的两种方法是“离散化”和“组合”。

“离散化”是指提取一个连续特征,并从中创建许多离散特征。以年龄这一连续特征为例。您可以创建一个年龄不满 18 周岁时其值为 1 的特征,并创建年龄在 18-35 周岁之间时其值为 1 的另一个特征,等等。不要过多考虑这些直方图的边界:基本分位数给您带来的影响最大。

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

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