为意外做好准备

如何将您的模型应用于它从未见过的输入。

来源:Another Datum

我们使用机器学习解决的一些问题涉及代表现实世界对象的分类特征,例如单词、项目和类别。那么,当我们在推理时获得从未见过的新对象值时会发生什么?我们如何提前做好准备,以便仍然可以理解输入?

未见值,也称为 OOV(词汇表之外)值,必须正确处理。不同的算法有不同的方法来处理 OOV 值。对分类特征的不同假设也应该区别对待。

在这篇文章中,我将重点介绍深度学习应用于动态数据的情况,其中新值一直出现。我将使用 Taboola 的推荐系统作为示例。模型在推理时获得的一些输入包含未见值——这在推荐系统中很常见。示例包括:

    项目 ID:每个可推荐项目都有一个唯一标识符。每天都有成千上万的新项目进入系统。广告商 ID:赞助内容由广告商创建。与新项目的数量相比,每日新增广告商的数量要少得多。尽管如此,正确处理它们非常重要,特别是因为我们想要支持新的广告商。
  • 项目 ID:每个可推荐项目都有一个唯一标识符。每天都有成千上万的新项目进入系统。
  • 广告商 ID:赞助内容由广告商创建。与新项目的数量相比,每日新增广告商的数量要少得多。尽管如此,正确处理它们非常重要,特别是因为我们想要支持新的广告商。
  • 那么 OOV 值的挑战是什么?

    学习处理 OOV 值

    OOV 值与模型在训练时未看到的值相关联。因此,如果我们在推理时获得 OOV 值,模型将不知道如何处理它。

    问题解决了……还是?

    处理 OOV 值很难!

    协同过滤

    随机性是数据科学家最好的朋友

    最后的想法

    engineering.taboola.com