线性回归训练数据拟合过程及Python LinearRegression 代码实现

  • Post author:
  • Post category:python


对于机器学习来说,最简单的模型就是线性回归,线性回归往往作为机器学习的入门模型来学习,线性回归,顾名思义就是数据集合的分布可以用一条直线(二维)或者一个平面(三维)或者更多维度的线性方程 来进行划分界限的分布,举个很直观的例子:


上面是二维和三维的线性回归的界限分隔示意图,线性回归最典型的例子就是房价的问题,如上面图中,左边的图显示了 房屋的大小对房价的影响,只关注一个变量(房屋大小)对房价的影响。

上面图中右面的图中是显示了两个变量:房屋大小、附近学校的质量 对房价的影响。

那么怎么能得出这个划分的界限的方程的系数呢?计算机是怎么学习出来的?

以最简单的二维数据为例,如果 数据分隔的界限 是直线 y = w1 * x + w2,那么线性回归的最终目标是通过对已知数据集的学习来算出 直线y = w1 * x + w2的参数值 w1 和w2

那么怎么才能算出这两个参数呢?具体学习的过程是如何的呢?


一、线性回归拟合数据

首先,计算机会随机生成w1 和w2,也就生成了一条直线,然后看下各个数据点与这条直线的距离,看看如何对这条直线进行调整使得各个点与这个直线的距离达到最优的状态,就得到了最终的模拟曲线,具体过程见下图:

如上图所示,在随机生成了一条直线后,各个点都想让直线离得更近一点更近一点,具体如何调整呢?这里有调整的策略及算法:


(1) 绝对值技巧



版权声明:本文为liujing319原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。