Skip to content

线性回归

生活场景

地铁早高峰的排队问题?

一、算法原理

1、定义

算法原理: 根据已有的数据去寻找一条直线,让它尽可能地接近这些数据,再用这条直线预测新数据的可能结果,这个结果是一个具体的数值。

数学公式: 通过 A 和 B(斜率和截距)两个值 ,去描述 X 和 Y 之间的对应关系。然后再用得到的具体公式来计算未知数据的解,也就是线性回归用来做预测的 方法。

2、一元线性回归

一元线性回归模型描述的是一个自变量 x 和一个因变量 y 之间的线性关系。其基本形式为:

3、二元线性回归

二元线性回归模型描述的是两个自变量 x1 和 x2 与一个因变量 y 之间的线性关系。其基本形式为:

4、多元线性回归

多元线性回归模型描述的是多个自变量 x1,x2,…,xn 与一个因变量 y 之间的线性关系。其基本形式为:

5、算法流程

线性回归算法非常常用,比如说,我们现在已知一部分人的身高和体重信息,想要通过身高来预测一些新人的体重信息,我们该怎么做呢?

因为大部分人的身高和体重是成正比的,身高越高,体重越大。所以,我们可以假设体重为 Y,身高为 X,然后通过已知数据找到合适的 A 和 B,再把求得的 A 和 B 以 及这位待预测人的身高信息 X 代入到公式当中,我们就可以求得这个人的体重了。

构建二元回归方程: 一个较为复杂的平面了,公式是 Y = A1X1 + A2X2 + B,B为误差

二、损失函数

如何保证所有数据 都能准确落到一条直线上呢?

答案是根本不可能。 我们要找的直线,并不是强求 所有的点都落在这个直线的上,而是要找到那么一条直线,它能够很好的拟合这些数据。再简单得说,这条直线,到所有点的距离和最小。

在数学中,我们会定义一个距离公式来计算线性回归的预测值和真实值之间的差异,这个公式在机器学习中就被称作损失函数。

损失函数就是用来评价模型的预测值和真实值之间不一样的程度,损失函数值越小,模型性能越好。

1、残差

残差就是真实值和预测值间的差值(也可以理解为差距、距离),用公式表示是:

计算公式:

计算示例:

2、残差平方和

残差平方和(RSS)是一种最常⻅的损失函数,它可以用来计算每一个样本点的真实值(Ytrue)和预测值(Ypred)之间的平方差,差值越小,说明直线越能拟合我们的数据,回归模型做得就越好。

计算公式:

计算示例:

三、参数估计

线性回归的目标: 找到一组最好的/合适的参数,使得损失函数最小

那如何找到合适的参数呢?

  • 梯度下降:一个迭代方法,用于逐步更新参数,直到找到损失函数的最小值。
  • 正规方程法:这是一个直接求闭合解的方法,直接计算出参数的值

1、梯度下降

原理: 从任意的初始参数值开始,计算损失函数的梯度(即导数),然后按梯度的反方向更新参数。这个过程反复进行,直到损失函数收敛到一个最小值。

2、正规方程法

原理: 通过将损失函数的导数设置为零来解决最小化问题从而得到一个解析解。

四、应用场景

广告收益案例

一般来说,广告投放得越多,钱花得越多,知道的人越多,产品卖得越多。

已知线性回归方程是 Y = AX + B,我们将已有数据代入到这个方程中,然后求得出一组 A 和 B 的最优解,最终拟合出一条直线,使得图中每个点到直线的距离最短。

五、算法优缺点

优点:

  • 简单易实现
  • 解释性强

缺点:

  • 预测的精确度低 ​- 无法解决非线性分布的问题,局限性大

Released under the MIT License.