目录

1. 范数概念

2. 为什么L1有稀疏性?L2则没有

3. 应用



1. 范数概念

范数是衡量某个向量空间(或矩阵)中的每个向量以长度或大小。
范数的一般化定义:对实数p>=1, 范数定义如下
                                  机器学习基础__02__L1L2范数在机器学习中应用

L1范数
当p=1时,是L1范数,其表示某个向量中所有元素绝对值的和,也叫“稀疏规则算子”。
                                 机器学习基础__02__L1L2范数在机器学习中应用

稀疏的意思是可以让权重矩阵的一部分值等于0(如何做到?后面会讲),但是一些参数仍然会比较大。
L1范数可以实现稀疏性,参数稀疏有两个很好的作用:

  • 特征选择:选择出与预测有关的特征,无关的特征参数为0
  • 可解释性:可以看出哪些特征与预测相关

L2范数
当p=2时,是L2范数, 表示某个向量中所有元素平方和再开根号, 也就是欧几里得距离公式。      
                                机器学习基础__02__L1L2范数在机器学习中应用
L2范数与L1不同,他不会让部分参数等于0,而是让每个参数都接近于0。
L2范数最广泛的应用是在损失函数中加入正则项,防止过拟合,提升模型的泛化能力。

L0范数
指向量中非零元素的个数。L0范数的最优化问题是NP,而且理论上有证明,L1范数是L0范数的最优凸近似,因此通常使用L1范数来代替。

一句话总结:
(1). L1是绝对值的和,L2是平方和再开根号
(2). L1让部分参数等于0(特征选择/稀疏性),L2让每个参数都接近0(防止过拟合) 

2. 为什么L1有稀疏性? L2则没有

在用梯度下降法更新参数时,公式是:
机器学习基础__02__L1L2范数在机器学习中应用
加入L1正则项:机器学习基础__02__L1L2范数在机器学习中应用

加入L2正则项:机器学习基础__02__L1L2范数在机器学习中应用注意L2正则项并没有像L2范数中开根号


下面分别对L1/L2正则项求偏导:
机器学习基础__02__L1L2范数在机器学习中应用机器学习基础__02__L1L2范数在机器学习中应用
公式与图像一起服用,效果会更好哦。

机器学习基础__02__L1L2范数在机器学习中应用

在梯度更新时,不管 L1 的大小是多少(只要不是0)梯度都是1或者-1,所以每次更新时,它都是稳步向0前进。
而看 L2 的话,就会发现它的梯度会越靠近0,就变得越小。

也就是说加了 L1 正则的话基本上经过一定步数后很可能变为0,而 L2 几乎不可能,因为在值小的时候其梯度也会变小。于是也就造成了 L1 输出稀疏的特性

 

3. 应用

todo

相关文章: