机器学习多元线性回归模型推导
1 基础知识必备
1.1 线性代数
矩阵的运算
线性代数在数学、物理和计算机方面扮演的角色是非常非常重要,建议大家可以在闲暇时间认真复习复习相关的知识,对于我们理解自己的相关工作以及提升自己非常有用。接下来就简单且“重点”的概括一下矩阵的运算,毕竟在后面的推导以及学习过程中要用到。
定理一 设AAA,BBB,CCC均为m×nm\times nm×n矩阵,kkk,lll为数. 则
- A+BA+BA+B=B+AB+AB+A;(加法的交换律)
- (A+B)+C=A+(B+C(A+B)+C=A+(B+C(A+B)+C=A+(B+C; (加法的结合律)
- A+0=AA+0=AA+0=A;(加法单位元的存在性)
- A+(−A)=0A+(-A)=0A+(−A)=0;(加法逆元的存在性)
- 1A=A1A=A1A=A;
- (kl)A=k(lA)(kl)A=k(lA)(kl)A=k(lA);
- k(A+B)=kA+kBk(A+B)=kA+kBk(A+B)=kA+kB;(数乘对加法的结合律)
- (k+l)A=kA+lA(k+l)A=kA+lA(k+l)A=kA+lA;(数的加法对数乘的分配率)
定理二 设AAA,BBB,CCC都是矩阵,kkk是数.则在下列各项中有意义的情况下,等式成立.
- (AB)C=A(BC)(AB)C=A(BC)(AB)C=A(BC);(乘法的结合律)
- k(AB)=k(A)B=A(kB)k(AB)=k(A)B=A(kB)k(AB)=k(A)B=A(kB);
- AE=A,EB=BAE=A,EB=BAE=A,EB=B;(乘法单位元的存在性)
- A(B+C)=AB+ACA(B+C)=AB+ACA(B+C)=AB+AC; (乘法对加法的左分配率)
- (A+B)C=AC+BC(A+B)C=AC+BC(A+B)C=AC+BC. (乘法对加法的右分配率)
定义 设矩阵AAA为m×nm\times nm×n . 称矩阵BBB为A的转置,记做B=ATB=A^{T}B=AT 或B=A′B=A'B=A′,如果BBB是一个n×mn\times mn×m矩阵并且对任意i=1,2,...,n,j=1,2,...,m,[B]ij=Ajii=1,2,...,n,j=1,2,...,m,[B]_{ij}=A_{ji}i=1,2,...,n,j=1,2,...,m,[B]ij=Aji,也就是说,如果
A=[a11a12⋯a1na21a22⋯a2n⋮⋮⋱⋮am1am2⋯amn]
A=\left[
\begin{matrix}
a_{11} & a_{12} & \cdots & a_{1n} \\
a_{21} & a_{22} & \cdots & a_{2n} \\
\vdots &\vdots & \ddots & \vdots \\
a_{m1} & a_{m2} & \cdots & a_{mn} \\
\end{matrix}
\right]
A=⎣⎢⎢⎢⎡a11a21⋮am1a12a22⋮am2⋯⋯⋱⋯a1na2n⋮amn⎦⎥⎥⎥⎤
则
AT=[a11a21⋯am1a12a22⋯am2⋮⋮⋱⋮a1Na2n⋯amn]
A^{T}=\left[
\begin{matrix}
a_{11} & a_{21} & \cdots & a_{m1} \\
a_{12} & a_{22} & \cdots & a_{m2} \\
\vdots &\vdots & \ddots & \vdots \\
a_{1N} & a_{2n} & \cdots & a_{mn} \\
\end{matrix}
\right]
AT=⎣⎢⎢⎢⎡a11a12⋮a1Na21a22⋮a2n⋯⋯⋱⋯am1am2⋮amn⎦⎥⎥⎥⎤
特别地,nnn维列向量
α=[a1a2⋮an]
\alpha=\left[
\begin{matrix}
a_{1} \\
a_{2} \\
\vdots \\
a_{n} \\
\end{matrix}
\right]
α=⎣⎢⎢⎢⎡a1a2⋮an⎦⎥⎥⎥⎤
的转置αT\alpha^{T}αT是一个nnn维行向量,nnn维行向量的转置是一个nnn维列向量.
定理三 设AAA,BBB都是矩阵,kkk是数,如果下列等式中的运算都有意义,那么等式成立
- (AT)T=A(A^{T})^{T}=A(AT)T=A;
- (A+B)T=AT+BT(A+B)^{T}=A^{T}+B^{T}(A+B)T=AT+BT;
- (kA)T=kAT(kA)^{T}=kA^{T}(kA)T=kAT;
- (AB)T=BTAT(AB)^{T}=B^{T}A^{T}(AB)T=BTAT;
1.2 概率论与数理统计
具体的关于推导后面的博文会讲到,主要是极大似然估计以及概率的一些基础知识(很重要)。
2 多元线性回归
给定数据集D=(x1,y1),(x2,y2),...,(xm.,ym)D={(x_1,y_1),(x_2,y_2),...,(x_m.,y_m)}D=(x1,y1),(x2,y2),...,(xm.,ym),其中xi=(xi1;xi2;...xid),yi∈Rx_i = (x_{i1};x_{i2};...x_{id}),y_i \in Rxi=(xi1;xi2;...xid),yi∈R.样本由ddd个属性描述,试图得到
f(xi)=ωTxi+b,使得f(xi)≃yi
f(x_i)=\omega^{T}x_i +b,使得f(x_i)\simeq y_i
f(xi)=ωTxi+b,使得f(xi)≃yi
利用最小二乘法来对ω\omegaω和bbb进行估计,为了便于讨论,将ω\omegaω和bbb吸收入向量形式w^=(ω;b)\hat{w}=(\omega ;b)w^=(ω;b),相应的,把数据集DDD表示为一个m×(d+1)m\times (d+1)m×(d+1)大小的矩阵XXX,其中每行对应于一个示例,该行前d个元素对应于示例的ddd个属性值,最后一个元素恒置为1,即
X=[x11x12⋯x1d1x21x22⋯x2d1⋮⋮⋱⋮⋮xm1xm2⋯xmd1]
X=\left[
\begin{matrix}
x_{11} & x_{12} & \cdots & x_{1d} & 1 \\
x_{21} & x_{22} & \cdots & x_{2d} & 1 \\
\vdots &\vdots & \ddots & \vdots & \vdots \\
x_{m1} & x_{m2} & \cdots & x_{md} & 1 \\
\end{matrix}
\right]
X=⎣⎢⎢⎢⎡x11x21⋮xm1x12x22⋮xm2⋯⋯⋱⋯x1dx2d⋮xmd11⋮1⎦⎥⎥⎥⎤
再把标记也写出向量形式y=(y1;y2;..;ym)y=(y_1;y_2;..;y_m)y=(y1;y2;..;ym),则有
ω^∗=argminω^(y−Xω^)T(y−Xω^)
\hat{\omega}^{*}=arg min_{\hat{\omega}}(y-X\hat{\omega})^{T}(y-X\hat{\omega})
ω^∗=argminω^(y−Xω^)T(y−Xω^)
令Eω^=(y−Xω^)T(y−Xω^)E_{\hat{\omega}}=(y-X\hat{\omega})^{T}(y-X\hat{\omega})Eω^=(y−Xω^)T(y−Xω^),则采用上面矩阵的相关运算可得
Eω^=(y−Xω^)T(y−Xω^)=(yT−ω^TXT)(y−Xω^)=ω^TXTXω^−ω^TXTy−yTXω^+yTy
E_{\hat{\omega}} = (y-X\hat{\omega})^{T}(y-X\hat{\omega}) \\
= (y^{T}-\hat{\omega}^{T}X^{T})(y-X\hat{\omega} )\\
=\hat{\omega}^{T}X^{T} X\hat{\omega}-\hat{\omega}^{T}X^{T}y-y^{T}X\hat{\omega}+y^{T}y
Eω^=(y−Xω^)T(y−Xω^)=(yT−ω^TXT)(y−Xω^)=ω^TXTXω^−ω^TXTy−yTXω^+yTy
对上式对ω^\hat{\omega}ω^求导
∂Eω^∂ω^=∂(ω^TXTXω^−ω^TXTy−yTXω^+yTy)∂ω^=2XTXω^−XTy−yTX=2XTXω^−XTy−XTy=2XT(Xω^−y)
\frac{\partial E_{\hat{\omega}}}{\partial \hat{\omega}}=\frac{\partial(\hat{\omega}^{T}X^{T} X\hat{\omega}-\hat{\omega}^{T}X^{T}y-y^{T}X\hat{\omega}+y^{T}y)}{\partial \hat{\omega}} \\
= 2X^{T} X\hat{\omega}-X^{T}y-y^{T}X \\
= 2X^{T} X\hat{\omega}-X^{T}y-X^{T}y \\
=2X^{T} (X\hat{\omega}-y)
∂ω^∂Eω^=∂ω^∂(ω^TXTXω^−ω^TXTy−yTXω^+yTy)=2XTXω^−XTy−yTX=2XTXω^−XTy−XTy=2XT(Xω^−y)
令上式为零可得ω^\hat{\omega}ω^最优解的闭式解,但是由于涉及矩阵运算逆的运算,比单变量的情形复杂一些,下面做一些讨论:
-
当XTXX^{T}XXTX为满秩矩阵(full-rank matrix)或正定矩阵(positive definite matrix)时,令上式为零,可得
ω^∗=(XTX)−1XTy \hat{\omega}^{*}=(X^{T}X)^{-1} X^{T}y ω^∗=(XTX)−1XTy
最终学得的线性回归模型为
f(xi^)=xi^(XTX)−1XTy f(\hat{x_i})=\hat{x_i}(X^{T}X)^{-1} X^{T}y f(xi^)=xi^(XTX)−1XTy
因此在编程中要判断上述条件是否成立,不成立则不能进行运算。 -
如果XTXX^{T}XXTX不是满秩矩阵,则引入正规项(regularization)进行处理,具体的讨论在后面博客中讨论
3 总结
机器学习的学习是一个循序渐进的过程,对于好多理论公式的推导是非常有必要的,因此后期我会一一推导相关的公式,希望可以跟这个领域的大牛们交流讨论,谢谢大家了!
本文详细介绍了多元线性回归模型的推导过程,包括矩阵运算的基础知识、极大似然估计以及概率的基础知识,通过最小二乘法对权重向量进行估计,最终得到了线性回归模型的闭式解。
1496

被折叠的 条评论
为什么被折叠?



