正则化系数
正则化 --在原有损失函数的基础上加上一个正则化项
通常用到的有均方根误差rmse和平均绝对误差mae
通过限制参数过多或者过大,避免模型更加复杂,简单来说就是降低模型的泛化错误率,避免模型过拟合
L1与L2的区别
L1可以实现让参数矩阵稀疏, 且L1正则化的损失函数不不是连续可导的,
L2也称岭回归功效是解决过拟合问题。当模型过于复杂,就会容易出现过拟合
L1范数惩罚(参数稀疏性惩罚),所有参数的绝对值之和,对应Lasso回归;
原有的损失函数(loss function)后面加一个正则化项(regularizer)
L2范数惩罚(权重衰减惩罚),所有参数的平方和,对应岭回归
在Python中调用
from sklearn.linear_model import LogisticRegression as LR包中
LR(penalty="l1", solver="liblinear",C=0.5,max_iter=1000)
penalty默认情况下是l2,
当选择L2后模型还是过拟合又或者因为模型的特征过多,想通过转换成稀疏矩阵的方式可选L1
矩阵的稀疏性:通俗的解释是,剔除一些不是重要的特征从而减少时间与空间的复杂
讲讲正则化为什么能降低过拟合程度,并且说明下下L1正则化和L2正则化
降低过拟合程度:
正则化之所以能够降低过拟合的原因在于,正则化是结构风险最小化的一种策略实现。
给loss function加上正则化项,能使得新得到的优化目标函数h = f+normal,需要在f和normal中做一个权衡(trade-off),如果还像原来只优化f的情况下,那可能得到一组解比较复杂,使得正则项normal比较大,那么h就不是最优的,因此可以看出加正则项能让解更加简单,符合奥卡姆剃刀理论,同时也比较符合在偏差和方差(方差表示模型的复杂度)分析中,通过降低模型复杂度,得到更小的泛化误差,降低过拟合程度。
L1正则化和L2正则化:
L1正则化就是在loss function后边所加正则项为L1范数,加上L1范数容易得到稀疏解(0比较多)。L2正则化就是loss function后边所加正则项为L2范数的平方,加上L2正则相比于L1正则来说,得到的解比较平滑(不是稀疏),但是同样能够保证解中接近于0(但不是等于0,所以相对平滑)的维度比较多,降低模型的复杂度。