最小二乘法

时间:2024-03-23 13:52:26

最小二乘法不永远是最优的方法。对于不同数据形式和建模需求,需要能自行选择合适的建模方式。本文 会对比最小二乘法(MSE)和最小绝对值法(MAE)来比较两者的性质。

最小二乘法

两者定义

我们首先来理清楚最小二乘法和最小绝对值法分别是什么。

它们都是用来衡量线性回归模型效果的方式。不同的是,最小二乘法(MSE, Mean Square Error)将误差的 平方求和,而最小绝对值法(MAE, Mean Absolute Error)则是把误差的绝对值加起来。在每种方法下使得 总体误差衡量最小的被称为最优解。用数学表达式可分别被如下表示:

最小二乘法:最小二乘法

最小绝对值法:最小二乘法

最小二乘法

                                                            (预测值、真实值和误差的定义)

更直观一些来说,我们可以将单个误差平方后和绝对值后的结果通过函数展现出来。可以看到误差平方是 一条抛物线,随着误差绝对值的增大,MSE会加速上升;而误差绝对值是两条直线,误差的单位增长会有 相同的MAE增长。这个性质也影响到它们解出来的最优模型的性质。

最小二乘法

                      (平方变换导致误差加速增长,而绝对值变换是一条直线)

两者差别

正是由于两者对于模型总体误差衡量的差别,导致了两者最终解的不同。

相比于最小绝对值法,最小二乘法有以下的优点:

最优解唯一。对于最小二乘法而言,只要自变量不是多重共线性的,解就是唯一的。但是对于最小绝对值 法却不是固定的。举例而言,如果我们没有任何自变量(x),而只用截距去回归。最小二乘法会用平均值作 为预测值,而最小绝对值法会得出中位数,而中位数往往是不唯一的。例如当数据是两个点:0和2时,最 小二乘法会用1作为预测值,但是最小绝对值法会用0~2的任意值作为预测值。

求解方便。对于最小二乘法而言,由于误差项是处处可导而且导数连续的,所以我们可以写出求解的等 式。但是对于最小绝对值法而言,由于在原点不可导,所以求解会比较复杂。而且由于导数相对恒定(正 误差始终为1,负误差始终为-1),所以最小绝对值法求解也会有导数过大的问题。

有好的解析性质。最小二乘法在正态分布假设下可以用极大似然估计(MLE)解释,也可以证明解是最优线性 无偏估计。

但之所以最小绝对值法也会被使用的原因,主要是最小二乘法的一个大缺点:受异常值扰动影响大。

正因为最小二乘法会将误差开平方,所以当某个预测值和真实值差别过大的时候,最小二乘法会愿意“牺 牲”其他本来预测不错的数据点,调节模型使得过差的数据点变得更好一些。在工业界中,常常会因为数 据品质的问题,数据集中被混入极端值被影响。而最小绝对值法认为单个大误差无所谓,它只在乎误差绝 对值的和。因此,在数据存在异常值的时候,最小二乘法不是一个较好的解法

结合两种方法——Huber Loss

在我们比较完两者的优劣,你可能意识到:最小二乘法的缺点主要是对于大误差会极度放大它的影响。那 我们能不能结合最小二乘法和最小绝对值法,得到一个综合两个优点的方法呢?因此,Huber Loss (SMAE, Smoothed MAE)被提出来,它划定了一个范围delta,当误差小于delta的时候,用最小二乘的方 法去算误差,当误差大于delta的时候,用最小绝对值法。用数学方式可表达如下:

最小二乘法

但是这种方法的一大问题就是我们引入了另一个另一个未知参数delta。为了确定最优的delta,我们还需 要尝试不同的参数来确定delta的选取。在此就不做展开了。

其他的解法

虽然说我们比较了最小二乘法和最小绝对值法,也介绍了两者的结合Huber Loss,但不是说在做线性回归 的时候只在这三种之间选择。事实上,这三种也只是解决了某一类问题。线性回归还可能遇到其他的问 题。例如:自变量(x)数量太多,模型容易过拟合。这时候我们就可以通过参数限制来解决这一类问题。有 兴趣的同学可以看我的其他回答[1]。

总结

最小二乘法不永远是最优的方法。对于不同数据形式和建模需求,需要能自行选择合适的建模方式。

相比于最小绝对值法,最小二乘法的优点在于最优解唯一、求解方便和有好的解析性质,但缺点在于受异常值扰动影响大

Huber Loss (SMAE, Smoothed MAE)结合最小二乘法和最小绝对值法的优点,但引入了另一个另一个未 知参数delta

线性回归还有许多问题不能被最小二乘法或最小绝对值法解决。线性回归里没有一个永远最优的方法