1.简介
回归分析是“监督机器学习”的子领域。其目的是建立一定数量特征与连续目标变量之间关系的模型。
在回归问题中,我们寻求获得定量响应,例如关于房地产价格的预测或某人花在观看视频上的秒数。
2.简单线性回归:构建数据行
给定一组点,回归算法建立一个模型,以调整一个独立的特定特征(独立变量X的值)和相应的“结果”值(因变量y的值)之间的依赖关系。
这个关系通过建立一条任意线来实现,并计算线与对应值(x,y)的数据点的距离。该距离即垂直线是“残差”或“预测误差”。
回归算法将在每个交互中重新计算(并移动)直线,找为一个最适合的数据点(X,Y),也就是说,用最少的误差(最接近线的最大分数)。
有几种技术可用于实现这一目标,我们将在下面看到。
2.1移动线
在此图中,我们找到以下元素:
- W1:斜率,是线相对于横坐标轴(x)的倾斜度。
- W2:截距,是纵坐标(y)的直线切点。
2.1.1绝对近似
如果我们从一个点和一个线开始,目标是使这条线更接近该点。为此,该算法将使用称为“学习率”的参数。该学习率是将线的参数相乘以实现直线到点的最小近似。
换句话说,学习率将确定每个交互中所覆盖的距离的长度,这将使直线接近该点。通常用α表示。
2.1.2近似方法
它基于以下前提:如果线附近有一个点并且距离很小,则线将移动一小段距离。如果它很远,该线将移动更多。
3.梯度下降
在这种情况下,我们寻求开发一种算法来找到最接近一组点的线。如上所述,误差将是从线到点的距离。
曲线移动并计算误差。迭代地重复该过程,每次减少一点误差,直到达到最佳线。这条直线将是最小误差。
为了最小化误差,将使用梯度下降方法,该方法计算可以移动线以减少误差的不同方向,并且以将误差减小到最小的方式进行操作。
注意:标量值(f)的梯度是向量场。当在应用域中的通用点时,它指示向量场f的最大变化的方向。
以这种方式,梯度下降将向负梯度的方向上运动。
当该算法运行足够多的次数时,它将最终产生局部或全局最小值。为此,学习率必须具有足够的合适值。如果学习率太高,算法永远不会找到最小值,因为跳跃会非常大。如果学习率太低,则需要无限的时间才能达到最小值。
4.梯度下降方法
4.1随机
梯度下降是逐点完成的。
4.2批量
它包括通过应用上述绝对值或二次近似获得的值模型的“权重”的加法。这个和更新了所考虑模型的权重。
4.3小批量
在实践中,不使用前两种方法,因为从计算的角度来看它们很慢。实现线性回归的最佳方法是将数据划分为许多小批量,每个批量具有大致相同数量的点。在这种情况下,模型的权重在每批量(小批量)处理时更新,从而产生称为“通过小批量的梯度下降”的方法。
5.更多维度
当我们有一个输入列和一个输出列时,我们面临一个二维问题。回归是一条线,预测将是线的斜率的乘积,由独立变量加上一个常数。
如果我们有更多的输入列,则意味着将有更多的维度,我们将面向平面或超平面,具体取决于维度的数量。
6.多元线性回归
独立变量也称为预测变量,它是用于对其他变量进行预测的变量,我们称之为因变量。
当我们想要预测的输出取决于多个变量时,我们可以使用更复杂的模型来考虑其他维度。考虑到它们是否与解决所提出的问题相关,使用更多变量可以有助于更好的预测。
如前所述,下图显示了一个简单的线性回归:
下图显示了具有两个特征的调整超平面或多元线性回归。
随着我们添加更多预测变量,我们会为问题添加更多维度,并且可视化它变得更加复杂,但过程的概念不会改变。
7.关于线性回归的一些警告
线性回归涉及一系列假设,我们将看到它不是适用于所有情况的最佳模型。
a)线性回归最适合“线性”数据:
它与训练数据产生密切关系。如果训练数据中的关系不是真正线性的,则需要进行调整(转换训练数据),添加特征或使用其他模型。
b)线性回归对数据的“极值”敏感:
线性回归的目的在拟合训练数据之间的最佳线。如果数据集具有不符合一般准则的极值,则线性回归模型可能受到数据极值的强烈影响。必须监控这些极值,通常消除这些极值。
处理极值的常用方法是使用针对这些极值的替代回归方法。该方法是称为随机样本共识(RNASAC)的算法,其将模型调整为数据的“非极端”值的子集。该算法执行以下步骤:
- 选择随机数量的样本,将它们作为“非极端”值,并调整模型。
- 根据调整后的模型测试其余数据,并添加属于用户选择的特定值的数据。
- 使用新点重复模型调整。
- 计算使用“非极端”值调整的模型的误差。
- 如果模型的性能达到用户预定义的阈值,或者如果达到一定数量的交互,则中断并终止算法。在另一种情况下,它又回到了第一步。
8.多项式回归
多项式回归是对独立变量之间的关系的多个线性回归分析的一种特殊情况的x。换句话说,当我们的数据分布比线性分布更复杂时,我们必须创建一条曲线来拟合非线性数据。
由预测变量的多项式展开产生的独立变量(或解释变量)被称为“高级术语”。它们已被用于描述非线性现象。
9.正则化
正则化是一种广泛用于处理模型过度拟合的方法。它主要通过以下技术完成:
- 减小模型的大小:通过减少模型的学习参数的数量,以及它的学习能力。目标是在过度学习能力和学习能力不足之间取得平衡。不过,没有特殊的公式来确定这种平衡,必须通过建立不同数量的参数并观察其性能来测试和评估。
- 添加权重的正则化:通常,模型越简单越好。只要他能“学好”,一个简单的模型就不太可能陷入过度拟合之中。实现此目的的一种常用方法是通过强制其权重仅采用较小的值来限制网络的复杂性。这是通过将与使用大权重相关联的成本添加到“损失函数”网络的损失函数来完成的。成本可以通过两种方式获得:
- 正则化L1:成本与权重系数的绝对值(权重标准L1)成比例。
- 正则化L2:成本与权重系数的平方成正比(权重标准L2)。
为了确定两者中哪一个适用于我们的模型,建议考虑以下与我们问题的性质有关的信息:
- 参数λ:是由正则化计算的误差。如果我们有一个大的λ,我们正在惩罚复杂性,我们将以一个更简单的模型结束。如果我们有一个小的λ,我们将得到一个复杂的模型。
10.评估指标
为了监测我们的模型是否正确运行,有必要应用评估指标。这个评估指标是在生成的线(或超平面)与真实点之间计算的误差,并且它将是必须使用梯度下降最小化的函数。
一些最常见的回归是:
10.1平均绝对误差:
平均绝对误差或“MAE”是实际数据点与预测输出之间的绝对差值的平均值。如果我们将此作为遵循的策略,则在过量梯度的每个步骤中,MAE将减少。
10.2均方误差:
均方误差或“MSE”是实际数据点与预测输出之间的平方差的平均值。这种方法更多地惩罚较大差异,并且是回归问题的标准。
如果我们选择这种策略,梯度下降的每一步都会降低MSE。这使得它成为计算最佳拟合线的首选方法,也称为“普通最小二乘法”或OLS。
10.3确定系数或R²
确定系数可以理解为MSE的标准化版本,其提供对模型性能的更好解释。
从技术上讲,R²表示模型捕获的响应的方差:
11.其他算法
虽然我们在这篇文章中讨论了线性和多回归模型,但还是有很多的回归算法我们是没有涉及到的,几乎任何类型的算法都有回归的变体,其中一些提供了相当好的结果。
一些例子是:
- 决策树回归
- 随机森林回归
- 支持向量回归
- Lasso
- 弹性网络
- 梯度提升回归
- Adaboost
12.结论
在本文中,我们已经介绍了回归模型的基础知识,了解了它们的工作原理,主要风险以及如何处理它们。我们还展示了最常见的评估指标。
通过本文和之前的文章,我们展示了开始使用我们的第一个“机器学习”学习模型的基础。