我是机器学习的新手,我想就模型泛化问题提一个问题。在我的案例中,我将生产一些机械部件,我对控制输入参数以在最终部件上获得特定属性感兴趣。
更具体地说,我对8个参数(假设为P1, P2, …, P8)感兴趣。为了优化所需生产部件的数量以最大化探索的参数组合,我将问题分成了两组。对于第一组部件,我将改变前4个参数(P1 … P4),而其他参数保持不变。在第二种情况下,我将做相反的操作(变量P5 … P8,常量P1 … P4)。
所以我想知道是否可能创建一个单一的模型,将这八个参数作为输入来预测最终部件的属性。我问这个问题是因为由于我不是同时改变所有8个变量,我认为可能需要为每组参数做一个模型,而且两个不同模型的预测可能无法相互关联。
提前感谢。
回答:
在大多数情况下,拥有两个不同的模型会比一个大模型有更高的准确性。原因是,在局部模型中,模型只会查看4个特征,并且能够识别这些特征之间的模式来进行预测。
但是,这种特定方法几乎肯定无法扩展。现在你只有两组数据,但如果数据增加,你有20组数据。你将无法在生产中创建和维护20个机器学习模型。
对于你的情况,最适合的方法需要一些实验。从数据中随机抽取样本并训练机器学习模型。使用一个大模型和两个局部模型,并评估它们的性能。不仅要看准确性,还要看它们的F1分数、AUC-PR和ROC曲线,以找出最适合你的方法。如果你没有看到性能大幅下降,那么对于整个数据集使用一个大模型将是更好的选择。如果你知道你的数据总是会分为这两组,并且你不关心可扩展性,那么选择两个局部模型。