【算法岗面试知识点】过拟合,欠拟合,L1,L2正则

目录

过拟合与欠拟合

正则化


过拟合与欠拟合

1. 概念

经验误差:模型对训练集数据的误差

泛化误差:模型对测试集数据的误差

泛化能力:模型对训练集以外样本的预测能力就称为模型的泛化能力,追求这种泛化能力始终是机器学习的目标。

过拟合:常常是模型学习能力太强,以至于将训练集单个样本自身的特点都捕捉到,并将其认为是“一般规律”,导致模型泛化能力下降。

欠拟合:常常是模型学习能力较弱,而数据复杂度较高的情况出现,此时模型由于学习能力不足,无法学习到数据集中的一般规律,因而导致泛化能力弱。

2. 过拟合与欠拟合区别

欠拟合在训练集和测试集上的性能都比较差,而过拟合往往能较好地学习训练集数据的性质,而在测试集上的性能较差。在神经网络训练的过程中,欠拟合主要表现为输出结果的高偏差,而过拟合主要表现为输出结果的高方差。

3. 过拟合与欠拟合的产生原因

欠拟合:模型复杂度低,特征量过少

过拟合:(1)建模样本选取有误,样本数量太少,选样方法错误,标签错误等导致选取样本数据不足以代表预定的分类规则

               (2)样本噪声干扰过大

                (3)假设的模型无法合理存在,或者说假设成立的条件实际并不成立

                (4)模型参数过多,模型复杂度过高

                (5) 对于决策树模型,如果我们对于其生长没有合理的限制,其自由生长有可能使节点只包含单纯的事件数据或非事件数据,使其虽然完美匹配训练数据,但无法适应其他数据集

                (6)对于神经网络模型:a)对样本数据可能存在分类决策面不唯一,随着学习的进行,BP算法使权值可能收敛到过于复杂的决策面;b)权值学习迭代次数足够多,拟合训练数据中的噪声和训练样例中没有代表性的特征

4.过拟合与欠拟合的解决方案

解决欠拟合:

  • 增加新特征,考虑加入特征组合、高维特征,来增大假设空间
  • 减少正则化参数
  • 使用非线性模型
  • 集成学习boosting,模型融合

解决过拟合

  • 数据层面:数据扩增,即增加训练数据样本;特征工程,筛选组合得到更高质量的特征。
  • 模型层面:正则化(L1,L2,树剪枝,XGBoost的正则惩罚项等);选择较简单的模型;集成学习,bagging降低方差
  • 其他方法:神经网络dropout:训练时每次随机忽略隐层的某些节点,相当于每次随机从2n个模型中采样选择模型(n为神经元数量);early stopping:迭代次数截断;加入噪声。

 

正则化

1. 概念

L1正则化和L2正则化可以看做是损失函数的惩罚项,即对损失函数中的某些参数做一些限制。

L1正则化是权值向量w中各个元素的绝对值之和,通常表示为\left \| \omega \right \|_{1}

L2正则化是权值向量中各个元素的平方和再求平方根。通常表示为\left \| \omega \right \|_{2}^{2}

p.s. 

(1) L1正则化-Lasso回归,L1也称也称“稀疏规则算子”。

相当于为模型添加了一个先验知识:w服从零均值拉普拉斯分布。

拉普拉斯分布:

f\left ( \omega \mid \mu ,b \right ) = \frac{1}{2b}exp(-\frac{|\omega -\mu| }{b})

L1正则表达式:

J = J_{0}+\lambda (|\omega _{1}|+|\omega _{2}|)

(2)L2正则化-岭回归or Ridge回归

相当于为模型添加一个先验知识:w服从零均值正态分布

f\left ( \omega \mid \mu ,b \right ) = \frac{1}{\sqrt{2\pi }\sigma }exp\left ( -\frac{\left ( \omega -\mu \right )^{2}}{2\sigma^{^{2 }}} \right )

L2正则表达式:

J = J_{0}+\lambda \sum \omega ^{2}

 

2.L1和L2两种正则化的区别

L1正则化可以产生稀疏权值矩阵,w中会产生很多项为0,即产生一个稀疏模型,稀疏解的好处:计算量、可解释性。

L2正则化:相比于L1正则来说,得到的解比较平滑(不稀疏)。但是同样能够保证解中接近于0(但不是等于0,所以相对平滑)的维度比较多,降低模型的复杂度,从而避免过拟合。

除此之外,L2有唯一解,L1可能不唯一

3.正则化为什么能降低过拟合程度?

正则化是结构风险最小化的一种策略实现。给损失函数加上正则化项,能使新得到的优化目标函数h=f+正则,需要在原损失和正则中做一个平衡。如果还像原来只优化原损失函数的情况下,可能得到一组解比较复杂,使得正则项比较大,那么h不是最优的。因此可以看出加正则项能让解更加简单,通过降低模型复杂度,得到更小的泛化误差,降低过拟合程度。

4.为什么L1正则可以产生稀疏解,而L2不能?

L1图解:

L2图解:

 

 

 

L1惩罚项表示为图1中的黑色菱形,即随着梯度下降法的不断逼近,与菱形第一次产生交点,而这个交点很容易出现在坐标轴上,导致有很多0,进而得到稀疏解。而L2惩罚项为图中黑色圆形,随着梯度下降法的不断逼近,与圆第一次产生交点,而这个交点很难出现在坐标轴上。这就说明了L2正则化不容易得到稀疏矩阵,同时为了求出损失函数的最小值,使得w1和w2无限接近于0,达到防止过拟合的问题。

5.L1与L2的比较分析

(1)鲁棒性

L1的鲁棒性比L2好,L2对异常点比L1更敏感

(2)稳定性

L2比L1更稳定,对于新数据的调整,L1变动很大,L2整体变动不大。

(3)应用场景

L1正则:可以使得一些特征的系数变小,甚至还可以使一些绝对值较小的系数直接变为0,从而增加模型的泛化能力,对于高维特征数据,尤其是线性关系稀疏的,就采用L1正则,或者要在一堆特征中找到主要特征,那么L1正则化更是首选。

L2正则:只要数据线性相关,用线性回归拟合的不是很好,需要正则化,可以考虑使用L2正则。

 

6. 其他问题

(1)正则化与方差,偏差的关系

当正则化系数很小时,是高方差,训练误差很小,交叉严重误差较大;

当正则化系数很大时,是高偏差,训练误差和交叉验证误差都很大。

待补充...

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值