正则化(Regularization)
参考:
https://blog.csdn.net/jinping_shi/article/details/52433975
https://blog.csdn.net/u012162613/article/details/44261657
1. 正则化的概念
规则化 vs 正则化
- 规则化,顾名思义,给你的模型加入某些规则,来达到某些目的(在机器学习或深度学习中是为了防止过拟合)
- 正则化,与规则化是同一个意思。
正则项一般加在损失函数后面,英文是 l1 l 1 -norm和 l2 l 2 -norm,中文称作L1正则化和L2正则化,或者L1范数和L2范数。
2. L1范数和L2范数
- L1范数: ||ω||1 | | ω | | 1 ,指权值向量 ω ω 中各个元素的绝对值之和
- L2范数: ||ω||2 | | ω | | 2 ,指权值向量 ω ω 中各个元素的平方和然后再求平方根
3. 线性回归的正则化
- 线性回归+L1正则项:Lasso回归
- 线性回归+L2正则项:Ridge回归(岭回归)
4. L1和L2正则化的作用
- L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择。
- L2正则化可以防止模型过拟合。(一定程度上,L1也可以防止过拟合)。
L1正则化-特征选择
1. 稀疏模型与特征选择
L1正则化有助于生成一个稀疏权值矩阵,进而可以用于特征选择。那么,为什么要生成一个稀疏矩阵?
稀疏矩阵指的是很多元素为0,只有少数元素是非零值的矩阵,即得到的线性回归模型的大部分系数都是0. 通常机器学习中特征数量很多,例如文本处理时,如果将一个词组(term)作为一个特征,那么特征数量会达到上万个(bigram)。在预测或分类时,那么多特征显然难以选择,但是如果代入这些特征得到的模型是一个稀疏模型,表示只有少数特征对这个模型有贡献,绝大部分特征是没有贡献的,或者贡献微小(因为它们前面的系数是0或者是很小的值,即使去掉对模型也没有什么影响),此时我们就可以只关注系数是非零值的特征。这就是稀疏模型与特征选择的关系。
举个栗子,患病回归模型 y=ω1x1+ω2x2+...+ω1000x1000+b y = ω 1 x 1 + ω 2 x 2 + . . . + ω 1000 x 1000 + b ,通过学习,最后学习到的 ω ω 就只有很少几个非零元素,例如只有5个非零的 ωi ω i 。也就是说,患不患这种病只和这5个因素有关,那医生就好分析多了。
2. L1正则化的图形理解
参考机器学习中正则化项L1和L2的直观理解
假设有如下带L1正则化的损失函数:
令
考虑二维的情况,即只有两个权值 w1 w 1 和 w2 w 2 ,此时 L=|w1|+|w2| L = | w 1 | + | w 2 | ,对于梯度下降法,求解 J0 J 0 的过程可以画出等值线,同时L1正则化的函数L
也可以在 w1w2 w 1 w 2 的二维平面上画出来。如下图:
图1 L1正则化
图中等值线是