利用Keras中的权重约束减少深度神经网络中的过拟合
运行该示例会创建一个散点图,显示每个类中观察的半圆形或月亮形状。我们可以看到点的分散中的噪音使得卫星不太明显。 这是一个很好的测试问题,因为类不能用一行来分隔,例如不是线性可分的,需要非线性方法,如神经网络来解决。我们只生成了100个样本,这对于神经网络而言很小,提供了过度拟合训练数据集的机会,并且在测试数据集上具有更高的误差:使用正则化的一个好例子。此外,样本具有噪声,使模型有机会学习不一致的样本的各个方面。 过度多层感知器 我们可以开发一个MLP模型来解决这个二进制分类问题。该模型将具有一个隐藏层,其具有比解决该问题所需的节点更多的节点,从而提供过度拟合的机会。我们还将训练模型的时间超过确保模型过度所需的时间。在我们定义模型之前,我们将数据集拆分为训练集和测试集,使用30个示例来训练模型,使用70个示例来评估拟合模型的性能。 X, y = make_moons(n_samples=100, noise=0.2, random_state=1) # split into train and test n_train = 30 trainX, testX = X[:n_train, :], X[n_train:, :] trainy, testy = y[:n_train], y[n_train:] 接下来,我们可以定义模型。隐藏层使用隐藏层中的500个节点和整流的线性激活函数。在输出层中使用S形激活函数以预测0或1的类值。该模型使用二元交叉熵损失函数进行优化,适用于二元分类问题和梯度下降的有效Adam版本。 (编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |