而正则化前面的系数α,可以控制L图形的大小 。α越小,L的图形越大(上图中的黑色方框);α越大,L的图形就越?。梢孕〉胶谏娇蛑怀鲈惴段б坏愕悖馐亲钣诺愕闹?w1,w2)=(0,w)中的w可以取到很小的值 。
类似 , 假设有如下带L2正则化的损失函数:
J=J0+α∑ww2(2)
同样可以画出他们在二维平面上的图形,如下:
图2L2正则化
二维平面下L2正则化的函数图形是个圆,与方形相比,被磨去了棱角 。因此J0与L相交时使得w1或w2等于零的机率小了许多,这就是为什么L2正则化不具有稀疏性的原因 。
L2正则化和过拟合
拟合过程中通常都倾向于让权值尽可能小 , 最后构造一个所有参数都比较小的模型 。因为一般认为参数值小的模型比较简单,能适应不同的数据集,也在一定程度上避免了过拟合现象 。可以设想一下对于一个线性回归方程,若参数很大 , 那么只要数据偏移一点点,就会对结果造成很大的影响;但如果参数足够?。?数据偏移得多一点也不会对结果造成什么影响,专业一点的说法是『抗扰动能力强』 。
那为什么L2正则化可以获得值很小的参数?
以线性回归中的梯度下降法为例 。假设要求的参数为θ,hθ(x)是我们的假设函数,那么线性回归的代价函数如下:
J(θ)=12m∑i=1m(hθ(x(i))?y(i))(3)
那么在梯度下降法中,最终用于迭代计算参数θ的迭代式为:
θj:=θj?α1m∑i=1m(hθ(x(i))?y(i))x(i)j(4)
其中α是learning rate. 上式是没有添加L2正则化项的迭代公式,如果在原始代价函数之后添加L2正则化,则迭代公式会变成下面的样子:
θj:=θj(1?αλm)?α1m∑i=1m(hθ(x(i))?y(i))x(i)j(5)
其中 λ就是正则化参数。从上式可以看到,与未添加L2正则化的迭代公式相比,每一次迭代 , θj都要先乘以一个小于1的因子,从而使得θj不断减小,因此总得来看,θ是不断减小的 。
最开始也提到L1正则化一定程度上也可以防止过拟合 。之前做了解释,当L1的正则化系数很小时,得到的最优解会很小 , 可以达到和L2正则化类似的效果 。
正则化参数的选择
L1正则化参数
通常越大的λ可以让代价函数在参数为0时取到最小值 。下面是一个简单的例子,这个例子来自 Quora上的问答。为了方便叙述 , 一些符号跟这篇帖子的符号保持一致 。
假设有如下带L1正则化项的代价函数:
F(x)=f(x)+λ||x||1
其中x是要估计的参数,相当于上文中提到的w以及θ. 注意到L1正则化在某些位置是不可导的,当λ足够大时可以使得F(x)在x=0时取到最小值 。如下图:
图3 L1正则化参数的选择
分别取λ=0.5和λ=2,可以看到越大的λ越容易使F(x)在x=0时取到最小值 。
L2正则化参数
从公式5可以看到 , λ越大,θj衰减得越快 。另一个理解可以参考图2,λ越大,L2圆的半径越小 , 最后求得代价函数最值时各参数也会变得很小 。
Reference
过拟合的解释:
正则化的解释:
正则化的解释:
正则化的数学解释(一些图来源于这里):
原文参考:blog.csdn.net/jinping_shi/article/details/52433975
交叉熵损失函数是什么?平滑函数 。
交叉熵损失函数,也称为对数损失或者logistic损失 。当模型产生了预测值之后,将对类别的预测概率与真实值(由0或1组成)进行不比较,计算所产生的损失,然后基于此损失设置对数形式的惩罚项 。
在神经网络中 , 所使用的Softmax函数是连续可导函数,这使得可以计算出损失函数相对于神经网络中每个权重的导数(在《机器学习数学基础》中有对此的完整推导过程和案例 , 这样就可以相应地调整模型的权重以最小化损失函数 。
推荐阅读
- 直播桃子教程下载,直播桃子教程下载软件
- 重庆html5开发哪里好学,重庆前端开发培训机构
- linux发ns包的命令,linux 包转发
- pg数据库备份还原,pgadmin数据库备份还原
- mysql怎么换字段 mysql修改字段类型
- pg的sum函数,sum函数py
- phpcmsv9开发文档,php开发文档怎么写
- 视频号如何直播听歌,视频号如何直播听歌曲
- 宝塔php连不上数据库 宝塔访问不了数据库