这几天在学习李航的统计学习方法,来谈谈我对于机器学习中正则化的理解:
- 什么是正则化
- 如何理解正则化
- 正则化的作用
第一个问题,什么是正则化?
正则化就是在损失函数后加上一个正则化项(惩罚项),其实就是常说的结构风险最小化策略,即经验风险(损失函数)加上正则化。一般模型越复杂,正则化值越大。
正则化项是用来对模型中某些参数进行约束
正则化的一般形式:
其中,第一项是损失函数(经验风险),第二项是正则化项,lamda>=0,是调整损失函数和正则化项的系数
正则化一般是用于防止模型出现过拟合的现象,过拟合是指学习时模型的参数过多,模型过于复杂。模型对于训练数据预测得很好,但对于未知数据预测效果很差,即训练误差小,预测误差大,过拟合时,模型系数会很大,因为模型要顾及每一个点,在很小的空间里函数值变化剧烈,可见偏导数会很大,模型系数大。过拟合时,一般模型的参数(特征)较多,模型会千方百计的去拟合训练集,损失函数较小,但会导致模型的泛化能力较差。一般样本较少而特征较多时容易产生过拟合现象。左图显示的是欠拟合,也称作高偏差(high bias),右图显示的是过拟合,也称作高方差(high variance)
解决过拟合的两个思路:
- 一是过滤掉部分特征(减少特征的数量)即特征选择,会损失掉一些信息
- 二是正则,使用正则减小参数的值,保留所有的特征
由可以看出,加上惩罚项后损失函数的值会增大,要想损失函数最小,惩罚项的值要尽可能的小,模型参数就要尽可能的小,这样就能减小模型参数,使得模型更加简单
在回归问题中,常见的正则化有L1正则化和L2正则化,无论是L1还是L2都能够防止过拟合
- L1正则化(L1范数)指的是权重参