CH1 统计学习方法概论|1.5.1正则化《统计学习方法》-学习笔记

文章原创,最近更新:2018-06-11

1.线性回归的过拟合与欠拟合
2.逻辑回归的过度拟合
3.解决过拟合的方法
4.到底正则化是如何解决问题的?
5.如何选择参数 θ
6.正则化线性回归
7.正则化逻辑回归
8.L1正则化和L2正则化
参考链接:
1、 机器学习十四:正则化(regularization)
2、过度拟合和正则化

前言:通过网上找的文章,通过归纳总结具体如下:

1.线性回归的过拟合与欠拟合

我们在使用线性回归或者逻辑回归的时候,会遇到过度拟合的情况。

CH1 统计学习方法概论|1.5.1正则化《统计学习方法》-学习笔记_第1张图片

什么是过度拟合呢?对于线性回归,我们对比一下下图几种情况:

  • 第一种是未拟合(under-fitting)的情况,我们看到预测的直线和训练数据之间具有较大的偏差。
    如上图的左图,因为该算法认为房子价格与面积仅仅线性相关,它接近于拟合一条直线,而此法最终导致拟合数据效果很差。
  • 第二种是合适的情况,预测曲线可能很好的拟合数据。
  • 第三种就是过度拟合(over-fitting)的情况,虽然预测曲线经过了每一个训练数据点,但是对于需要预测的数据来说,预测的效果就会非常不准确。

2.逻辑回归的过度拟合

对于逻辑回归,也有类似的情况:


CH1 统计学习方法概论|1.5.1正则化《统计学习方法》-学习笔记_第2张图片

首先看右图: 从直观上来说,似乎它对训练数据,做了一个很好的拟合,因为这条曲线完美分割了所有的训练实例,但是,看似完美的曲线,背后却隐藏着无法接受对新样本预测的事实。预测效果极差!

(这个函数能很好的拟合训练集,这就面临可能函数太过庞大的问题/变量太多,同时如果我们没有足够的数据去约束这个变量过多的模型,那么这就是过度拟合)

总结来说:过度拟合的问题,将会在变量过多的时候发生,这种时候训练出的方程总能很好的拟合训练数据,你的代价函数实际上可能非常接近于0.

但是,这样的曲线它千方百计的拟合于训练数据,这样导致它无法泛化到新的数据样本中,以至于无法分类新样本。

(泛化:术语"泛化" 指的是一个假设模型能够应用到新样本的能力。比如这个例子中的,新样本数据是没有出现在训练集中的房子。)

3.解决过拟合的方法

继续以房价预测为例,如果我们试图预测房价,同时又拥有这么多特征变量,这些变量看上去都很有用。

但是,如果我们有过多的变量,同时,只有非常少的训练数据,就会出现过度拟合的问题。问题的原因,主要出在特征的数量太多。所以解决的方法很简单,就是减少特征数量。

那么,问题来了!如何很好地规避过度拟合???但问题是,我们怎么清楚哪些特征有效哪些特征无效呢?也许我们减去的,正好是贡献很大的一个特征,对吧。

  • 减少变量的数量:人工筛选更为重要的变量/模型选择算法(自动选择特征变量)
    问题是,舍弃了一部分特征变量,也代表了舍弃了一部分的信息。

  • 正则化:在这种方法中,我们将保留所有的特征变量,但是会减小参数 θ(j)的数量级或数值大小。使得任何变量我们都不放弃,让每一个变量都或多或少能对预测产生一点影响。

4.到底正则化是如何解决问题的?

例如线性回归过度拟合的图片中:


CH1 统计学习方法概论|1.5.1正则化《统计学习方法》-学习笔记_第3张图片

我们可以发现如果通过人为的将右图中θ3、θ4调小,那么右图这个拟合曲线是不是就会接近于左图中的拟合曲线,是不是调的越小,这两条拟合曲线也就越接近,极端情况时,当θ3=0、θ4=0时,此时左右两张子图是不是就相等了?

所以按照这个思想,问题转化为,怎样调整θ3和θ4?怎样在保证满足θj参数最优的同时,又可以人为的让θ3、θ4变小?

在换句话说,怎样使得代价函数J(θ)满足最小的同时,有人为的调低了θ3、θ4?

这时,我们引出惩罚函数的概念!对代价函数J(θ)作出惩罚!!!

我们的优化目标或者客观的说,这就是我们需要优化的问题:我们需要尽量减少代价函数的均方误差(这也是我们坚贞不渝,始终不变的方针)

我们要降低 θ3 和 θ4 的权重,我们可以在代价函数后面增加两项,加上 1000 乘以 θ3 的平方,再加上 10000 乘以 θ4 的平方,这里的1000 只是随便写的某个较大的数字而已:



因为,如果你有 1000 乘以 θ3 这个,新的代价函数将会是很大的,所以当我们最小化这个新的函数时,我们将被迫使 θ3 的值接近于0、θ4 的值也接近于0,那么我们将得到一个近似的二次函数,所以 我们最终恰当地拟合了数据。

我们知道这里的二次函数加上了一些项,但是这些项很小,她们的贡献也很小。 因为 θ3、θ4 它们是非常接近于0的, 所以,我们最终得到了一个实际上很好的二次函数。

但是问题是,对于 θ1, θ2 , θ3 , … , θn 这么多参数,我们怎么知道应该缩小哪些呢?换句话说,其实我们是不知道该对哪些参数动手的!!!

我们不清楚,唯一可以做的,就是同时缩小所有的特征参数,然后让算法为我们找到最合适的权重。

