关于作者
作者小硕一枚,研究方向为机器学习与自然语言处理,欢迎大家关注我的个人博客https://wangjie-users.github.io/,相互交流,一起学习成长。
前言
说起L1、L2范数,大家会立马想到这是机器学习中常用的正则化方法,一般添加在损失函数后面,可以看作是损失函数的惩罚项。那添加L1和L2正则化后到底有什么具体作用呢?为什么会产生这样的作用?本篇博文将和大家一起去探讨L1范数、L2范数背后的原理。
先说结论
L1和L2的作用如下:
- L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择;一定程度上可以防止过拟合
- L2正则化可以防止模型过拟合
理解L1范数
理解L1,主要需要理解两个问题。第一是L1产生稀疏矩阵的作用,第二是为什么L1可以产生稀疏模型。
稀疏模型与特征选择
稀疏矩阵指的是很多元素为0、只有少数元素是非零值的矩阵。以线性回归为例,即得到的线性回归模型的大部分系数都是0,这表示只有少数特征对这个模型有贡献,从而实现了特征选择。总而言之,稀疏模型有助于进行特征选择。
为什么L1正则化能产生稀疏模型?
这部分重点讨论为什么L1可以产生稀疏模型,即L1是怎么让系数等于0的。首先要从目标函数讲起,假设带有L1正则化的损失函数如下:
其中J0是损失函数,后边是L1正则化项, α \alpha α是正则化系数, ω \omega ω是模型的参数。现在我们的目标是求解argmin