知否,知否,线性回归基础教程值得拥有
1. 介绍
创新互联建站专注于中大型企业的网站设计制作、做网站和网站改版、网站营销服务,追求商业策划与数据分析、创意艺术与技术开发的融合,累计客户成百上千家,服务满意度达97%。帮助广大客户顺利对接上互联网浪潮,准确优选出符合自己需要的互联网运用,我们将一直专注高端网站设计和互联网程序开发,在前进的路上,与客户一起成长!
回归分析是监督学习的一个子领域。它的目的是模拟一定数量的特征与连续的多个目标变量之间的关系。
在回归问题中,我们试图给出一个定量的答案,用来预测房价或某人看视频的时长。
2. 简单线性回归:通过数据拟合直线
回归算法将通过一组"点",来模拟单个特征(解释变量x)和其对应值(目标变量y)之间的关系。
它将通过设置任意一条直线并计算这条直线到数据点的距离来实现。这个距离,就是垂直线,也是数据的残差或预测误差。
回归算法在每次迭代过程中都会不断"挑选"直线,以寻找最优拟合直线,即误差最小的直线。
我们可以通过以下几种技术来完成这项任务。
2.1移动线条
2.1.1技巧一
当有一个点和一条线时,我们的目标是让这条线更接近这一点。在这里我们将使用一个名为"学习率"的参数。使用学习率的目的是让直线更好的逼近该点。
换句话说,学习率将决定每次迭代中直线与该点的距离的长度。它通常用α表示。
2.1.2技巧二
使用技巧二要基于这样的前提:如果有一个点(与现在的点相比)离直线更近,且距离更小,直线就会向那个点移动。
3.梯度下降
假设我们有一组点,我们想开发一个算法来找到最适合这组点的直线。如前所述,误差是直线到点的距离。
我们要设计不同的直线并计算误差。这个过程重复了一遍又一遍,不断减少错误,直到得到完美的直线。这条完美的直线误差最小。
为了让误差最小化,我们将使用梯度下降法。通过梯度下降法,我们可以在每一步中,观察直线移动的不同方向以减少误差。
注:梯度(f)为矢量场。当它在f域的一个泛型点上求值时,它表示f域更快变化的方向。
所以梯度下降会向负梯度的方向移动一步。
当该算法经过足够多的步骤后,它最终将达到局部或全局的最小值。需要强调的是,如果学习率的值太大,算法就会丢失最小值,因为它的步长太大。当然,如果学习率太低,就需要无限长的时间才能到找到这最小值。
4. 小批量梯度下降
4.1批量梯度下降
我们对所有数据点进行平方,会得到一些要添加到模型权重中的值,将它们相加,然后用这些值的和更新权重。
4.2随机梯度下降
我们可以一个点一个点的进行梯度下降。
4.3实际应用中的梯度下降
在实践中,这两种方法都没有被使用,因为它们在计算上都很慢。进行线性回归的最佳方法是将数据分成许多小批。每个批次,大约有相同的点数。然后使用每个批来更新权重。这种方法称为小批量梯度下降法。
5. 高维度
当我们有一个输入列和一个输出列时,我们面对的是一个二维问题,回归是一条直线。预测将是一个由自变量和常数组成的值。
如果我们有更多的输入列,这意味着有更多的维度,而输出将不再是直线,而是超越二维的一个"值"(这取决于维度的数量)。
6. 多元线性回归
自变量是我们用来预测其他变量的变量。我们试图预测的变量称为因变量。
当我们发现,我们试图预测的结果不仅仅依赖于变量时,我们可以建立一个更复杂的模型来考虑这个问题。前提是它们与所面临的问题相关。总而言之,使用更多的预测变量可以帮助我们获得更好的结果。
如下图所示,这是一个简单的线性回归:
下图是一个具有两个特征的多元线性回归图。
随着我们添加更多的自变量,我们的问题也不再仅仅局限于一个二维的平面。但问题也暴露了出来,即可视化更加困难。但是这里面的核心思想并未发生根本性的改变。
7. 关于线性回归的几点建议
不是任何情况都适合用线性回归。
a)线性回归在数据为线性时效果最好:
它从训练数据中产生一条直线。如果训练数据中的关系不是真正的线性关系,你将需要进行调整(转换训练数据)、添加特性或使用其他模型。
b)线性回归对异常值很敏感:
线性回归试图在训练数据中找到一条最佳直线。如果数据集有一些不符合一般模式的值,线性回归模型就会受到离群值的严重影响。我们必须小心对待这些异常值,通过合理的方法剔除它们。
处理异常值,我建议大家使用随机抽样一致算法(RNASAC),它将模型拟合到数据的离群值子集中。算法执行以下步骤:
- 选择随机数目的样本作为离群值,并对模型进行拟合。
- 根据拟合模型测试所有其他数据点,并添加属于用户所选值的数据点。
- 用新的点重复模型的拟合。
- 计算拟合模型对异常值的误差。
- 如果性能满足用户的要求或达到一定的迭代次数后,则结束算法。否则,就回到第一步。重复上述步骤。
8. 多项式回归
多项式回归是多元线性回归分析的一种特殊情况,其中独立变量x与因变量y之间的关系被模拟为x的第n次多项式。换句话说,当我们的线性数据分布比较复杂时,我们使用线性模型生成一个曲线来拟合非线性数据。
由预测变量多项式展开而得到的独立(或解释性)变量已被用来描述非线性现象,如组织成员的增长率和疾病流行的进展。
9. 正则化
正则化是处理过度拟合的一种常用方法。主要通过以下技术实现:
减少模型的大小:减少模型中可学习参数的数量,以及它们的学习能力。我们的目标是在学习能力过多和不足之间找到一个平衡点。不幸的是,没有任何神奇的公式来确定这种平衡,必须通过设置不同数量的参数并观察其性能来测试和评估。
添加权重正则化:一般情况下,模型越简单越好。因为一个简单的模型过度拟合可能性很低。我们通常使用的方法是,通过强制其权值只取较小的值来约束网络的复杂性,并对权值的分布进行正则化。这是通过在网络的损失函数中加入与具有较大权重相关的成本来实现的。成本有两种方式:
L1正则化:成本与权重系数值的平方成正比。
L2正则化:成本正比于权重系数值的平方。
为决定其中哪项适用于我们的模型,我们建议你留意以下几点,并考虑问题的具体性质:
λ参数:它是通过正则化计算的误差。如果我们有一个很大的λ,那么我们就是在"惩罚"复杂性,最终会得到一个更简单的模型。如果我们有一个小的λ,我们最终会得到一个复杂的模型。
10. 评价指标
为了跟踪模型的执行情况,我们需要设置一些评估指标。对评估指标的度量是从生成的线到实点的误差,它是通过梯度下降来使函数最小化。
处理线性回归时,你可能会面临以下几点问题:
10.1平均绝对误差:
平均绝对误差,即真实数据点与预测结果的绝对差的平均值。如果我们这样做,梯度下降的每一步都会减少平均绝对误差值。
10.2均方误差:
均方误差(MSE)是实际数据点与预测结果之间平方差的平均值。这种方法的惩罚越大,距离越大。
如果我们将此作为策略遵循,梯度下降的每一步将减少MSE。这将是计算最佳拟合线的首选方法,也称为普通最小二乘法。
10.3确定系数或R平方
确定系数可以理解为MSE的标准化版本,它提供了对模型性能的更好解释。
从技术上讲,R平方是模型捕捉到的方差的一部分,换句话说,它就是方差。它的定义是:
11.其他的算法
尽管本文主要关注线性和多元回归模型,但在流行的机器学习库Sci-kit learn中,几乎每种算法都适用。其中一些甚至产生了非常好的结果。
一些例子:
- 决策树回归
- 随机森林回归
- 支持向量回归
- 套索算法
- 弹性网络
- 梯度提升回归
- Ada Boost回归
12. 结论
在本文中,我们已经介绍了回归模型的基础知识,了解了它们的工作原理、常见问题以及如何处理它们。我们还了解了什么是最常见的评估指标。
作者——Victor Roman
来源:https://towardsdatascience.com/supervised-learning-basics-of-linear-regression-1cbab48d0eba
标题名称:知否,知否,线性回归基础教程值得拥有
转载源于:http://pwwzsj.com/article/iedpgc.html