神经网络 07(正则化)

一、正则化

在设计机器学习算法时不仅要求在训练集上误差小,而且希望在新样本上的泛化能力强。许多机器学习算法都采用相关的策略来减小测试误差,这些策略被统称为正则化。因为神经网络的强大的表示能力经常遇到过拟合 ,所以需要使用不同形式的正则化策略

正则化通过对算法的修改来减少泛化误差 ,目前在深度学习中使用较多的策略有参数范数惩罚,提前终止,DropOut等,接下来我们对其进行详细的介绍。

1.1 L1和L2正则化

L1和L2是最常见的正则化方法。它们在损失函数 (cost function)中增加一个正则项,由于添加了这个正则化项,权重矩阵的值减小,因为它假定具有更小权重矩阵的神经网络导致更简单的模型。因此,它也会在一定程度上减少过拟合。然而,这个正则化项在L1和L2中是不同的。

它是一个需要优化的超参数。L2正则化又称为权重衰减,因为其导致权重这里的入是正则化参数,趋向于0(但不全是0)。

这里,我们惩罚权重矩阵的绝对值。其中,入为正则化参数,是超参数,**不同于L2,权重值可能被减少到0.**因此,L1对于压缩模型很有用。其它情况下,一般选择优先选择L2正则化。

1.2 dropout 正则化

dropout是在深度学习领域最常用的正则化技术。Dropout的原理很简单: 假设我们的神经网络结构如下所示,在每个迭代过程中,随机失活某些节点,并且删除前向和后向连接。

因此,每个迭代过程都会有不同的节点组合,从而导致不同的输出,这可以看成机器学习中的集成方法 (ensemble technique)。集成模型一般优于单一模型,因为它们可以捕获更多的随机性。相似地,dropout使得神经网络模型优于正常的模型。

python 复制代码
tf.keras.layers.Dropout(rate)

rate 每一个神经元被丢弃的概率

1.3 早停

提前停止 (early stopping) 是将一部分训练集作为验证集 (validation set)。当验证集的性能越来越差时或者性能不再提升,则立即停止对该模型的训练。这被称为提前停止。

在上图中,在虚线处停止模型的训练,此时模型开始在训练数据上过拟合

1.4 批标准化

批标准化(BN层,Batch Normalization)是2015年提出的一种方法,在进行深度网络训练时,大多会采取这种算法,与全连接层一样,BN层也是属于网络中的一层

BN层是针对单个神经元进行,利用网络训练时一个 minibatch 的数据来计算该神经元xi 的均值和方差,归一化后并重构,因而称为 Batch Normalization。在每一层输入之前,将数据进行BN,然后再送入后续网络中进行学习:

然后在使用变换重构 ,引入了可学习参数Y、B,如果各隐藏层的输入均值在靠近0的区域,即处于激活函数的线性区域不利于训练非线性神经网络,从而得到效果较差的模型。

因此,需要用Y和B对标准化后的结果做进一步处理:

相关推荐
lucky_lyovo2 小时前
自然语言处理NLP---预训练模型与 BERT
人工智能·自然语言处理·bert
fantasy_arch2 小时前
pytorch例子计算两张图相似度
人工智能·pytorch·python
AndrewHZ4 小时前
【3D重建技术】如何基于遥感图像和DEM等数据进行城市级高精度三维重建?
图像处理·人工智能·深度学习·3d·dem·遥感图像·3d重建
飞哥数智坊4 小时前
Coze实战第18讲:Coze+计划任务,我终于实现了企微资讯简报的定时推送
人工智能·coze·trae
Code_流苏4 小时前
AI热点周报(8.10~8.16):AI界“冰火两重天“,GPT-5陷入热议,DeepSeek R2模型训练受阻?
人工智能·gpt·gpt5·deepseek r2·ai热点·本周周报
赴3355 小时前
矿物分类案列 (一)六种方法对数据的填充
人工智能·python·机器学习·分类·数据挖掘·sklearn·矿物分类
大模型真好玩5 小时前
一文深度解析OpenAI近期发布系列大模型:意欲一统大模型江湖?
人工智能·python·mcp
双翌视觉5 小时前
工业视觉检测中的常见的四种打光方式
人工智能·计算机视觉·视觉检测
念念01075 小时前
基于MATLAB多智能体强化学习的出租车资源配置优化系统设计与实现
大数据·人工智能·matlab
nonono5 小时前
深度学习——常见的神经网络
人工智能·深度学习·神经网络