1. 预备知识
1.1 从矩阵子空间角度理解矩阵向量乘
定义:设矩阵为的实数矩阵,则它的列空间为其所有列向量为基向量生成的上的子空间,记作.
结论:的结果可以看做是对向量的一种线性变换;也可以看做是矩阵的个列向量的线性组合,其中组合系数为 。显然,。
理解:设,,则
.故,可看成,求解这样一个,它的各分量组成的系数能使得矩阵的个列向量的线性组合刚好等于向量。
1.2 垂直
向量与向量垂直:向量与向量垂直,则内积为0:
向量与空间垂直:向量与空间垂直,则的基向量都与垂直:
写成矩阵的紧凑形式:
即:
2. 线性最小二乘
由1.1知,无解,可理解为:,如:,。此时,一种很直观的解法为,求解这样一个近似解,它的各分量组成的系数能使得矩阵的个列向量的线性组合刚好等于向量 在中的投影,即.
利用投影性质及1.2内容:
所以:
3. 非线性最小二乘
与线性情况类似,不过此时求解方程为,需要做一个线性化。
对在给定初始点处作一阶泰勒展开(假设可以这么展开):
上式中可看作是需要求解的当前点与真值点之间的差值。这时就可以用线性最小二乘方法求解问题了:
然后,修改当前点为,再进行线性化、求解线性最小二乘解,继续迭代下去,直至达到收敛条件(如到达最大迭代步数、步长小于阈值、前后误差变化小于阈值等等)为止了。至于泰勒展开和迭代的收敛性质则是另外的问题了。
另外,如果为代价函数,目标为最小化代价函数的平方,则令代入上式即可求解了。