时代如何影响深度学习模型?

时间:2017-07-03 02:55:27

标签: r machine-learning deep-learning h2o

我用h2o构建了一个简单的深度学习回归模型(下图)。该模型预测R iris数据集中的萼片长度。我注意到随着时间的推移,模​​型精度(r ^ 2)增加(图1)。

通过增加时代数量,我是否会以有害的方式过度拟合模型,还是以有益的方式提高模型的准确度?

library(datasets)
library(h2o)

df <- iris

df.hex <- as.h2o(df)

model <- h2o.deeplearning(x = 2:5, y = 1, df.hex,
                          hidden = c(200, 200, 200, 200, 200),
                          epochs = 5,
                          variable_importances=T)

perf_dl <- h2o.performance(model)
rsq_dl <- h2o.r2(perf_dl)

图1

enter image description here

# Note this code plots the data from the deep learning runs in the previous code
library(ggplot2)

df <- data.frame(epochs = c(5, 10, 100, 300, 500, 1000, 2000, 3000, 5000), rsq = c(0.77, 0.70, 0.57, 0.75, 0.87, 0.92, 0.97, 0.96, 0.98))

p <- ggplot(df, aes(epochs, rsq))
p + geom_point(aes(size = 7)) + stat_smooth(method = "lm", formula = y ~ x + I(x^2), size = 1)

2 个答案:

答案 0 :(得分:1)

在这种情况下通常显示的典型图像是

enter image description here

请注意,最佳位置(图像中的50个时期)取决于网络,问题和数据。确定何时停止是一个尚未解决的问题,但提早停止是一种流行的选择。

来源:我尚未发表,但已完成硕士论文。由于我大学的官僚主义原因,它现在不公开。

答案 1 :(得分:1)

梯度下降是一种优化过程,它以迭代方式更新神经网络中的权重。如果我们将网络训练几个时期,则会导致数据拟合不足。这意味着神经网络无法捕获数据的潜在趋势。 现在,随着我们增加纪元的数量,它将达到最佳状态,我们将在训练集上获得最大的准确性。在此阶段之后,如果我们继续增加时期数,将导致数据过度拟合。也就是说,训练集的准确性提高了,而验证集的准确性降低了。这意味着网络无法反映数据的真实性,因为它也捕获了数据中的噪声。

因此,答案是我们无法预先说出训练神经网络的时期数,以使其发挥最佳性能。这是一个需要调整的高压计。我们只能使用一些启发式方法并修复一些时期来训练神经网络,同时监视训练和验证集的准确性。

因此,在结论中,用于训练神经网络的时期数因一个问题而异,因为它与数据集和所使用网络的复杂性高度相关。它是神经网络训练过程中需要调整的超参数之一。