5.如何选择参数 θ

看一个具体的例子:对于房屋价格预测,我们可能有上百种特征,比如说 x1 是房屋的尺寸, x2 是卧室的数目, x3 是房屋的层数等等。

那么我们可能就有一百个特征。跟前面的多项式例子不同,我们对这些参数其实是不知道的,换到之前那个问题里,我们是不知道 θ3、θ4 是高阶多项式的项。

所以如果我们有一百个特征,我们是很难提前选出那些关联度更小的特征的。我们并不知道如何选择参数、如何缩小参数的数目,因此在正规化里,我们要做的事情就是修改我们的代价函数,缩小我所有的参数值。

所以索性我们就在代价函数的后面添加一项。当添加一个额外的正则化项的时候,我们收缩了每个参数,也因此,我们会使我们所有的参数 θ1、 θ2、 θ3 直到 θ100 的值变小。所以,经过正则化,代价函数变为:


CH1 统计学习方法概论|1.5.1正则化《统计学习方法》-学习笔记_第4张图片

实际上我们正则化的两个目标:
1)就是我们想要训练使得假设能够更好地拟合训练数据。
2)我们想要保持参数值较小。

而公式中正则化参数 λ 的作用就是:控制在两个不同的目标中的一个平衡关系。通过空着这个参数控制 λ 从而可以很好的控制两个目标的平衡:平衡拟合训练数据 和 保持参数值较小,从而来保持假设函数的形式相对简单,来避免过度的拟合。

注意:
其中m为训练样本数量,n为特征数量。需要注意的是,这里计算的特征是从 i = 1 开始的。

公式中加号左边的这部分是平方误差函数,如下截图,其目的是尽可能拟合数据。


公式中加号右边的这部分就是正则化项,如下截图,其目标是让缩小特征参数。

而这里的正则化参数 λ ,要做的是让两个目标之间达到平衡。
我们做一个假设,假如 λ = 0 ,那么情况还是和之前一样,得到的预测函数 hθ(x) 是一个过度拟合的曲线:
CH1 统计学习方法概论|1.5.1正则化《统计学习方法》-学习笔记_第5张图片

假如 λ 趋向于无穷大,那么为了让代价函数J(θ)最小,θ1, θ2, θ3,… , θn 都会趋近于 0 ,得到的预测函数 hθ(x) 就是一条直线,一个未拟合的结果:


CH1 统计学习方法概论|1.5.1正则化《统计学习方法》-学习笔记_第6张图片

而如果我们设定一个合适的正则化参数 λ ,算法就能自动计算好各个参数。得到的预测函数曲线比较平滑,又能很好地拟合数据:


CH1 统计学习方法概论|1.5.1正则化《统计学习方法》-学习笔记_第7张图片

6.正则化线性回归

对于线性回归的求解,我们之前推导了两种学习算法:一种基于梯度下降,一种基于正规方程。
正则化线性回归的代价函数为:


CH1 统计学习方法概论|1.5.1正则化《统计学习方法》-学习笔记_第8张图片

如果我们要使用梯度下降法令这个代价函数最小化,因为我们未对 θ0 进行正则化,所以梯度下降算法将分两种情形:


CH1 统计学习方法概论|1.5.1正则化《统计学习方法》-学习笔记_第9张图片

把这两个式子写成一个式子,就是:

可以看出,正则化线性回归的梯度下降算法的变化在于,每次都在原有算法更新规则的基础上令 θ 值减少了一个额外的值。

我们同样也可以利用正规方程来求解正则化线性回归模型,方法如下所示:


CH1 统计学习方法概论|1.5.1正则化《统计学习方法》-学习笔记_第10张图片

7.正则化逻辑回归

针对逻辑回归问题,我们在之前的课程已经学习过两种优化算法:我们首先学习了使用梯度下降法来优化代价函数 J(θ),接下来学习了更高级的优化算法,这些高级优化算法你可以自己尝试一下设计代价函数


CH1 统计学习方法概论|1.5.1正则化《统计学习方法》-学习笔记_第11张图片

同样对于逻辑回归,我们也给代价函数增加一个正则化的表达式,得到代价函数:


要最小化该代价函数,通过求导,得出梯度下降算法为:

CH1 统计学习方法概论|1.5.1正则化《统计学习方法》-学习笔记_第12张图片

注意:

  • 虽然正则化的逻辑回归中的梯度下降和正则化的线性回归中的表达式看起来一样,但由于两者的 h(x)不同所以还是有很大差别。
  • θ0 不参与其中的任何一个正则化。

8. L1正则化和L2正则化

一般,正则化项就是一些L1范数和L2范数(因为L0范数用的少,所以不作讨论)。

  • L1范数——各参数的绝对值之和(稀疏规则算子)
  • L2范数——各参数的平方和的开方(权重衰减)
    初中数学就能理解这些了,那到底在损失函数中加入这些玩意有什么用呢?好,别慌,很简单,公众号文章的目的就是用口水话讲看起来高深的玩意。

小结:

  • L1会趋向于产生少量的特征,而其他的特征都是0。而L2会选择更多的特征,这些特征都会接近于0.
  • 只有少数特征起重要作用的情况下,选择L1范数比较合适,因为它能自动地选择特征。
  • 而如果所有特征中大部分特征都能起作用,而且起的作用很平均,那么使用L2范数更合适。

你可能感兴趣的:(CH1 统计学习方法概论|1.5.1正则化《统计学习方法》-学习笔记)