机器学习防止过拟合---正则化

机器学习中,过拟合是一件比较头疼的事情,明明模型在训练样本上表现的很好,但在测试样本上却表现的较差,泛化能力不好。比如强大的神经网络就常常被过拟合问题困扰。
为了避免过拟合,最常用的一种方法是使用正则化,L1正则化和L2正则化可以看做是损失函数的惩罚项,就是对损失函数中的某些参数做一些限制。比如对于线性回归模型,使用L1正则化的模型叫做Lasso回归,使用L2正则化的模型叫做岭回归。
以下对L1正则(L1范数) 和 L2 正则(L2范数)进行总结:

一. L2正则化

L2 正则化就是在原来损失函数的基础上加上权重参数的平方和,具体公式如下
L = L i + λ j ω j 2 L = L_{i} + \lambda \sum _{j}\omega _{j}^{2}

其中,前一项是不包含正则化项的损失函数,λ 是正则化系数,此值可调。

正则化就是限制参数过多,从而避免模型过于复杂。比如一个5阶多项式,模型可能会比较容易发生过拟合,因此为了防止过拟合,最容易想到的方法就是限制 w 的个数,但这个方法不容易实现,我们就考虑加一个限定条件:
j ω j 2 C \sum _{j}\omega _{j}^{2}\leq C
这样我们的目标就转换为:在约束条件( ω \omega 的平方和小于 C )下求最小化损失函数 L i L_{i}

二. L1 正则化

L1 正则化就是在原来损失函数的基础上加上权重参数的绝对值,具体公式如下:
L = L i + λ j ω j L = L_{i} + \lambda \sum _{j}\left | \omega _{j} \right |
限定条件为:
j ω j C \sum _{j}\left | \omega _{j} \right |\leqslant C
这样我们的目标就转换为:在约束条件( ω \omega 的绝对值和小于 C )下求最小化损失函数 L i L_{i}

三. L1正则化和L2正则化

L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择,一定程度上,L1也可以防止过拟合。

稀疏矩阵指的是很多元素为0,只有少数元素是非零值的矩阵,通常机器学习中特征数量比较多,在预测或分类时,那么多特征难以选择,但是如果代入这些特征得到的模型是一个稀疏模型,表示只有少数特征对这个模型有贡献,绝大部分特征是没有贡献的,此时我们就可以只关注系数是非零值的特征。

L2正则化可以防止模型过拟合。

猜你喜欢

转载自blog.csdn.net/weixin_40283816/article/details/85125046