正则化

对于有限多个训练样本(可以把他们想象成二维空间中的点),能够拟合这有限多个训练样本的函数非常多,如何在这些能够拟合当前有限多个训练样本的目标函数中寻找一个能够较好拟合目标分布的函数

机器学习基石 ------正则化
我们可以看到穿过data的函数可以有很多种 有的比较简单 有的略微复杂
对于线性回归而言
机器学习基石 ------正则化
高次的线性回归的hypothesis set 包含低次线性回归的hypothesis set
其实低次的线性回归函数可以想象成高次的线性回归函数加上某一些限制
机器学习基石 ------正则化
如果将条件转化一下 不是限制w3到w10为0 而好似限制任意8个w为0 那么则可以转化为
机器学习基石 ------正则化
可以看到这样转化后新的Hypothesis 比H2要更加宽松一点 同时又比H10增加了一些限制
进一步转化 为了方便计算
机器学习基石 ------正则化
可以看出H©和H(2)是有重叠的部分 的 当满足H2的时候 只有3个w不为0 所以所有的w平方和应该比较小 同时满足H©的时候限制了w的大小 会促使其中若干的w为0 当然也有例外情况 即 每个w都很小 但都不是0

此时最小化原始的函数就转化为最小化具有一个限制的函数;
机器学习基石 ------正则化
我们知道求和符号 可以转化为两个向量的内积 可以表示为向量和矩阵的形式
可以想象当w为3维的时候其实在几何空间上所有满足的w都在一个以原点为球心 以根号C为半径的球里面
机器学习基石 ------正则化
可以想象 当w变化的方向沿着球的法向量方向变化则会逃脱C的限制 不符合要求 而此时的法向量方向即为w方向 为了能够满足限制 w变化的方向只能是沿着垂直于法向量的方向
当Ein梯度的方向在垂直于球的法向量方向上有分量的时候 即还可以继续优化接近Wlim
当在最好的解上时 Ein梯度的反方向一定是和 法向量平行的
所以可以设
机器学习基石 ------正则化
即通过一个λ参数 使得Ein梯度和法向量方向相加等于0 即平行
如果此时假设λ大于0
对于线性规划 Ein梯度具有闭式解
机器学习基石 ------正则化
机器学习基石 ------正则化
此时是WREG的线性方程式 将线性方程式的系数整理可得
机器学习基石 ------正则化
对于Ein(w)求最小 即求Ein(w)对于w的偏导数为0 那么反推 如果
机器学习基石 ------正则化
其实相当于求下式的最小值
机器学习基石 ------正则化
这样就可以将最小化下述式子
机器学习基石 ------正则化
转化为最小化:
机器学习基石 ------正则化
此时如果我们知道λ就相当于对原始式子限制C的大小 λ设置的越大 相当于得到越短的w

机器学习基石 ------正则化
VC 和 Augmented Error的区别
VC 表征的是整个hypothesis set的复杂度 而 Augmented Error 表征的是单一hypothesis的复杂度

机器学习基石 ------正则化

机器学习基石 ------正则化
L2 正则可微分 容易最优化
L1 是不可以微分的 较为难解 同时L1的解常常是稀疏的
对于L1正则也是一样的 看有没有求到最佳解 要看的就是梯度的反方向和法向量的方向是否平行

为什么L1可以实现参数稀疏化 L2可以实现避免过拟合

在这里 总结一下正则化范数 L0,L1,L2系数
首先是范数的概念:
范数是指某个向量空间中向量的长度或大小
对于 P>=1
机器学习基石 ------正则化
L0范数:严格来说 L0范数并不能称之为范数 其表示在向量空间中的向量 ∑ i [[ xi≠0]] 即向量中所有非零元素的个数
L1范数:表示向量中所有元素的绝对值的和
L2范数:表示向量中所有元素平方和再开根号

L0,L1,L2范数的特点:
L0:适合做特征选择和稀疏编码 因为通过最小化L0范数 可以得到最少最优的特征项 但是由于在实际中L0范数求解是NP难问题 不连续的非凸不可求导的 所以在实际中没有应用的价值
L1:是L0的最优凸近似 可以用来产生特征的稀疏矩阵
L2:在回归问题中 线性回归加上L2范数 被称作岭回归 同时L2范数也被称作权重衰减 weight decay 可以起到防止过拟合的作用

