加入正则化目的:防止过拟合。
本质原理:将权重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第二课总结, 不懂或者有想法欢迎提问!