辍学训练神经网络的模型选择

时间:2014-12-05 21:59:31

标签: machine-learning artificial-intelligence neural-network

我一直在研究神经网络,并且最近了解了丢失训练算法。有很多优秀的论文可以理解它的工作原理,包括作者的论文。

所以我建立了一个带有辍学训练的神经网络(这很容易),但我对如何进行模型选择感到困惑。根据我的理解,看起来像辍学是一种在训练通过模型选择获得的最终模型时使用的方法。

至于测试部分,论文总是讨论使用具有减半权重的完整网络,但他们没有提到如何在训练/验证部分使用它(至少是我读过的部分)。

我正在考虑使用网络而不会丢失模型选择部分。说这让我发现网络对N神经元表现良好。然后,对于最后的训练(我用来训练测试部分的网络)我使用2N神经元,丢失概率p = 0.5。这确保我平均有N个神经元活跃,因此大多数时间使用正确容量的网络。

这是正确的做法吗?

顺便说一下,我知道丢失可能不是小数据集的最佳选择。我正在研究的项目有学术目的,所以我不需要使用最好的数据模型,只要我坚持使用机器学习良好实践。

1 个答案:

答案 0 :(得分:0)

首先,模型选择和特定模型的培训是完全不同的问题。对于模型选择,您通常需要一个完全独立于用于构建模型的训练集和用于估计其性能的测试集的数据集。因此,如果您正在进行交叉验证,则需要进行内部交叉验证(以训练模型并估计一般性能)和外部交叉验证以进行模型选择。

要了解原因,请考虑以下思想实验(从this paper无耻地窃取)。你有一个完全随机预测的模型。它有许多参数可以设置,但不起作用。如果您长时间尝试不同的参数设置,那么您最终会得到一个比其他模型具有更好性能的模型,因为您需要从随机分布中进行采样。如果您为所有这些模型使用相同的数据,则这是您将选择的模型。如果您有一个单独的测试集,它会很快告诉您没有实际效果,因为在模型构建阶段获得良好结果的此参数设置的性能在单独的集合上并不是更好

现在,回到具有辍学的神经网络。你没有提到任何特定的论文;我假设您的意思是Srivastava et。人。 " Dropout:防止神经网络过度拟合的简单方法"。我不是这方面的专家,但对我而言,这种方法似乎与随机森林或套袋中使用的方法类似,以减轻个别学习者在不同背景下反复应用的缺陷。 。如果我正确地理解了这个方法,基本上你最终得到的是几个可能的模型的平均值,非常类似于随机森林。

这是一种使个人模型更好的方法,但不能用于模型选择。辍学是一种调整单个神经网络模型的学习权重的方法。

要对此进行模型选择,您需要训练和测试具有不同参数的神经网络,然后对完全不同的数据集进行评估,如上面引用的论文所述。

相关问题