L1范数和L2范数的理解:
加入正则化系数相当于给目标函数加上一个约束 目标函数为 J(w)=L(y,f(w,x))
此时要做的是 min L(y,f(w,x))

为什么L1范数和L2范数分别能够起到参数稀疏化和避免过拟合的作用:
对于L1范数
在没有正则化的时候 要最小化代价函数 J(w)=L(y,f(x,w))
加上L1范数的时候 J(w)=L(y,f(w,x))+λ||w||1
对J(w)求wi的偏导数

J(w)wi=Lwi+λsign(wi)\frac{∂J(w)}{∂w_i} = \frac {∂L}{∂w_i}+λsign(w_i)

所以参数更新过程
wi=wiηLwiηλsign(wi) w_i=w_i -η\frac {∂L}{∂w_i}-ηλsign(w_i)
因为λ为正 所以当 wi为正时 更新相对于没有加正则更靠近0 同理为负也一样

对于L2范数
当多项式函数过拟合的时候 函数倾向于靠近噪声点 函数会倾向于在噪声点之间跳跃 这会导致在某些数据点处函数的斜率会很大对于多项式而言 函数导数的绝对值其实就是多项式系数的线性加和,所以过拟合的模型倾向于在某些函数导数的绝对值处取很大的值,因此 L2正则要做的就是想办法把这些参数值比较稠密的集中在0附近 防止出现在噪声点之间跳跃进而出现过拟合的现象

正则项 ΩF(w,x)=λ2nw2 Ω(F(w,x))=\frac{λ}{2n}||w||_2
J(w)wi=Lwi+λnwi\frac{∂J(w)}{∂w_i} = \frac {∂L}{∂w_i}+\frac{λ}{n}w_i

所以参数更新过程
wi=wiηLwiηλnwi=(1ηλn)wiηLwi w_i=w_i -η\frac {∂L}{∂w_i}-η\frac{λ}{n}w_i=(1-η\frac{λ}{n})w_i-η\frac {∂L}{∂w_i}
相当于将w进行了权重的衰减

机器学习基石 ------正则化

以只有两个参数的w1,w2为例 对于L1和L2范数而言 都是沿着各自法向量的方向向外扩张则正则项增大 向内收缩则正则项减小
目标函数是要在正则项的等值线和损失函数的等值线寻找一个交点 使得二者的和最小
直观上来看:
因为L1范数在空间中是一个有凸出的类球体 因此和损失函数的等值线相切的点 较易为凸出点
而L2范数在空间中是一个球切点易是各个分量相近的点,这也使得L2正则能够让各个分量稠密的聚集在0附近

进一步从感官上分析
机器学习基石 ------正则化
图中椭圆为J(w)的一条等高线 图中的圆为半径为根号C的l2范数球
对于圆上的一点w Ein关于w的梯度方向为蓝线所示 它可以分解为 垂直于l2范数球的法向量方向的绿线以及l2范数球的法向量方向红线 因为受到l2范数的限制 只能向绿线的方向更新 直到 梯度方向和L2范数球的法向量方向平行 w无法移动 得到最优解
因为平行 所有可得
机器学习基石 ------正则化
其中2λ/N为了方便计算
对其求积分可得
机器学习基石 ------正则化

对于L1范数也是一样
机器学习基石 ------正则化
w依旧只能沿着L1范数形成的菱形法向量切线的方向移动 当跨过顶点到w时梯度方向变成了右上方 这时w朝着右上方移动 直到稳定到顶点处

以最大后验概率的角度分析L1,L2范数
最大后验概率分析

在对数似然估计中
机器学习基石 ------正则化

当yi属于均值为wTxi方差为σ2的正态分布
机器学习基石 ------正则化

在最大后验概率中将w看成变量 假设也具有某种分布
机器学习基石 ------正则化
取对数可得
机器学习基石 ------正则化
P(w)的意义是对w的先验 即在什么都不知道的情况下假设w的分布
目的是为了求出最好的w 即在训练样本x,y的条件下找到最好的w即P(w|x,y)最大
在收集到训练样本{x,y}之后可根据在{x,y}的条件下w的后验概率

相关文章: