测试准确性与Weka的训练时间

时间:2017-11-29 23:48:39

标签: machine-learning classification weka

据我所知,当训练时间增加时(直到某一点),测试准确度会增加;但试验韦卡产生了相反的结果。我想知道是否误解了某些东西。 我使用diabetes.arff进行分类,70%用于训练,30%用于测试。我使用了MultilayerPerceptron分类器并尝试了100,500,1000,3000,5000的训练时间。 这是我的结果,

   Training time   Accuracy  
   100             75.2174 %
   500             75.2174 %
   1000            74.7826 %
   3000            72.6087 %
   5000            70.4348 %
   10000           68.6957 % 

这可能是什么原因?谢谢!

1 个答案:

答案 0 :(得分:1)

你有一个非常好的过度拟合的例子。

以下是发生的事情的简短说明:

您的模型(无论这是多层感知器,决策树还是字面上的任何其他内容)都可以通过两种方式拟合训练数据。

第一个是概括 - 模型试图找到模式和趋势并使用它们进行预测。第二个是记住训练数据集中的确切数据点。

想象一下计算机视觉任务:将图像分为两类 - 人类与卡车。优秀的模型将找到人类图片中存在的共同特征,但不会出现在卡车图片中(光滑的曲线,肤色表面)。这是一种概括。这样的模型将能够很好地处理新图片。糟糕的模型,过度拟合,只会记住精确的图像,训练数据集的精确像素,并且不知道如何处理测试集上的新图像。

你可以做些什么来防止过度拟合?

处理过度拟合的常用方法很少:

  1. 使用更简单的模型。使用更少的参数,模型很难记住数据集
  2. 使用正则化。约束模型的权重和/或在感知器中使用dropout。
  3. 停止培训过程。再次分割您的培训数据,这样您将拥有三部分数据:培训,开发和测试。然后仅使用训练数据训练模型,并在开发设置上的错误停止减少时停止训练。
  4. 关于过度拟合的良好起点是维基百科:https://en.wikipedia.org/wiki/Overfitting