机器学习:深入理解岭回归
岭回归(英文名:ridge regression, Tikhonov regularization)是一种专用于共线性数据分析的有偏估计回归方法,实质上是一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损失部分信息、降低精度为代价获得回归系数更为符合实际、更可靠的回归方法,对病态数据的拟合要强于最小二乘法。岭回归 在机器学习中解决了数据过度拟合的问题。
岭回归的动机
线性回归模型由以下等式给出:
Y = Σ WⱼHⱼ(Xᵢ)
其中
- Σ从j = 0到j = D,其中D是特征的总数。
- Wⱼ是jᵗʰ系数
- Hⱼ是采用Xᵢ观察的jᵗʰ特征函数
- Xᵢ是iᵗʰ观察
只要我们知道W系数的值,上面的等式就能给出预测值。
为简化起见,让我们用(X)表示上述等式,其中X是观察值。
线性回归模型的成本函数由下式给出:
成本函数= RSS(W)=Σ[Yᵢ - (Xᵢ)]²
其中
- Σ 从i = 0到i = N,其中N是观测总数。 、
- Yᵢ是iᵗʰ观察的已知值。
- (Xᵢ)给出iᵗʰ观测值的预测值。
RSS代表Residual Sum of Squares
成本函数始终适用于训练数据集。
线性回归模型的整体思想围绕着最小化上述成本函数的价值。降低成本函数值,更好地进行线性回归模型。
通常,为了降低成本函数,我们增加了机器学习模型中的特征数量。随着我们不断增加机器学习模型中的特征,模型开始很好地拟合训练数据集,并且成本函数值开始减少。
但是,随着特征数量的增加; 我们的方程成为高阶多项式方程; 它会导致数据过度拟合。
为什么过度拟合数据不好?
在一个过度拟合的机器学习模型中,训练误差几乎为零,导致该机器学习模型在训练数据集上完美运行。但是,该模型是否完全适用于训练数据集之外的数据集(如真实的外部数据)呢?一般来说,过拟合模型在测试数据集上的表现较差,而在额外的新测试数据集上,过拟合模型的表现也较差。
过度拟合的数据和在测试数据集上表现更差
从上图可以看出,过度拟合模型在训练数据集上表现良好,训练数据集的成本函数为零。
但是当我们用上面图中的测试数据集测试这个模型时,机器学习模型的性能一点都不好。对于测试数据,模型预测的值是错误的,与实际值相差甚远。这足以说明这种模型不适合在生产上使用。
如何捕捉过拟合?
通过可视化模型(如上所示),我们可以很容易地看到模型中的过度拟合(观察模型如何很好地拟合训练数据集)。但是,随着机器学习模型的复杂性增加,它会进入更高的维度,这使得在图形(或其他工具)上进行可视化变得困难。
我们也可以通过看到系数的值(W)来看到过度拟合,而不是总是试图将模型可视化。通常,当过度拟合发生时,这些系数的值会变得非常大。
岭回归通过测量系数的大小来量化数据的过拟合。
为了解决过度拟合的问题,我们需要平衡两件事:
- 1、函数/模型是否适合数据。
- 2、系数的大小。
总成本函数=模型拟合度测度+系数大小的测度
其中,
- 模型拟合度= RSS(W)
- 系数大小的测量= || W ||²
如果模型的拟合度是一个小值,则意味着模型非常拟合数据。 如果系数的大小测度值很小,则意味着模型不会过度拟合。
总成本函数= RSS(W)+λ* || W ||²
我们在总成本函数中添加了λ作为调整参数,以平衡数据的拟合和系数的大小。
计算岭回归的梯度下降
岭回归成本= RSS(W)+λ* || W ||²=(Y - WH)*(Y - WH)+ WW
在矩阵表示法中,它将写为:
岭回归成本=(Y - HW)ᵗ(Y - HW)+WᵗW
采用上述方程的梯度(微分):
Δ[RSS(W) + λ||W||]²
= Δ{(Y - HW)ᵗ(Y - HW)} + λ Δ{WᵗW}
= -2Hᵗ(Y - HW)+2λW
将上面的梯度设置为0,我们得到
W = (HᵗH + λI)-¹HᵗY
因此,我们知道W系数的值。
如何选择λ值?
给定的数据分为三组:
- 1.训练集
- 2.验证集
- 3.测试集
训练集
该数据集将用于获得每个λ值的W系数值。 假设λ值的每个值的W系数'的值是Wλ。
验证集
将在验证集上评估Wλ的不同值。将选择具有较低误差值的那个。
测试集
W系数的选定值将再次通过测试数据集进行评估。
仅当存在足够数量的数据时才使用上述方法。
这就是最终λ值的选择方式。这个过程是一种蛮力。但是通过智能猜测和经验,可以减少猜测λ值的迭代。
结论
我们已经看到为什么过度拟合在机器学习中很糟糕,以及如何通过查看机器学习模型的W系数值来识别模型。然后我们看到线性回归的新成本函数,其考虑了数据与调整参数λ的过度拟合。我们还看到了关于新成本函数计算W值的公式以及如何选择λ的值。