用最小二乘法求解多元线性回归的参数

最小二乘法

如何求解多元线性回归残差平方和RSS最小化的参数向量?这种通过最小化真实值和预测值之间的RSS来求解参数的方法叫做最小二乘法。
求解极值的第一步往往是求解一阶导数并让一阶导数等于0,最小二乘法也不能免俗。因此,首先在残差平方和RSS上对参数向量求导。这里的过程涉及少数矩阵求导的内容,需要查表来确定,感兴趣可以去维基百科去查看矩阵求导的详细公式的表格:
https://en.wikipedia.org/wiki/Matrix_calculus
接下来,对 ω \boldsymbol{\omega} ω求导:
∂ R S S ∂ ω = ∂ ∣ ∣ y − X ω ∣ ∣ 2   2 ∂ ω = ∂ ( y − X ω ) T ( y − X ω ) ∂ ω \large\boldsymbol{\frac{\partial{RSS}}{\partial{\omega}}=\frac{\partial{||y-X\omega||_2\,^2}}{\partial{\omega}}=\frac{\partial{(y-X\omega)^T(y-X\omega)}}{\partial{\omega}}} ωRSS=ωyXω22=ω(yXω)T(yXω)
∵ ( A − B ) T = A T − B T 并 且 ( A B ) T = B T ∗ A T ∴ = ∂ ( y T − ω T X T ) ( y − X ω ) ∂ ω = ∂ ( y T y − ω T X T y − y T X ω + ω T X T X ω ) ∂ ω \because(A-B)^T=A^T-B^T并且(AB)^T=B^T*A^T\\\therefore=\large\boldsymbol{\frac{\partial{(y^T-\omega^TX^T)(y-X\omega)}}{\partial{\omega}}=\frac{\partial{(y^Ty-\omega^TX^Ty-y^TX\omega+\omega^TX^TX\omega)}}{\partial{\omega}}} (AB)T=ATBT(AB)T=BTAT=ω(yTωTXT)(yXω)=ω(yTyωTXTyyTXω+ωTXTXω)
∵ \because 矩阵求导中,α为常数,有如下规则:
∂ α ∂ A = 0 , ∂ A T B T C ∂ A = B T C , ∂ C T B A ∂ A = B T C , ∂ A T B A ∂ A = ( B + B T ) A \large\boldsymbol{\frac{\partial\alpha}{\partial{A}}=0,\frac{\partial{A^TB^TC}}{\partial{A}}=B^TC,\frac{\partial{C^TBA}}{\partial{A}}=B^TC,\frac{\partial{A^TBA}}{\partial{A}}=(B+B^T)A} Aα=0,AATBTC=BTC,ACTBA=BTC,AATBA=(B+BT)A
= 0 − X T y − X T y + 2 X T X ω = X T X ω − X T y \large\boldsymbol{=0-X^Ty-X^Ty+2X^TX\omega}\\\large\boldsymbol{=X^TX\omega-X^Ty} =0XTyXTy+2XTXω=XTXωXTy
我们让求导后的一阶导数为0:
X T X ω − X T y = 0 \large\boldsymbol{X^TX\omega-X^Ty}=0 XTXωXTy=0
X T X ω = X T y \large\boldsymbol{X^TX\omega=X^Ty} XTXω=XTy
左乘一个 ( X T X ) − 1 \large\boldsymbol{(X^TX)^{-1}} (XTX)1则有:
ω = ( X T X ) − 1 X T y \large\boldsymbol{\omega=(X^TX)^{-1}X^Ty} ω=(XTX)1XTy
到了这里,希望能够将 ω \boldsymbol{\omega} ω留在等式的左边,其他与特征矩阵有关的部分都放到等式的右边,如此就可以求出 ω \boldsymbol{\omega} ω的最优解了。这个功能非常容易实现,只需要我们左乘 X T X \boldsymbol{X^TX} XTX的逆矩阵就可以。在这里,逆矩阵存在的充分必要条件是特征矩阵不存在多重共线性
假设矩阵的逆是存在的,此时 ω \boldsymbol{\omega} ω就是我们参数的最优解。求出这个参数向量,就解出了 X ω \boldsymbol{X\omega} Xω,也就能够计算出预测值 y ^ \boldsymbol{\hat{y}} y^了。对于多元线性回归的理解,到这里就足够了,如果还希望继续深入,可以给一个方向:矩阵 X T X \boldsymbol{X^TX} XTX其实是使用奇异值分解来进行求解的,可以仔细去研究一下。以算法工程师和数据挖掘工程师为目标的人,能够手动推导上面的求解过程是基本要求。
除了多元线性回归的推导之外,这里还需要提到一些在上面的推导过程中不曾被体现出来的问题。在统计学中,使用最小二乘法来求解线性回归的方法是一种“无偏估计”的方法,这种无偏估计要求因变量,也就是标签的分布必须服从正态分布。这是说,y必须经由正太化处理(比如说取对数,或者使用QuantileTransformer或者PowerTransformer这些功能)。在机器学习中,会先考虑模型的效果,如果模型效果不好,那可能考虑改变因变量的分布。

你可能感兴趣的:(机器学习,算法,统计,机器学习,算法,统计,最小二乘法,多元线性回归)