机器学习:了解线性回归的原理
本文来自同步博客。
P.S. 不知道怎么如何更好地显示数学公式和排版文章。所以如果觉得文章下面格式乱的话请自行跳转到上述链接。后续我将不再对数学公式进行截图,毕竟行内公式截图的话排版会很乱。看原博客地址会有更好的体验。
上一篇文章介绍如何使用sklearn
进行线性回归预测。接下来本文将深入原理,了解线性回归是如何工作的。
基础概念
线性回归为何叫线性?实际上,像在处理Google的股票统计数据时,我们使用线性回归是在这堆数据所在的N维空间中找到一条线来描述这些数据的规律,因此才叫线性回归。这个过程称为拟合,这条线成为拟合线。
这条拟合线上的某个数据点或多或少都会偏离实际统计的值。实际统计数据和拟合线对应数据的差叫残差。很明显,残差可以反映模型的预测误差。
但是残差有正有负的,不方便计算。而且实际运用中我们不需要关注残差的正负,因为正负并不能描述误差的大小程度。为了降低计算复杂性,我们使用这个差值的平方进行计算。你可能会想到,差值的平方不是把差值给改了吗,没关系吗?答案是:数据确实变了,但没影响。因为我们真正使用的是残差的绝对值,用它描述误差大小的程度,而对这个绝对值进行平方后有同样的效果,毕竟y = |x| 与y = x^2有同样的单调性。
结合上述平方的想法,为了让预测更加准确,我们应该选择一条线,能够使得线上每个点与实际数据的残差平方的总和最小。这样的线才能叫最佳拟合线。
构建模型
接下来就是利用统计数据和上述原理来构建模型,也就是找最佳拟合线。
二维空间中,直线可以表示为:
我们已经有通过统计得到的很多份数据Xi和Yi,接下来的目标就是利用这些数据求解参数a和b。
求解过程暂时不展开,请参考这个讲述求解参数的文章。最终得到的结果如下图所示:
至此即可得到最佳拟合线的参数,代回直线方程中就可以作为预测模型,可用于对新的X进行计算从而预测出对应的Y。其中,
上述的这种方法称为最小二乘法(Least Squares)。扩展到N维空间,最小二乘法依旧可用,不过我怕陷入数学的漩涡暂时不敢继续深入。除此之外,在线性回归中求解参数的方法还有“梯度下降法(Gradient Descent)”。
R方理论评估模型
在前一篇文章中提到了模型的准确性accuracy
一词。实际上accuracy
在统计学中应该称为“可决系数”,它的计算方法有两种。在这里我尝试介绍R方理论作为计算方法。
R方的计算方法如下:
这个式子用1减去y的残差平方和与y的总方差的比值,y减去widehat{y}也就是残差,是拟合方程中对数据尚不能解释到的部分,用1减去不能解释的部分,那么剩下的就是可以解释的部分。也就是说自变量解释了因变量变动的百分比的多少,那么R^2 的值肯定是越大越好,意味着该模型把y的变动解释得好,R^2的范围显然是0到1。