neural-network - 我应该如何解释不会过度拟合的神经网络?

标签 neural-network weka

我正在使用 WEKA 的 MultilayerPerceptron 实现对各种分类数据集进行一些实验。随着训练迭代次数(epochs)的增加,我期望能够观察到过度拟合。然而,尽管让 epochs 的数量增长相当大(15k),但我还没有看到它。我应该如何解释这个?请注意,我没有在训练集或测试集上达到 100% 的准确率,所以并不是问题太简单了。

我想到的一些想法是:

  • 我只是没有等到足够长的时间
  • 我的网络不够复杂,不会过拟合
  • 我的数据实际上不包含任何噪声,但对目标函数的描述不够
  • 我没有正确使用 WEKA 中的评估类
  • 我的测试数据集已经泄露到我的火车集中(不过我 99% 确定它没有)

我在每个 epoch 之后运行以下命令(我修改了 MultilayerPerceptron 使其具有“EpochListener”,但除此之外没有其他更改:

    Evaluation eval = new Evaluation(train);
    eval.evaluateModel(ann, train);
    System.out.println(eval.pctCorrect());
    eval.evaluateModel(ann, test);
    System.out.println(eval.pctCorrect());

火车的准确性似乎趋于平稳,我从未见过测试准确性开始大幅下降。

最佳答案

您能稍微描述一下您的网络和数据吗?你的数据有多少维度?您的网络中有多少个隐藏层,有多少个节点?

我最初的想法是,如果您有一个相当简单的数据集、大量数据和一个相当简单的网络,您的网络就不会有足够多的替代假设来过度拟合。

关于neural-network - 我应该如何解释不会过度拟合的神经网络?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25562247/

相关文章:

java - 如何在 weka 中获取实例的谓词值?

machine-learning - 赫布学习

algorithm - 创建一个沿行和列具有常量和的二维二进制矩阵

python - tensorflow 中嵌入层的输出是什么?GlobalAveragePooling1D 的作用是什么?

algorithm - weka 中有哪些算法可以自动对数据集的特征进行加权?

java - Weka J48分类测试实例和返回值

neural-network - 神经网络中的前向和后向传递是什么?

algorithm - 神经网络基础

cluster-analysis - 在weka中构建推荐系统

java - 在weka中组合多个保存的分类器