写作网站,中国建设网app,详情页设计风格,江苏省建设工程上岗证查询网站避免过拟合#xff1a;
1、增大数据集合 – 使用更多的数据#xff0c;噪声点比减少#xff08;减少数据扰动所造成的影响#xff09; 2、减少数据特征 – 减少数据维度#xff0c;高维空间密度小#xff08;减少模型复杂度#xff09; 3、正则化 / dropout / 数据增强…避免过拟合
1、增大数据集合 – 使用更多的数据噪声点比减少减少数据扰动所造成的影响 2、减少数据特征 – 减少数据维度高维空间密度小减少模型复杂度 3、正则化 / dropout / 数据增强 – 在缺少训练数据情况下
一、Dropout介绍 训练时随机人为丢弃一些神经单元 测试时使用全部神经单元
原理 1.取平均的作用相同训练数据训练5个不同的神经网络得到5个不同结果此时可以采用“5个结果取平均值”或“多数取胜投票策略”决定最终结果。 2.减少神经元之间复杂的公适应关系因为dropout程序导致两个神经元不一定每次都在一个dropout网络中出现。这样权值的更新不再依赖于固定关系的隐含节点的共同作用阻止了某些特征仅仅在其它特定特征下才有效果的情况。
Tf2实例
tf.keras.layers.Dropout(rate0.8)一般可以在Dense层之后添加Dropout层
二、正则化介绍
L1-norm和 l2-norm中文称作 L1正则化 和 L2正则化或者 L1范数 和 L2范数。 其中 w 就是线性变化中的参数。
对于线性回归模型使用L1正则化的模型建叫做Lasso回归使用L2正则化的模型叫做Ridge回归岭回归。
Tf2实例
# kernel_regularizer 计算的就是层参数的相应值l1、l2等tf.keras.layers.Dense(32, kernel_regularizertf.keras.regularizers.l2(1e-2))
tf.keras.layers.Dense(10, kernel_regularizertf.keras.regularizers.l1(1e-2))# 通过模型的lossed属性取到各个层的loss 最后加到损失函数计算的loss之中就行
model.losses
# [tf.Tensor: id241, shape(), dtypefloat32, numpy0.030209353,
# tf.Tensor: id249, shape(), dtypefloat32, numpy0.6088533]