1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 最小二乘法原理详解

最小二乘法原理详解

时间:2019-09-11 12:35:52

相关推荐

最小二乘法原理详解

这是从高等数学方面理解最小二乘法,个人觉得这种最方便理解。

本文是 Least squares approximation 的学习笔记。这个文章从线性代数的角度,对最小二乘法的原理讲解的通俗易懂。(转载自知乎:/p/76644659)

1 提出问题

如上图所示:

A: 是一个n行k列的矩阵,每行可以看作是一个观测数据(或者一个训练样本)的输入(features);

b: 是一个n维的列向量,每项表示一个观测数据的目标值(ground truth target value);

x: 是一个k维的列向量,是需要构建的线性模型的参数。

我们希望通过已知的A和b,求解出一个x,使得Ax = b。 但是,一般情况下,不存在满足这个等式的x。 怎么办?

2 分析问题

Ax = b这个等式的左边,可以看作是一个矩阵A的列空间(Column space of A)。 这个等式没有解,可以理解为向量b不在矩阵A的列空间上。 如下图所示:

A的列空间可以抽象成一个超平面,b可以抽象成一个向量。b不在超平面上。

解决办法是:在超平面上,找一个最接近b的向量。假设这个最接近b的向量是Ax*(其中x* 就是最优的参数解),那么,向量b和向量Ax之间的距离应该是最小的。所以,可以通过最小化b和Ax之间的距离,来求出x*,如下图所示:

这个就是最小二乘(least square estimate、least square solution、least square approximation)的含义。结合上图中的公式,最小二乘计算的是:求一个近似的x*,使b和Ax*各项的差的平方的和最小。

3 解决问题

从上图可以看出,在超平面上,距离b最近的向量是b向量在超平面上的投影向量v。所以,Ax*其实就是这个投影向量v。所以:

1)Ax* - b 得到的向量, 与矩阵A的列空间正交;

2)矩阵A的列空间正交的向量,正好是矩阵A的转置的零空间中的向量;

3)Ax* - b 是矩阵A的转置的零空间的一个向量,所以Ax - b 乘 A的转置 得到一个0向量

如下图所示:

根据上面的等式,可以得出:

总结整个最小二乘的逻辑:

1)已知A,b,根据等式Ax = b求解x;

2)但是,以上等式没有解,只能求一个最优的近似的解;

3)根据最小二乘算法,可以求出一个x*,就是 Ax = b的最优解。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。