范数与正则化

首先说明下范数和正则化的作用:为了使矩阵稀疏,作为惩罚项限制w矩阵参数值过大

当w为复杂矩阵时,也代表了w关注了更多的特征,因此当出现过拟合的时候我们应该尽可能使得w矩阵变得稀疏

范数正则化一般是用来解决过拟合问题的,L1正则化可以用来进行特征选择,正则化可以解决过拟合问题

在优化模型的时候,我们不仅要保证训练误差最小,我们更希望我们的模型测试误差小,所以我们需要加上第二项,也就是对参数w的规则化函数Ω(w)去约束我们的模型尽量的简单

$$ w^*=\mathop{\arg\min}_{w} = \sum_i L(y_i,f(x_i;w)) + \lambda \Omega(w) $$

L-P范数不是一个范数,而是一组范数,定义如下:

$$ L_p= \sideset{^p}{\sqrt{\sum^n_ix^p_i}} \ , x=(x_1,x_2,...,x_n) $$

当p = 0 和 1时:

1. L0范数

L0范数并不是一个真正的范数,它主要被用来度量向量中非零元素的个数

$$ L_0= \sideset{^0}{\sqrt{\sum^n_ix^0_i}} \ , x=(x_1,x_2,...,x_n) $$

因为实际上0不能开方,所以L0难以用数学式表示,故被人认为是一个NP难问题。所以在实际情况中,L0的最优问题会被放宽到L1或L2下的最优化。

2.L1范数

L1范数是指向量中各个元素绝对值之和,也有个美称叫“稀疏规则算子”(Lasso regularization)

L1范数也有一定的正则化能力,但是没有L2范数强

稀疏的原因是他在Wi=0的地方不可微

请输入图片描述

由图可见L1范数在w1=0处有角度,因此此处是不可导的

L1范式正则化更容易获得稀疏解

如图的L1范式中w2有值,w1取0,比起L2范式更稀疏

3.L2范数

L2范数是指向量各元素的平方和然后求平方根。L2正则化可以防止模型过拟合(overfitting)

4.联系与区别

总结:

  1. L1范式更容易获得稀疏解,L2的正则化能力更强。
  2. L1范式下降更快,L2的是坡度下降。

对于线性回归模型,使用L1正则化的模型建模叫做Lasso回归

对于线性回归,使用L2正则化的模型叫做Ridge回归(岭回归)

L1和L2都是规则化的方式,我们将权值参数以L1或者L2的方式放到代价函数里面去。

然后模型就会尝试去最小化这些权值参数。而这个最小化就像一个下坡的过程,L1和L2的差别就在于这个“坡”不同,如下图:

L1就是按绝对值函数的“坡”下降的,而L2是按二次函数的“坡”下降。

所以实际上在0附近,L1的下降速度比L2的下降速度要快。所以会非常快得降到0。

请输入图片描述

请输入图片描述

5.稀疏的作用

1.特征的选择

稀疏规则化算子能自动选择更重要的特征,它会学习地去掉这些没有信息的特征,也就是把这些特征对应的权重置为0。

2.可解释性

参数越少,说明需要判断的特征就越少,w就越好解释

3.鲁棒性

可以设想一下对于一个线性回归方程,若参数很大,那么只要数据偏移一点点,就会对结果造成很大的影响;

但如果参数足够小,数据偏移得多一点也不会对结果造成什么影响,专业一点的说法是『抗扰动能力强』(鲁棒性强)。


ref:

https://blog.csdn.net/zouxy09/article/details/24971995

https://blog.csdn.net/weixin_36411839/article/details/81944812

如果对你有帮助就太好了)))