机器学习线型回归模型详解:三大假设、模型推导、梯度下降、L1 和 L2 正则

正式进入机器学习的理论和实践阶段,后面开展的基本思路:

示意图如上所示,先扼要总结每个任务的基本假设,以假设为前提,逐步建立机器学习算法模型,将算法模型应用到实际问题中,输出算法结果,通过评价准则进行算法调优、迭代模型,并从中选择解决问题的最佳算法模型。

下面开始第一类问题:回归问题的求解,为了简化我们的模型,使用线性的回归模型。

算法模型的三个假定

为了保证使用的线性数学模型能够取得较好的拟合效果,那么有三个前提假定就非常重要。

  1. 假设真实值与预测值的误差项 ϵϵ 服从正态分布;
  2. 假定每个样本之间都是相互独立的;
  3. 预测的数据分布和训练时用到的数据分布是相同的(至于为什么在 Day 49 有解释)

建立线性回归模型

因为第 jj 个样本的误差项 ϵ(j)ϵ(j) 服从高斯分布,因此可得:

因为建立的是线性数学模型,因此第 jj 个样本根据模型预测值为:

损失函数为:

以上式子中:x(j)x(j)、y(j)y(j) 分别表示第 jj 个样本的实际取值,nn 表示特征的个数。

综上可得:

至此,我们得到一个含有 n+1n+1 个特征参数的等式,ff 表示事件 ϵjϵj,也就是第 jj 个样本的误差项的概率密度值。

参数估计中,使用最大似然估计(Maximum Likelihood Estimation,简称为 MLE)求权重参数,接下来介绍。

最大似然估计求参数

最大似然估计会使得已经发生的所有事件联合概率取值最大,上面说到的第 3 个假定样本每个特征间是相互独立的,所以 mm 个样本误差概率密度 f(ϵj)f(ϵj) 同时都发生的概率转化为累乘积:

样本个数 mm 通常会很很大,所以相乘的结果会很小。

通常做法转化为求对数,因此又称最大对数似然估计,可得如下公式:

结合已经得出的公式:

最终得到:

上式含有 nn 个未知权重参数,如何求解当上式取得最大值时各个参数的取值,使用梯度下降方法。

梯度下降求解

梯度下降法是一种经常使用的找最小值的优化算法(梯度下降的详细实施步骤大家参考 Day 47)。在这里,我们使用梯度下降法来找最小值,因此需要对上节式子取反后求最小值,故:

enter image description here

接下来,求出 J(θ)J(θ) 对权重参数 θiθi 的偏导数每次迭代时步,θiθi 的更新公式:

enter image description here

其中 ηη 是学习率。至此公式推导全部结束。

正则化项

有多少特征,就有多少参数需要学习。机器学习学习过程常见的问题之一便是过拟合,过拟合的重要表现就是训练数据集上表现会很好,因为它会试图去满足很多个性化的分布,进而失去泛化的能力,因此在训练数据集上的表现就会变槽糕。

例子解释一下,特征个数 n=5n=5,假如未添加正则项时,学习到 5 个参数分别为:

w0=0.4,w1=−0.5,w2=1.5,w3=−0.4,w4=0.6w0=0.4,w1=−0.5,w2=1.5,w3=−0.4,w4=0.6

每个参数的绝对值权重都相差不是很大,通俗理解就是每个参数都发挥差不多的作用。但是我们想惩罚某几个参数的作用,削弱它们,增强某些参数的作用。

添加常用的 L2L2 正则项后,也就是添加一项: λW2iλWi2,假如 λ=1λ=1,惩罚后各个参数的值:

w0=0.16,w1=0.25,w2=2.25,w3=0.16,w4=0.36w0=0.16,w1=0.25,w2=2.25,w3=0.16,w4=0.36

实施 L2L2 正则化后,w3w3 的相对权重变得更加突出,并且弱化了其他参数的权重,起到惩罚的作用。

以上就是正则化项的感性认识。

L1 和 L2 正则化

L1L1 和 L2L2 正则的一个主要不同:相比 L2L2,L1L1 正则更容易使模型变稀疏,下面通俗易懂解释为什么。

L1L1 是对模型中每个特征参数取绝对值,L2L2 正则对特征参数取平方

如果施加 L1L1,则新的损失函数 ff 为:

Loss()+C|w|Loss()+C|w|

要想消除此特征的作用,只需要令 w=0w=0 时,使 ff 取得极小值。因为当 ff 取得最小值时,必然保证参数 ww 变为 0。

且容易证明,添加 L1L1 正则后,只要满足:系数 CC 大于原函数 Loss()Loss() 在 0 点处导数的绝对值。

证明过程如下,要想在 0 点处取得极小值,根据高等数学知识得到:

  1. ww 小于 0 时,σ(Loss)σ(w)−C<0σ(Loss)σ(w)−C<0
  2. 且 ww 大于 0 时,σ(Loss)σ(w)+C>0σ(Loss)σ(w)+C>0

上面两个式子同时满足时,可以简化为:

|σ(Loss)σ(w)|<C(x=0)|σ(Loss)σ(w)|<C(x=0)

但是如果施加 L2L2 正则,则新的函数为:Loss()+Cw2Loss()+Cw2,求导可得:

σ(Loss)σ(w)+2Cwσ(Loss)σ(w)+2Cw

要想在 w=0w=0 点处取得极小值,必须得满足:

σ(Loss)σ(w)=0σ(Loss)σ(w)=0

如果原函数 Loss()Loss() 在 0 点处的导数不为 0,那么施加 L2L2 正则后偏导数不会为 0,也就不会在 0 点处取得极小值。这种概率很明显小于 L1L1 正则在 0 点处取得极小值的概率值。

由此可得,L1L1 更容易使得原来的特征变弱或消除,换句话说就是更容易使参数变稀疏。

小结

今天主要介绍线型回归模型高效使用的三个基本假定,建立线型回归模型的推导过程,最大似然估计和梯度下降求特征参数,最后介绍实际算法模型中经常要考虑的惩罚项,也就是 L1L1 和 L2L2 正则化项,以及两个正则项的主要不同点及原理证明。

发表评论

电子邮件地址不会被公开。 必填项已用*标注