【发布时间】:2014-01-02 05:33:18
【问题描述】:
我在 MATLAB 中使用 652,500 个数据点训练了我的 artificial neural network (ANN),在另一个盲测(652,100 个数据点 - 对于全新的输入数据集)中,输出非常好(如我所愿)。但是当我插入的数据量非常少(例如,低于 50 个数据点)时,就会出现问题。输出很意外,我检查了很多次。
更准确地说,训练阶段包含 10% 的数据用于训练,45% 用于验证,45% 用于测试。训练非常成功,对于大量的新输入数据,效果非常好。问题是当非常有限的数据(与训练数据点相比)被插入神经网络时,它显示出非常不切实际的输出,超出了训练的范围。
为什么会这样?有人可以在这个问题上点亮一些棚子吗?
另外请提一下,对于训练和最终测试数据点是否有任何严格的(硬性和快速的)规则?例如:应该/必须在新的输入数据集中引入多少百分比的训练数据。我想问题是我的网络高估或低估了输出,因为与训练阶段相比,它接收到的数据百分比非常低。
【问题讨论】:
-
在您拆分训练/验证/测试之前尝试改组数据,并查看该行为是否反复出现。可能是在“数据有限”的情况下,数据空间没有正确覆盖用于测试的数据,并且当您有更多数据进行测试时,这些错误在平均值中被其他错误“掩盖”。跨度>
-
我理解你的逻辑,非常感谢。我的数据集已经洗牌了。
标签: matlab machine-learning neural-network