聊聊深度学习这档子事(2):最小二乘法

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

聊聊深度学习这档子事(2):最小二乘法

作者: 许野平 2016-06-18 于济南

1. 背景知识

当观测数据远远大于待定的参数时,如何尽可能准确地求出数学模型参数的近似解?这个问题通常采用最小二乘法。我们先来了解一下最小二乘法的背景资料。

1801年,意大利天文学家朱赛普·皮亚齐发现了第一颗小行星谷神星。经过40天的跟踪观测后,由于谷神星运行至太阳背后,使得皮亚齐失去了谷神星的位置。随后全世界的科学家利用皮亚齐的观测数据开始寻找谷神星,但是根据大多数人计算的结果来寻找谷神星都没有结果。时年24岁的高斯也计算了谷神星的轨道。奥地利天文学家海因里希·奥尔伯斯根据高斯计算出来的轨道重新发现了谷神星。

高斯使用的最小二乘法的方法发表于1809年他的著作《天体运动论》中。法国科学家勒让德于1806年独立发明“最小二乘法”,但因不为世人所知而默默无闻。勒让德曾与高斯为谁最早创立最小二乘法原理发生争执。

1829年,高斯提供了最小二乘法的优化效果强于其他方法的证明,因此被称为高斯-马尔可夫定理。

2. 从剖析简单问题入手

好吧,我们言归正传。我们仍然从前面那个简单的问题入手,假设手头有三个人的身高/体重调查数据:

编号身高(cm)体重(kg)
117880
216255
316853

又假设身高x和体重y关系的数学模型如下:

y=ax+b

把调查数据代入上面数学模型得到:

178a+b=80162a+b=55168a+b=53

高斯当年是这样考虑的,方程可以写成如下形式:

178a+b80=0162a+b55=0168a+b53=0

实际上可以合并成一个式子:

(178a+b80)2+(162a+b55)2+(168a+b53)2=0

虽然让上式左边等于零很困难,但我们想办法让左边的值尽可能小,尽可能接近零。看看参数a,b取何值时,左边取得最小值。然后用这时a,b的值作为方程的近似解总可以吧?于是,求解方程组近似解的问题就变成求下面函数最小值问题了:

φ(a,b)=(178a+b80)2+(162a+b55)2+(168a+b53)2

接下来如何求a,b的值我就不多讲了,只提示一下,求解过程不复杂,分别令左边式子对a,b的偏导数等零即可。如果实在对这个过程感兴趣,请查阅相关教程文献。

3. 对最小二乘法的质疑

上述方法的名字叫做最小“二”乘法,为什么要用“二”乘呢?我想这和代数式中的平方运算有关系。
其实还有很多可能的转化方法,例如:

φ(a,b)=|178a+b80|+|162a+b55|+|168a+b53|


φ(a,b)=(178a+b80)4+(162a+b55)4+(168a+b53)4

由这两个例子做启发,我们可能会想起很多五花八门的转化方法。为什么数学家偏偏喜欢最小二乘法的形式呢?

比较直观的判断是,采用绝对值形式,不容易求导数,所以数学理论研究中常用平方运算代替绝对值。至于四次方那种形式,原因就是代数式次数太高,不容易求最小值。求导以后的式子是三次代数式,解方程太困难了。

最靠谱的解释前面已经提到了,高斯提供了最小二乘法的优化效果强于其他方法的证明,被称为高斯-马尔可夫定理。

4. 对高斯证明的质疑

没看过高斯的证明,但是直觉对这个结论放心不下,于是又作了进一步的分析,这里与大家分享一下体会。

给定数学模型ax+by+1=0和一组训练样本(观察数据)(x1,y1),(x2,y2),(x3,y3),我们得到如下方程组:

ax1+by1+1=0ax2+by2+1=0ax3+by3+1=0

于是我们得到最小二乘法的损失函数:

φ(a,b,c)=(ax1+by1+1)2+(ax2+by2+1)2+(ax3+by3+1)2

