如果嵌套模型在相同数据上训练,是否过度拟合

时间:2018-11-06 06:38:33

标签: machine-learning

如果我构建了一个机器学习模型,当它使用另一个机器学习模型的输出,而两个模型都在相同的数据上训练时,它是否过拟合? 基本上,我想知道是否可以将KNN预测结果用作深度神经网络模型的输入,而两个模型都在相同的数据上训练。

1 个答案:

答案 0 :(得分:1)

嵌套机器学习模型是可能的。例如,神经元网络可以看作是多个嵌套的感知器(请参见https://en.wikipedia.org/wiki/Perceptron)。

不过,您是对的-嵌套机器学习模型会增加整个机器学习系统的VC维度(https://en.wikipedia.org/wiki/VC_dimension),从而增加了过拟合的风险。

在实践中,经常使用交叉验证以减少过度拟合的风险。

编辑:

@MatiasValdenegro +1指向我在回答中没有明确指出的一点。确实,纯交叉验证只能用于检测过度拟合。

但是,当我们训练某些机器学习系统(如神经网络)时,可以使用某种交叉验证,以降低过度拟合的风险。为了做到这一点,我们简单地丢弃例如培训数据的10%用于培训。然后,在每个训练回合之后,根据丢弃的训练数据评估受过训练的机器学习系统。一旦经过训练的神经元网络在废弃部分变得越来越糟,训练算法便会停止。例如,这是通过python pybrain(http://pybrain.org/)库完成的。