在精密神经网络的情况下增加
测试用例训练数据的数量是否会导致问题(例如过度拟合)..?增加
测试用例训练数据的数量总是好的吗?这总是会导致转换吗?如果不是,这些情况是什么..举个例子会更好..
谢谢,
在精密神经网络的情况下增加测试用例训练数据的数量是否会导致问题(例如过度拟合)..?
增加测试用例训练数据的数量总是好的吗?这总是会导致转换吗?
如果不是,这些情况是什么..举个例子会更好..
谢谢,
当您说“测试用例”时,我会假设您正在谈论数据实例。
我们来看几个场景:
假设您有一个包含 1000 个实例的训练数据集,并且它们彼此都非常相似,但是您的资格数据集中的实例与您的训练数据有很大不同。例如,您在尝试估计函数时遇到问题y = mx + b
。
假设您的一些数据集为您提供了帮助您估计的样本,m
而另一些则帮助您估计b
。如果你为你的神经网络提供 1000 个样本来帮助你估计b
,但只有 5 个样本可以帮助你估计m
,那么你的神经网络在估计时的表现会很差m
。您将过度拟合您的神经网络,并且添加更多帮助您估计的样本b
将没有任何帮助。
现在假设您的数据集中的数据实例按比例分布(请注意,我没有说equal)......并且您希望它们成比例,因为您可能需要m
比您需要的更多的数据实例来估计估计b
。现在您的数据相对同质,添加更多样本将为您提供更多机会,帮助您更好地估计函数。从y = mx + b
技术上讲,您可以拥有无限数量的数据实例(因为线在两个方向上都是无限的),这可能会有所帮助,但存在收益递减点。
在该y = mx + b
示例中,您可以拥有无限数量的数据实例,但如果您可以估计具有 1,000 个实例的函数,那么向您的数据集中再添加 100,000 个数据实例可能没有用。在某些时候,添加更多实例不会导致更好的适应度,因此收益递减。
现在假设您正在尝试估计像 XOR 这样的布尔函数:
A B A XOR B
1 1 0
1 0 1
0 1 1
0 0 0
在这种情况下,您根本无法添加更多数据,添加更多数据也没有任何意义……只有四个有效数据实例,这就是您所拥有的全部。对于此示例,根本没有必要添加更多数据实例。
通常,添加更多数据实例将直接取决于您的问题:一些问题可能会从更多数据实例中受益,而其他问题可能会受到影响。您必须分析您的数据集,并且您可能必须对您的数据集做一些事情,以使您的样本更能代表真实世界的数据。你必须研究你试图解决的问题,了解它的领域,了解它拥有的数据样本,并且你必须做出相应的计划……在机器学习/人工智能中没有万能的解决方案。
过拟合问题是指构建具有许多神经元的网络,因此当您意识到训练过程中网络调整“太好”。换句话说,它就像拟合等级 n 的多项式,并且您的数据大小为 m,其中 n 在 m 附近大于 o。由于您在函数中有这么多等级,因此拟合会更好,但这并不意味着这条曲线是最好的。神经网络发生了同样的事情,神经元和错误之间的关系正在减少,更像是一个微笑。
没有证据表明更多的数据会导致更多的错误,但一些作品使用主成分对数据进行预分析以捕获更好的关系。