给我的感觉是,如果对训练样本点的坐标进行平移或者旋转变换,最优解对应直线与训练样本的相对位置可能会产生变化。

如果把损失函数修改成下面的形式,损失函数是训练样本到模型直线距离的平方和,则可以避免这个问题。

φ(a,b,c)=(ax1+by1+1)2a2+b2+(ax2+by2+1)2a2+b2+(ax3+by3+1)2a2+b2

但是,这样一来的话,求最优解的过程就太复杂了。所以我觉得,最小二乘法只是在容易计算和完美计算之间选择了一个折中。这个话题如果谁有更深入的见解,可以分享一下。看了一下高斯—马尔可夫定理,所谓的最小二乘法最优的证明,感觉就是同义语重复,没能解答我的困惑。下面附带介绍一下这个定理。

高斯—马尔可夫定理
高斯—马尔可夫定理(Gauss–Markov theory)在给定经典线性回归的假定下,最小二乘估计量是具有最小方差的线性无偏估计量。

高斯–马尔可夫定理的意义在于,当经典假定成立时,我们不需要再去寻找其它无偏估计量,没有一个会优于普通最小二乘估计量。也就是说,如果存在一个好的线性无偏估计量,这个估计量的方差最多与普通最小二乘估计量的方差一样小,不会小于普通最小二乘估计量的方差。

5. 欠定、适定和超定方程

前面一直讨论超定方程,这里给个简单的总结。

5.1 超定方程组

超定方程组:方程个数大于未知量个数的方程组。

例如,如果给定的三点不在一条直线上, 我们将无法得到这样一条直线,使得这条直线同时经过给定这三个点。 也就是说给定的条件(限制)过于严格, 导致解不存在。在实验数据处理和曲线拟合问题中,求解超定方程组非常普遍。比较常用的方法是最小二乘法。形象的说,就是在无法完全满足给定的这些条件的情况下,求一个最接近的解。

曲线拟合的最小二乘法要解决的问题,实际上就是求以上超定方程组的最小二乘解的问题。

5.2 欠定方程组

欠定方程组: 方程个数小于未知量个数的方程组。

内点法和梯度投影法是目前解欠定方程组的常用方法。

5.3 适定方程组

适定方程组: 方程个数等于未知量个数的方程组。

适定方程组解法在普通的线性代数课程中已经详细讨论了。

6. 广义逆矩阵

6.1 最小二乘法和广义逆矩阵

对于超定方程组AX=B,借助最小二乘法可求得最小二乘解。这个解相当于进行如下操作:

X=A+B

其中,A+称为矩阵 A 的广义逆矩阵。很多计算工具包都提供了广义逆矩阵计算方法,例如在Matlab中就提供了广义逆矩阵求法。

6.2 其他广义逆矩阵

除了最小二乘法外,还有其他求超定方程组近似解的方法,这些方法通常也对应各自的广义逆矩阵。因此,作为逆矩阵的推广,广义逆矩阵有很多种不同的形式。它们的共同特点是,如果超定方程组退化为适定方程组,它们都等价于普通的逆矩阵运算。

7. 推广到非线性模型

前面用最小二乘法拟合了 y=ax+b 这样的线性模型,其实该方法也很容易推广到一些非线性模型。例如假定y=ax2+bx+c,代入训练数据可能得到如下形式的超定方程组:

ax21+bx1+c=y1ax22+bx2+c=y2ax23+bx3+c=y3......ax2n+bxn+c=yn

这是关于参数 a,b,c 的线性超定方程组,用最小二乘法可以求解。这个例子中模型就是 (x2,x,1) 的线性组合。显然,如果数学模型可以用若干函数的线性组合表示,则该数学模型可以用最小二乘法求解。这一点很重要,我们后面会仔细讨论这个话题。随着讨论的深入,我们很快就要进入机器学习的领地了。

小结

到目前为止,我们了解到:

  • 最小二乘法是求解线性超定方程组的常用方法;
  • 如果数学模型可以表示成若干函数的线性组合,则可用最小二乘法求解。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

许野平

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值