赞
踩
在我们做监督学习训练时,主要应用的思想是“最小化损失函数的同时规则化参数”, 最小化损失函数的目的是降低训练误差,拟合训练数据,参数的正则化是使得模型不过分拟合训练数据,提高模型的泛化能力。同时,规则化可以使模型具有很多其他的特性,可以将人的先验知识加入到模型之中,比如稀疏,低秩等。目前有几种角度看待规则化:
1:奥卡姆剃刀原则,规则化使得模型简单
2:贝叶斯分布角度,是加入了一个先验分布,L1是拉普拉斯分布,L2是高斯分布
3:结构风险最小化的实现
机器学习中的目标函数的普遍形式如下:
w
∗
=
a
r
g
m
i
n
∑
i
L
(
y
i
,
f
(
x
i
,
w
)
)
+
α
Ω
(
w
)
w^*=argmin\sum_{i}L(y_i,f(x_i,w))+\alpha\Omega(w)
w∗=argmini∑L(yi,f(xi,w))+αΩ(w)
其中
Ω
(
w
)
\Omega(w)
Ω(w)的选择是关于模型复杂度的单调递增函数,所以可以采用L0, L1,L2等范数进行计算。
L0范数是计算机非零元素的个数,可以使得参数w直接为0,可以直接地实现模型的稀疏性,但是在我们看到的模型中,都全部采用L1范数来实现模型的稀疏性。原因是L0范数的求解是NP难问题,而L1范数是它的凸近似,所以采用了L1范数近似。L1范数被称为“稀疏规则算子”。那么,为什么要实现模型的稀疏性:
L2范数也被称为“权重衰减”和“岭回归”,L2的主要作用是解决过拟合,L2范数是所有权重的平方开方和,最小化L2范数,使得权重趋近于0,但是不会为0。那么为什么参数的值小,就能避免过拟合。模型的参数比较小,说明模型简单,泛化能力强。参数比较小,说明某些多项式分支的作用很小,降低了模型的复杂程度。其次参数很大,一个小的变动,都会产生很大的不同。那么L2范数的好处:
1:下降的速度
L1,L2都是规则化的方式,最小化目标函数,类似于一个下坡的过程,所以它们下降的坡不同,L1是按照绝对值函数下坡,L2是按照二次函数下坡,在0附近,L1的速度更快。
2:模型空间的限制
L1会将模型限制一个正方形区域,L2将模型限制在一个圆的区域,二维情况如图所示:
其中L1的限制,使得大部分都在角的部分相交,就使得某些参数为0,而L2没有突出的角,所以不能使得参数为0。总结就是L1会使得某些参数为0,具有稀疏性,而L2没有这个功能,使得参数的值比较小去降低过拟合。
在正则化前面的是一个超参,控制着训练误差与参数规则化之间的权重关系,调超参是个很困难的事情,两种方法吧:
1:交叉验证,通过验证结果确定超参;
2:首先计算出大概loss的取值范围和规则化的参数范围,缩小搜索的空间。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。