我很想知道如何构造培训数据,以便将其扩展到不属于培训数据的示例。例如,我现在面临的问题是如何识别或区分从不同分布产生的时间序列的频率响应。所以我用高斯,均匀,泊松和一种颜色的噪声,比如粉红色,构造了p数的例子。白噪声例子(高斯、均匀和泊松)标记为1,有色噪声标记为0。利用神经网络进行分类,效果良好。现在我想做灵敏度分析,检查训练后的网络是否能将白噪声和其他分布的白噪声分类,比如红色。两次测试都失败了。NN没有对它们进行分类。但是,一旦我在训练数据中加入了红色和新型白噪声,并在不同的路径(时间序列)上进行测试,神经网络就可以对其进行分类。
问:这种行为让我怀疑机器学习算法是否无法区分不同系统中的示例,尽管测试中的示例具有与训练中使用的相似的特性。在这种情况下,虽然白噪声看起来很相似,但由于它们是从不同的分布或说系统产生的,所以训练数据必须包括所有生成机制或系统的示例,否则在测试ML模型时无法识别它。这是通常的行为吗?
发布于 2019-08-26 07:23:14
管理机器学习的基本假设之一是,来自培训集的样本必须遵循与测试集中的样本相同的基本分布(以及您想要输入到模型中的任何其他样本)!
这就是为什么,通常,我们将相同的数据集随机地划分为训练集和测试集。
这实际上是ML模型在某些实际应用程序中表现不佳的主要原因之一。您可能已经在特定的数据集中对模型进行了培训,但超时时,数据稍微改变了其特性,新数据与用于培训已部署模型的旧数据有所不同。在这种情况下,您需要在新数据上重新培训您的模型。
https://datascience.stackexchange.com/questions/58184
复制