多国模式或单一模式

数据挖掘 机器学习 深度学习 线性回归 xgboost 数据产品
2021-09-29 06:10:28

我正在研究一种机器学习模型,该模型将部署在在许多国家/地区运营的产品中。

我遇到的问题如下:我应该

  • 训练一个模型并为所有国家服务?
  • 每个国家训练一个模型并在其国家服务每个模型?

我已经多次遇到这个问题,对我来说,在学习中需要权衡:在第一种情况下,模型有更多的数据要学习,而且它会更健壮(而且,解决方案更简单) . 在第二种情况下,我将为每个国家/地区提供更量身定制的模型,并且能够看到特定于该国家/地区的效果。

我很想知道是否有中间解决方案——一个带有一些特定国家微调的通用模型,它可以查看所有数据,但也专门针对每个特定国家。如果我使用神经网络,这种微调是很自然的——你用所有数据训练一些时期,然后是每个特定国家的最后一个时期。我想知道是否可以在线性回归模型和 Xgboost 中做类似的事情,这是我通常使用的模型。

有这方面的文献吗?我认为这是一个通用的话题,应该有一些。

4个回答

Hinton 的论文 - Distilling the Knowledge of Neural Networks中,在定义专业模型时提到了以下内容(第 5 节):

当类的数量非常大时,将繁琐的模型作为一个集成是有意义的,它包含一个在所有数据上训练的通用模型和许多“专业”模型,每个模型都在高度丰富的数据上进行训练示例来自一个非常容易混淆的类子集(比如不同类型的蘑菇)。

他们所做的是首先使用通用模型,然后使用专家模型分别关注类的不同子集。

您可以将您的问题视为类似的问题,而不是课程的专家和国家/地区的专家。这样你就可以建立一个国家(国家集群)特定的模型集合。

我认为决定这一点的唯一客观标准是简单地比较候选方法在验证数据上的性能。

话虽如此,如果我在没有任何其他信息的情况下盲目地预先选择该方法,我会选择一个模型,该模型知道每条数据的国家/地区。这将让它模拟每个国家的特点,同时从组合的训练数据中获利。

如果您有理由相信由于某些国家/地区的内在差异,这会损害全球性能,您可以应用boosting,从而让分类器的性能自己说话。

我没有理论资源来证实这一点,但我认为可以在整个数据集上以有限的自由度(高正则化)训练第一个模型,并具有可以让您捕捉全球趋势的共同特征和然后在残差上训练局部模型。

我认为你可以做的最重要的事情来弥合这两个假设是将国家作为变量包含在全球模型中。

如果存在任何特定于国家/地区的影响,它们将被简单地建模为全球模型中的相互作用。无论如何,这就是模型处理任何其他变量的方式,为什么国家应该有所不同?

我认为如果数据严重不平衡,问题会更加复杂,例如某些产品只在一个国家销售,等等。然而,这只会在训练全球模型无论如何都不可行的时候成为问题。