神经网络L2正则化的应用

本文介绍了正则化在防止神经网络过拟合中的作用,其核心是通过减小权重来简化网络。加入L2正则化后的损失函数使权重更新时乘以一个小于1的数,从而降低权重对模型的影响,使得网络更倾向于学习到一般性的特征,避免过拟合。正则化项的求导与权重更新公式也进行了详细阐述,有助于理解正则化的数学原理。

加入正则化目的:防止过拟合
本质原理:将权重W乘上一个小于1的系数, 减小权重,简化网络。(因为过拟合的原因就是网络复杂,模型学到了一些催毛求疵的东西。。。)

证明:
step1:设模型损失函数值为J(w, b):
在这里插入图片描述

step2:加入正则化后损失函数值改变为 :
在这里插入图片描述
其中λ为正则化系数,是在验证模型效果后需要调节的超参数,那么为什么分母有个‘2’呢,你往下看step5, 加了这个‘2’后step5的求导结果就少了个数字了,只是为了求导的计算方便。
图中黑红为下标为2,其实按照吴恩达老师的理解来所不太正确,应该下标是F,他是另一个范数。为了简单理解,这里我写的为2, 个人感觉知道什么含义就好了,想弄懂的请看吴恩达deeplearningAI第二课正则化那节。

step3:假设原损失函数对W求导为:
在这里插入图片描述

step4:则权重W更新公式为:
在这里插入图片描述

step5:加入L2正则化的损失函数对W求导为:
在这里插入图片描述
其中λ/m*W 是step2加入的 ‘正则化项’ 求导而得。

step6:则权重W更新公式为:
在这里插入图片描述

通过上式红色波浪明显看出,加入正则化后W更新时乘了一个小于1的数(因为m一般情况下很大),W变小,则权重W对于神经网络的影响变小了。
为了通俗易懂的解释上句话,请看下图,你也就懂了开篇的本质原理了:
在这里插入图片描述
其中蓝色×代表因加入正则化导致权重W接近于0, 所以整体神经网络变得简单,防止了过拟合。

以上根据吴恩达老师deeplearningAI第二课总结, 不懂或者有想法欢迎提问!

### MATLAB中实现神经网络的L2正则化 在MATLAB中,L2正则化可以通过设置`trainNetwork`函数中的参数来实现。L2正则化通过在损失函数中添加权重平方的和,从而防止模型过拟合。以下是实现L2正则化的关键点和代码示例: #### 参数设置 在`trainingOptions`函数中,可以使用`L2Regularization`参数来指定正则化系数λ。该参数控制权重衰减的程度,值越大,权重越小,模型的复杂度越低[^1]。 ```matlab layers = [ imageInputLayer([28 28 1]) convolution2dLayer(5,20) reluLayer maxPooling2dLayer(2,'Stride',2) fullyConnectedLayer(10) softmaxLayer classificationLayer]; options = trainingOptions('sgdm', ... 'MaxEpochs',20, ... 'InitialLearnRate',0.001, ... 'L2Regularization',0.01); % 设置L2正则化系数为0.01 net = trainNetwork(trainingData,layers,options); ``` #### L2正则化的作用 L2正则化通过在损失函数中加入权重的平方项,使得模型倾向于选择较小的权重值,从而降低模型复杂度并提高泛化能力。然而,如果λ过大,可能会导致模型欠拟合,即高偏差问题[^4]。 #### 权重初始化 在训练神经网络之前,通常需要对权重进行随机初始化。这一步骤对于确保网络能够正常学习至关重要。MATLAB中的`trainNetwork`函数默认会对权重进行适当的随机初始化,以避免权值过大或过小导致的饱和问题[^2]。 #### 示例代码解释 上述代码展示了如何构建一个简单的卷积神经网络,并通过`trainingOptions`函数设置L2正则化参数。其中: - `imageInputLayer`用于定义输入数据的大小。 - `convolution2dLayer`和`reluLayer`分别用于定义卷积层和激活函数。 - `maxPooling2dLayer`用于降采样操作。 - `fullyConnectedLayer`定义全连接层。 - `softmaxLayer`和`classificationLayer`用于分类任务。 通过设置`L2Regularization`参数,可以在训练过程中引入L2正则化,从而有效防止过拟合。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值