聊聊深度学习这档子事(2):最小二乘法
作者: 许野平 2016-06-18 于济南
1. 背景知识
当观测数据远远大于待定的参数时,如何尽可能准确地求出数学模型参数的近似解?这个问题通常采用最小二乘法。我们先来了解一下最小二乘法的背景资料。
1801年,意大利天文学家朱赛普·皮亚齐发现了第一颗小行星谷神星。经过40天的跟踪观测后,由于谷神星运行至太阳背后,使得皮亚齐失去了谷神星的位置。随后全世界的科学家利用皮亚齐的观测数据开始寻找谷神星,但是根据大多数人计算的结果来寻找谷神星都没有结果。时年24岁的高斯也计算了谷神星的轨道。奥地利天文学家海因里希·奥尔伯斯根据高斯计算出来的轨道重新发现了谷神星。
高斯使用的最小二乘法的方法发表于1809年他的著作《天体运动论》中。法国科学家勒让德于1806年独立发明“最小二乘法”,但因不为世人所知而默默无闻。勒让德曾与高斯为谁最早创立最小二乘法原理发生争执。
1829年,高斯提供了最小二乘法的优化效果强于其他方法的证明,因此被称为高斯-马尔可夫定理。
2. 从剖析简单问题入手
好吧,我们言归正传。我们仍然从前面那个简单的问题入手,假设手头有三个人的身高/体重调查数据:
| 编号 | 身高(cm) | 体重(kg) |
|---|---|---|
| 1 | 178 | 80 |
| 2 | 162 | 55 |
| 3 | 168 | 53 |
又假设身高x和体重
把调查数据代入上面数学模型得到:
高斯当年是这样考虑的,方程可以写成如下形式:
实际上可以合并成一个式子:
虽然让上式左边等于零很困难,但我们想办法让左边的值尽可能小,尽可能接近零。看看参数a,b取何值时,左边取得最小值。然后用这时a,b的值作为方程的近似解总可以吧?于是,求解方程组近似解的问题就变成求下面函数最小值问题了:
接下来如何求a,b的值我就不多讲了,只提示一下,求解过程不复杂,分别令左边式子对a,b的偏导数等零即可。如果实在对这个过程感兴趣,请查阅相关教程文献。
3. 对最小二乘法的质疑
上述方法的名字叫做最小“二”乘法,为什么要用“二”乘呢?我想这和代数式中的平方运算有关系。
其实还有很多可能的转化方法,例如:
或
由这两个例子做启发,我们可能会想起很多五花八门的转化方法。为什么数学家偏偏喜欢最小二乘法的形式呢?
比较直观的判断是,采用绝对值形式,不容易求导数,所以数学理论研究中常用平方运算代替绝对值。至于四次方那种形式,原因就是代数式次数太高,不容易求最小值。求导以后的式子是三次代数式,解方程太困难了。
最靠谱的解释前面已经提到了,高斯提供了最小二乘法的优化效果强于其他方法的证明,被称为高斯-马尔可夫定理。
4. 对高斯证明的质疑
没看过高斯的证明,但是直觉对这个结论放心不下,于是又作了进一步的分析,这里与大家分享一下体会。
给定数学模型ax+by+1=0和一组训练样本(观察数据)(x1,y1),(x2,y2),(x3,y3),我们得到如下方程组:
于是我们得到最小二乘法的损失函数:
给我的感觉是,如果对训练样本点的坐标进行平移或者旋转变换,最优解对应直线与训练样本的相对位置可能会产生变化。
如果把损失函数修改成下面的形式,损失函数是训练样本到模型直线距离的平方和,则可以避免这个问题。
但是,这样一来的话,求最优解的过程就太复杂了。所以我觉得,最小二乘法只是在容易计算和完美计算之间选择了一个折中。这个话题如果谁有更深入的见解,可以分享一下。看了一下高斯—马尔可夫定理,所谓的最小二乘法最优的证明,感觉就是同义语重复,没能解答我的困惑。下面附带介绍一下这个定理。
高斯—马尔可夫定理
高斯—马尔可夫定理(Gauss–Markov theory)在给定经典线性回归的假定下,最小二乘估计量是具有最小方差的线性无偏估计量。高斯–马尔可夫定理的意义在于,当经典假定成立时,我们不需要再去寻找其它无偏估计量,没有一个会优于普通最小二乘估计量。也就是说,如果存在一个好的线性无偏估计量,这个估计量的方差最多与普通最小二乘估计量的方差一样小,不会小于普通最小二乘估计量的方差。
5. 欠定、适定和超定方程
前面一直讨论超定方程,这里给个简单的总结。
5.1 超定方程组
超定方程组:方程个数大于未知量个数的方程组。
例如,如果给定的三点不在一条直线上, 我们将无法得到这样一条直线,使得这条直线同时经过给定这三个点。 也就是说给定的条件(限制)过于严格, 导致解不存在。在实验数据处理和曲线拟合问题中,求解超定方程组非常普遍。比较常用的方法是最小二乘法。形象的说,就是在无法完全满足给定的这些条件的情况下,求一个最接近的解。
曲线拟合的最小二乘法要解决的问题,实际上就是求以上超定方程组的最小二乘解的问题。
5.2 欠定方程组
欠定方程组: 方程个数小于未知量个数的方程组。
内点法和梯度投影法是目前解欠定方程组的常用方法。
5.3 适定方程组
适定方程组: 方程个数等于未知量个数的方程组。
适定方程组解法在普通的线性代数课程中已经详细讨论了。
6. 广义逆矩阵
6.1 最小二乘法和广义逆矩阵
对于超定方程组AX=B,借助最小二乘法可求得最小二乘解。这个解相当于进行如下操作:
其中,A+称为矩阵 A 的广义逆矩阵。很多计算工具包都提供了广义逆矩阵计算方法,例如在Matlab中就提供了广义逆矩阵求法。
6.2 其他广义逆矩阵
除了最小二乘法外,还有其他求超定方程组近似解的方法,这些方法通常也对应各自的广义逆矩阵。因此,作为逆矩阵的推广,广义逆矩阵有很多种不同的形式。它们的共同特点是,如果超定方程组退化为适定方程组,它们都等价于普通的逆矩阵运算。
7. 推广到非线性模型
前面用最小二乘法拟合了
这是关于参数 a,b,c 的线性超定方程组,用最小二乘法可以求解。这个例子中模型就是 (x2,x,1) 的线性组合。显然,如果数学模型可以用若干函数的线性组合表示,则该数学模型可以用最小二乘法求解。这一点很重要,我们后面会仔细讨论这个话题。随着讨论的深入,我们很快就要进入机器学习的领地了。
小结
到目前为止,我们了解到:
- 最小二乘法是求解线性超定方程组的常用方法;
- 如果数学模型可以表示成若干函数的线性组合,则可用最小二乘法求解。

本文通过实例介绍最小二乘法的基本原理及应用,探讨其在超定方程组求解中的优势,并对比其他方法,同时涉及广义逆矩阵及非线性模型的应用。
192

被折叠的 条评论
为什么被折叠?



