关于线性回归、最小二乘法内容很多,本文只关注如何理解计算最优解使用的线性代数方法。
准备材料
先给出要解决的问题,简单说就是给出一堆统计数据(一个自变量,一个因变量)。然后分析这堆数据的线性规律。如下图:
from wikipedia.org方法有多种,如果要使用线性代数的方法,需要先将统计数据整理为矩阵方程形式。例如有以下三个数据([t,y])
[1,1]; [2,2]; [3,2]
目的是求数据的线性关系,即求以下线性方程(C,D为待定系数)
代入三个数据得到三个方程的方程组
转换为矩阵的形式为
以线性代数的观点看,就是在以[1;1;1]和[1;2;3]组成的列空间中找到向量[1;2;2]。但向量[1;2;2]并不在前面的列空间中(即[1;1;1]和[1;2;3]无论怎么组合也不能得到[1;2;2])。
将矩阵方程简写为
理解核心概念
在本例子中,矩阵A的列空间是个三维空间中的平面,而b向量不在这个平面空间中。所以这个矩阵方程无解。
如果要求最优解,也就是要求每个统计数据与求出的理想数据的误差绝对值最小(或者说误差平方最小,也就是最小二乘法的观念)
而在线性代数观念中,就是找到一个跟向量b差异最小的且处于A矩阵空间中的向量p(只有处于A向量空间中,矩阵方程才有解)。即误差向量e = b - p最小。几何角度观察三个向量的关系如下图
要获得最小的误差向量e,需要使向量e垂直于矩阵A的列空间平面。则矩阵A与误差e的内积为0。(推导过程中x加帽是为了说明这里的解并不是原矩阵方程的解,而是最优解)
求解该矩阵方程即可得到最优解直线系数,对于本例,结果如下
总结
理解所用的线性代数的方法的关键在于理解矩阵列向量空间、向量投影。
本文仅关注的核心观念,实际应用中会有一些实际问题(比如矩阵AT*A是否可逆)需要具体问题具体分析。
网友评论