定义
线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。
回归的主要目的是为了预测数值类型的目标值,最简单的办法就是构建一个关于自变量和因变量的关系式,比如某套房屋的价格计算公式如下:
房 价 ( 万 元 ) = 1.5 ∗ 建 筑 面 积 + 0.85 ∗ 公 摊 面 积 房价(万元)=1.5*建筑面积+0.85*公摊面积 房价(万元)=1.5∗建筑面积+0.85∗公摊面积
这就是所谓的回归方程,其中的1.5,0.85成为回归系数,求这些回归系数的过程就是回归。一旦得到了回归方程,我们可以方便的预测出来一套新房子的价格是多少。转换成数学语言,假设回归系数是一个列向量,我们的输入值是一个行向量,我们直接用这两个向量相乘就是最终的结果。
算法原理
如何从一堆数据中求出回归系数?
我们假设输入数据存储在矩阵 X \bm{X} X中,它是一个m*n的矩阵,回归系数存放在向量 w \bm{w} w中,它是一个n维列向量。那么对于一个新的输入 x 1 \bm{x}_{1} x1,预测结果通过 Y 1 = x 1 T w \bm{Y}_{1}=\bm{x}_{1}^{T}\bm{w} Y1=x1Tw得到。现在的重点就是如何求出 w \bm{w} w,一个常用的方法就是找到使误差最小的 w \bm{w} w。这里的误差是指实际值和预测值直接的差值,因为差值有正有负,所有我们采用误差的平方来计算。
平方误差的公式如下:
∑ i = 1 m ( y 1 − x 1 T w ) \sum_{i=1}^{m}(\bm{y}_{1}-\bm{x}_{1}^{T}\bm{w}) i=1∑m(y1−x1Tw)
转换成矩阵形式可以表达为 ( y − X w ) T ( y − X w ) (y-\bm{Xw})^{T}(y-\bm{Xw}) (y−Xw)T(y−Xw),
对 w \bm{w} w求导,得到 2 X T ( X w − y ) 2\bm{X}^{T}(\bm{Xw}-y) 2XT(Xw−y),令导数值为0,得到 w \bm{w}