当前位置:   article > 正文

【20220118】【机器/深度学习】线性回归中的最小二乘法(LR)_最小二乘法求线性回归方程

最小二乘法求线性回归方程

一、什么是最小二乘法(LS)?

        最小二乘法是回归问题中的一种数学优化工具,它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便的求得位置的数据,使得求得的数据与真值之间误差的平方和最小。

        最小二乘,广义来说就是机器学习中的平方损失函数:

                                                         L(Y,f(X)))=(Yf(X)))2

        根据模型函数f 的线性和非线性之分,最小二乘也相应地被分为线性最小二乘法和非线性最小二乘法。

        (参考:最小二乘法

二、解决什么问题?

(1)曲线拟合,即拟合模型参数(如最简单的 y=kx+b)

(2)求解方程组的解(如 AX=Y)

        (参考:什么是最小二乘法?

三、线性最小二乘法特例:求解 y=kx+b 方程的最优参数

        假设有一个样本集合 (xi,yi), i=1,2,...,n是 y=kx+b 直线上的 n 个点,试用这个样本集合拟合出这条直线,也就是求解该线性方程的参数解。

        目标函数:

                                                        J(k,b)=ni=1(kxi+byi)2

        利用目标函数在极值点处各个参数的偏导数为 0 的性质,即可解得模型参数:

        (参考:最小二乘法入门(Matlab直线和曲线拟合))        

        (参考:最小二乘法的本质是什么?

四、求解一般的线性最小二乘法

        上述三是线性最小二乘法一个特例,使用的是最简单的代数法解法,下面介绍更方便计算的矩阵法解法。

1. 利用 LS 求模型参数

        如下为线性最小二乘法求解模型参数更一般的形式,其中 d 为参数维度,n 为样本个数。

                                ​​​​​​​        ​​​​​​​        ​​​​​​​        dj=1(bjxij)=yi,i=1,2,...,n

        上述一般形式的最小二乘法公式可用矩阵法表示:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        XB=Y

        采用 LS 法,问题转换为:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        J(B)=XBY

                                                                ˆB=argmin(J(B))        

        通过对 J(B) 进行微分求最值,可得:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​XTXB=XTY(称该式为正规方程)

        当XTX 为非奇异矩阵时,B 有唯一解:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​​​​​​​​        ˆB=(XTX)1XTY

        (参考:最小二乘法(Least Squares Method))    

2. 利用 LS 求线性方程组

        如下为线性最小二乘法求解线性方程组更一般的形式, 其中 d 为参数维度,n 为样本个数。

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        yj=ni=1(bijxi),j=1,2,...,d

        用矩阵方式表示:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        BX=Y

        则有:        

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        XLS=(BTB)BTY

        (参考:一般线性最小二乘法

        (参考:线性回归原理及实现(一):最小二乘法

五、最小二乘法的优缺点

1. 优点

        (1)原理简单,容易实现;

        (2)最优解唯一。

        (参考:最小二乘法不永远是最优的方法

2. 缺点

        (1)需要计算 XTX​​​​​​​ 的逆矩阵,而 XTX 可能非奇异,即它的逆矩阵不存在,这样就没有办法直接用正规方程求解;

        (2)另一方面,当样本特征很大时,求解逆矩阵非常耗时;

        (3)如果拟合函数不是线性函数,那么无法使用最小二乘法,需要通过某种技巧转换为线性才能使用。(这种情况可以使用梯度下降法)

        (参考:最小二乘法(least sqaure method)


知识点

1. 正规方程中 XTX 在哪些情况下不可逆?

        (1)当样本的数量小于参数维度时;

        (2)当 X 不是满秩时(在机器学习里表示:特征矩阵中至少存在某一个特征向量和其他特征线性相关)。

2. XTX 不可逆时,应该怎么解决?

        (1)增加样本量;

        (2)做特征选择,保证特征矩阵满秩;

        (3)正则化。

        (参考:机器学习十大经典算法之最小二乘法

3. 闭式解和数值解

        闭式解:又称解析解,是通过严格的公式推导,计算出来的函数解(有严格的、具体的函数形式);

        数值解:采用某种计算方法,近似计算出来的一个数值,它不是严格的函数解,只是一个近似解。

        (参考:闭式解(解析解))        

        (参考:什么是闭式解

4. 正规方程

        称式 XTXB=XTY 为正规方程。一般情况下,求解线性回归模型通常使用正规方程的方式。使用正规方程求解,只需要构造模型参数矩阵、自变量矩阵、因变量矩阵,构造出矩阵之后就可以交给计算机进行矩阵运算了。

        正规方程只适用于线性模型,不适用于逻辑回归等其他模型。梯度下降法适用于各种类型的模型。

        (参考:正规方程(标准方程)法---笔记

        (参考:线性回归与最小二乘法

        (参考:正规方程的推导过程

5. 递推/序贯最小二乘法(RLS)

        如果样本数据是一个时序序列,那么随着时间推移,数据会不断的过来,在这种情况下,不停的使用 LS 方法求解是非常消耗资源和内存的,所以需要采用一种递推/序贯的方式实现解的不断更新。

        RLS 目标:从 LS 的解 ​​​​​​​X_{k-1} 推导出 X_{k}=X_{k-1}+X_{delta}​​​​​​​ 的形式,其中 X_{delta} 为修正量。

        (参考:递推最小二乘法推导(RLS)——全网最简单易懂的推导过程

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/751050
推荐阅读
相关标签
  

闽ICP备14008679号