加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 湛江站长网 (https://www.0759zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

利用Keras中的权重约束减少深度神经网络中的过拟合

发布时间:2020-07-15 16:39:13 所属栏目:创业 来源:站长网
导读:副标题#e# 权重约束提供了一种方法,用于减少深度学习神经网络模型对训练数据的过度拟合,并改善模型对新数据(例如测试集)的性能。有多种类型的权重约束,例如最大和单位向量规范,有些需要必须配置的超参数。 在本教程中,您将发现Keras API,用于向深度

运行该示例会创建一个散点图,显示每个类中观察的半圆形或月亮形状。我们可以看到点的分散中的噪音使得卫星不太明显。

利用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版本。

(编辑:PHP编程网 - 湛江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读