线性回归模型sklearn.LinearRegression()原理解析

 一、模型原理

Linear Rgegrssion基于最小二乘法的线性回归。是机器学习算法里面的基本算法,在sklearn.linear_model 的包里面。它能解决的问题是通过数据拟合,从而得到比较符合事物内部规律的数学表达式。也就是说寻找到数据与数据之间的规律所在。例如对于房价的预测。

二、线性回归的原理表示

我们先从最简单的函数看起,在只有一个变量的情况下,线性回归可以用方程:y = ax+b 表示。

Linear Regression模型会去不断的去调整下图直线的斜率和截距,使得残差平方和Residual sum of Squares(RSS)最小。线性回归模型sklearn.LinearRegression()原理解析_第1张图片

这里残差平方是指下图中同一个x坐标下,实际点位置的y轴数值减去拟合直线上y轴数值 的平方,将所有点的残差平方加起来就出来了RSS。

线性回归模型sklearn.LinearRegression()原理解析_第2张图片

将RSS处以数据数量就得出了MSE,这是一个重要的参数。Model Fitting的目标就是最小化MSE。 

线性回归模型sklearn.LinearRegression()原理解析_第3张图片

 一级行函数我们可以求导,那很多个变量的多级函数怎么求函数的系数呢?

一个是用最小二乘法(Ordinary Least Square),拟合一个带有系数** w = (w1, ..., wp) **的线性模型去最小化其预测结果与实际结果的残差平方和。它的公式为:

这个方法计算量比较大,因为矩阵的转置复杂度为n平方,为了减小计算量,后来有了梯度下降算法。 

机器学习中梯度下降的算法,是一个优化算法,通俗的来讲也就是沿着梯度下降的方向来求出一个函数的极小值。这个算法采用梯度下降,不断迭代,沿着梯度下降的方向来移动,求出极小值。梯度下降算法具体思想和应用可以看我的另外一篇。

你可能感兴趣的:(Pandas,Numpy,Python,机器学习,python)