参考文献:
1. https://zhuanlan.zhihu.com/p/38128785
目录
1. 概述
最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。数学表达如下:
其中theoretical values 表示我们的假设拟合函数。measured values表示实际观测值,即样本。我们的目标是得到使目标函数Loss最小化时候的拟合函数的模型。
2. 应用
2.1 n次多项式拟合
为了研究一些复杂的函数,我们希望对函数自变量进行有限的加、减、乘法三种算数运算,便可以求出原函数值,因此我们通常使用高次多项式来近似表示函数:
假设我们有n组观测值,则最小二乘法的目标函数为:
为了使目标函数最优,即,我们对每个系数求其偏导数为0,即
至此,我们需要根据上述k+1个方程组,求出所有的系数,有两种方法可以求解:
(1)梯度下降法
(2)求解线性方程
最小二乘法和梯度下降法在线性回归问题中的目标函数是一样的(或者说本质相同),都是通过最小化均方误差来构建拟合曲线,
需要注意的一点是最小二乘法只适用于线性模型(这里一般指线性回归);而梯度下降适用性极强,一般而言,只要是凸函数,都可以通过梯度下降法得到全局最优值(对于非凸函数,能够得到局部最优解)。
梯度下降法只要保证目标函数存在一阶连续偏导,就可以使用。
二者区别:
(1)梯度下降法
计算对应的梯度值
更新
(2) 求解线性方程组
步骤:
(1)将最优化偏导数的方程组写为矩阵乘法形式:XA=Y
(2)利用数学消元算法来求解XA=Y
我们对k个偏导数=0的等式进行化简处理,即
下面我们将其写为矩阵相乘的形式,将所有只含有x的系数写为第一个矩阵X,即
将只含有待求解的多项式系数ak写为第二个矩阵A,即
最后将含有y的系数写为第三个矩阵Y,即
此时,我们就可以用矩阵的乘法来表示最初的k个偏导数为0的等式,即
从矩阵表达式可以看出,X和Y矩阵是已知的,A矩阵只包含待求解的f(x)的所有多项式系数,则问题即转化为线性方程组:XA=Y
求解线性方程组,大概有如下算法
(1)高斯消元法(全主元、列主消元)
(2)LU三角分解法
(3)雅克比迭代法
(4)逐次超松弛(SOR)迭代法
(5)高斯-赛德尔迭代法
2.2 多元线性模型
如果我们推广到更一般的情况,假如有更多的模型变量x1,x2,⋯,xn,可以用线性函数表示如下:
对于m个样本来说,可以用如下线性方程组表示:
如果将样本矩阵xij记为矩阵A,将参数矩阵记为向量β,真实值记为向量Y,上述线性方程组可以表示为:
对于最小二乘来说,最终的矩阵表达形式可以表示为:
其中m≥n,由于考虑到了常数项,故属性值个数由n变为n+1。
方程解法如下所示:
其中倒数第二行中的中间两项为标量,所以二者相等。然后利用该式对向量β求导:
由矩阵的求导法则:
可知(1)式的结果为:
令上式结果等于0可得:
上式就是最小二乘法的解析解,它是一个全局最优解。
3. 最小二乘法的局限
要保证最小二乘法有解,就得保证
是一个可逆阵(非奇异矩阵),那么
在什么情况下不可逆呢?
(1)当样本的数量小于参数向量(即β)的维度时,此时
一定是不可逆的。例如:你有1000个特征,但你的样本数目小于1000的话,那么构造出的
就是不可逆的。
(2)在所有特征中若存在一个特征与另一个特征线性相关或一个特征与若干个特征线性相关时,此时
也是不可逆的。为什么呢?
具体来说假设,A是m*n维的矩阵,若存在线性相关的特征,则R(A)<n,R(AT)<n,R(ATA)<n,所以ATA不可逆。
(3)最小二乘法由于是最小化均方差,所以它考虑了每个样本的贡献,也就是每个样本具有相同的权重;由于它采用距离作为度量,使得他对噪声比较敏感(最小二乘法假设噪声服从高斯分布),即使得他它对异常点比较敏感。因此,人们提出了加权最小二乘法,
相当于给每个样本设置了一个权重,以此来反应样本的重要程度或者对解的影响程度。