第3章:过拟合(over-fitting)与正则化(regularization)

本文详细介绍了过拟合的概念及其危害,提出正则化作为解决策略。通过增加惩罚项,正则化限制模型复杂度。L2正则化使参数值趋向于小但不为零,而L1正则化可能导致参数变为零,实现特征选择,降低模型复杂度,提高泛化能力。
摘要由CSDN通过智能技术生成

什么是过拟合?

  • 举一个线性回归的例子:
    线性回归模型
    第一个模型是一个线性模型,欠拟合、高偏差,不能很好地适应我们的训练集。而第三个模型是一个四次方的模型,过于强调拟合训练集,而丢失了算法的本质:预测新数据。他是过拟合、高方差的,当我们将其用于测试集时他的表现往往不好,即训练出来的模型泛化能力差。第二个模型似乎就比较合适了。
  • 分类问题中同样有过拟合问题:
    逻辑回归模型
    图中的线就是决策边界,即 X T θ = 0 X^T\theta=0 XTθ=0,他将数据集划分成了两部分。 X 1 X_1 X1的阶次越高,对数据集的拟合程度就越好,相应的预测能力将变差。左边的图就是欠拟合,右边的图就是过拟合,中间的图看起来就比较合适了。

如何处理过拟合?

  • 一般有两种思路:
  1. 丢弃一些不能帮助我们正确预测的特征。可以是手工选择保留哪些特征,或者使用一些模型选择的算法来辅助选择(例如PCA降维、神经网络的dropout机制)
  2. 正则化。 保留所有的特征,但是减小参数 θ \theta θ的大小(magnitude),确保所有的特征对于预测都有贡献。

正则化-增加惩罚项

  • 通过上面的例子,我们可以看出来,导致过拟合出现的就是那些高阶的项,如果我们将高阶项 x 4 x^4 x4的系数 θ j \theta_j θj降低,就能够减缓过拟合的现象,所以正则化的基本方法就是:一定程度上减小这些参数 θ \theta θ的值。目的就是限制参数过多或者过大,避免模型更加复杂。
  • 假如我们有非常多的特征,我们并不知道其中哪些特征我们要惩罚,我们将对所有的特征进行惩罚,并且让代价函数最优化程序来选择这些惩罚的程度。注:根据惯例,不对 θ 0 \theta_0 θ0进行惩罚(吴恩达的说法)
  • 线性模型为例 J ( θ ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 + λ R ( θ ) , 其 中 R ( θ ) 为 正 则 化 项 , λ 为 正 则 化 参 数 ( 惩 罚 系 数 ) J\left(\theta\right)=\frac{1}{2 m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2}+\lambda R(\theta),其中R(\theta)为正则化项,\lambda为正则化参数(惩罚系数) J(θ)=2m1i=1m(hθ(x(i))y(i))2+λR(θ),R(θ)λ正则化处理的模型与原模型的对比可能如下图所示:
    在这里插入图片描述
    1. 蓝色的线为原来的过拟合模型,经过正则化(一个合适的正则化系数)后得到的比较理想的模型将会像粉色的线条一样。但是如果我们选择的 λ \lambda λ比较大,则会把所有参数都最小化了,导致模型变成一条直线,就像红色的线条那样,这样就变成欠拟合了。
    2. 为什么增加一项 λ R ( θ ) \lambda R(\theta) λR(θ)就会使 θ \theta θ的值变小呢?因为如果我们让 λ \lambda λ比较大的话,目标函数要尽量的小,结果就是所有的 θ \theta θ都会一定程度的减小, θ \theta θ的波动范围也变得比较小。当然如果 λ \lambda λ选的过大了又会导致欠拟合,选择过小则不能改善过拟合的状态,所以我们需要选择一个合理的 λ \lambda λ
    3. 对问题2的另一种解释:增加一项 λ R ( θ ) \lambda R(\theta) λR(θ)后,最小化目标函数就不能随意的取参数 θ \theta θ的值了。比如,某一很大的 θ \theta θ确实能够使得目标函数前面的部分的取值很小,但是因为 λ R ( θ ) \lambda R(\theta) λR(θ)会很大,而最终组合起来的目标函数并不小,反而很大。于是要使得总的目标函数很小,参数 θ \theta θ就不能随意取多大的值了。其实就相当于 R ( θ ) < C R(\theta)<C R
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值