训练数据集质量下降(谷歌数据科学博客)

数据挖掘 数据集 训练 偏见
2022-02-27 03:38:33

我有一个复杂的算法,它决定什么时候应该在我们网站上向只购买广告的客户显示,在他们登录后,希望他们会购买广告中的内容。我们无法控制广告中的内容,因为我们公司的另一个部门负责处理 - 我们的模型只选择向谁展示广告(我们希望尽可能少地向哪些人展示广告,因为否则我们只会用广告冒犯客户;这意味着不要将广告展示给有意购买东西的人,只向那些如果没有看到广告就不会购买任何东西的人展示广告) . 该模型使用训练数据进行训练,我们随机向一些人展示广告,而另一些则没有,并记录他们各自的反应。

该模型的初始实现正在现场运行,并且在分类向哪些人展示广告方面表现良好。但是每天都会获取新数据,并且每隔几天使用整个数据集(每次再训练变得更大)对模型进行重新训练。但是担心如果我们继续这样做,它的性能可能会下降,因为当前模型实例会影响传入的新数据,这些数据用于训练未来的模型实例: 不会随机显示广告的客户百分比只有当模型相信他们会购买广告上的东西时,才会有越来越多的客户数据显示在广告中。

我们担心我们的数据在未来会变得有偏见是否正确?

[非官方的Google 数据科学博客][2]的“在训练中使用随机化”部分可能包含有关此问题的有用信息,但不幸的是,这对我来说太技术性了,无法理解所有这些。除了消息“是的,担心这个:但继续随机发送一小部分广告,你会没事的”,我得到了,我还能做些什么来减少这个问题?

1个回答

这里有一些要考虑的事情。你可能已经在做其中的一些,但很难说。

  1. 当新数据到达时,将它们添加到您的数据库中。随机抽样并替换您的数据库。在所有其他条件相同的情况下,取 2/3 样品并保留 1/3 用于测试。记录训练误差和预测误差。
  2. 每隔一段时间,获取过去的训练数据集并仅测量新数据样本的预测误差。
  3. 准备训练误差、当代预测误差和训练后预测误差的时间序列。
  4. 寻找趋势和时间自相关。
  5. 考虑对所提供产品的需求可能存在季节性。
  6. 考虑市场变化(新竞争者的进入、替代品、价格点)

这只是30,000英尺的景色。如果不了解更多关于您的模型,很难说更多。

祝你好运。