机器学习多元线性回归模型推导

本文详细介绍了多元线性回归模型的推导过程,包括矩阵运算的基础知识、极大似然估计以及概率的基础知识,通过最小二乘法对权重向量进行估计,最终得到了线性回归模型的闭式解。

机器学习多元线性回归模型推导

1 基础知识必备

1.1 线性代数

矩阵的运算

线性代数在数学、物理和计算机方面扮演的角色是非常非常重要,建议大家可以在闲暇时间认真复习复习相关的知识,对于我们理解自己的相关工作以及提升自己非常有用。接下来就简单且“重点”的概括一下矩阵的运算,毕竟在后面的推导以及学习过程中要用到。
定理一AAA,BBB,CCC均为m×nm\times nm×n矩阵,kkk,lll为数. 则

  1. A+BA+BA+B=B+AB+AB+A;(加法的交换律)
  2. (A+B)+C=A+(B+C(A+B)+C=A+(B+C(A+B)+C=A+(B+C; (加法的结合律)
  3. A+0=AA+0=AA+0=A;(加法单位元的存在性)
  4. A+(−A)=0A+(-A)=0A+(A)=0;(加法逆元的存在性)
  5. 1A=A1A=A1A=A
  6. (kl)A=k(lA)(kl)A=k(lA)(kl)A=k(lA);
  7. k(A+B)=kA+kBk(A+B)=kA+kBk(A+B)=kA+kB;(数乘对加法的结合律)
  8. (k+l)A=kA+lA(k+l)A=kA+lA(k+l)A=kA+lA;(数的加法对数乘的分配率)

定理二AAA,BBB,CCC都是矩阵,kkk是数.则在下列各项中有意义的情况下,等式成立.

  1. (AB)C=A(BC)(AB)C=A(BC)(AB)C=A(BC);(乘法的结合律)
  2. k(AB)=k(A)B=A(kB)k(AB)=k(A)B=A(kB)k(AB)=k(A)B=A(kB)
  3. AE=A,EB=BAE=A,EB=BAE=A,EB=B;(乘法单位元的存在性)
  4. A(B+C)=AB+ACA(B+C)=AB+ACA(B+C)=AB+AC; (乘法对加法的左分配率)
  5. (A+B)C=AC+BC(A+B)C=AC+BC(A+B)C=AC+BC. (乘法对加法的右分配率)

定义 设矩阵AAAm×nm\times nm×n . 称矩阵BBB为A的转置,记做B=ATB=A^{T}B=ATB=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=a11a21am1a12a22am2a1na2namn

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=a11a12a1Na21a22a2nam1am2amn
特别地,nnn维列向量
α=[a1a2⋮an] \alpha=\left[ \begin{matrix} a_{1} \\ a_{2} \\ \vdots \\ a_{n} \\ \end{matrix} \right] α=a1a2an
的转置αT\alpha^{T}αT是一个nnn维行向量,nnn维行向量的转置是一个nnn维列向量.

定理三AAA,BBB都是矩阵,kkk是数,如果下列等式中的运算都有意义,那么等式成立

  1. (AT)T=A(A^{T})^{T}=A(AT)T=A;
  2. (A+B)T=AT+BT(A+B)^{T}=A^{T}+B^{T}(A+B)T=AT+BT
  3. (kA)T=kAT(kA)^{T}=kA^{T}(kA)T=kAT
  4. (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),yiR.样本由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=x11x21xm1x12x22xm2x1dx2dxmd111
再把标记也写出向量形式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ω^(yXω^)T(yXω^)
Eω^=(y−Xω^)T(y−Xω^)E_{\hat{\omega}}=(y-X\hat{\omega})^{T}(y-X\hat{\omega})Eω^=(yXω^)T(yXω^),则采用上面矩阵的相关运算可得
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ω^=(yXω^)T(yXω^)=(yTω^TXT)(yXω^)=ω^TXTXω^ω^TXTyyTXω^+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ω^ω^TXTyyTXω^+yTy)=2XTXω^XTyyTX=2XTXω^XTyXTy=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 总结

机器学习的学习是一个循序渐进的过程,对于好多理论公式的推导是非常有必要的,因此后期我会一一推导相关的公式,希望可以跟这个领域的大牛们交流讨论,谢谢大家了!

多元线性回归模型假设因变量 $y$ 与多个自变量 $x_1, x_2, \cdots, x_n$ 之间存在线性关系,其一般形式为: $$y = \beta_0 + \beta_1x_1 + \beta_2x_2 + \cdots + \beta_nx_n + \epsilon$$ 其中,$\beta_0, \beta_1, \cdots, \beta_n$ 是待估计的参数,$\epsilon$ 是误差项。 使用矩阵形式表示,设 $X$ 是 $m\times(n + 1)$ 的矩阵,其中 $m$ 是样本数量,每一行代表一个样本,第一列全为 1 以表示截距项,其余列是自变量的值;$\beta$ 是 $(n + 1)\times1$ 的向量,包含所有待估计的参数;$y$ 是 $m\times1$ 的向量,包含所有样本的因变量值;$\epsilon$ 是 $m\times1$ 的向量,包含所有样本的误差项。则模型可以表示为: $$y = X\beta + \epsilon$$ 通常使用最小二乘法来估计参数,即最小化残差平方和。残差平方和 $S(\beta)$ 可以表示为: $$S(\beta)=(y - X\beta)^T(y - X\beta)$$ 展开可得: $$S(\beta)=y^Ty - 2\beta^TX^Ty+\beta^TX^TX\beta$$ 对 $S(\beta)$ 求关于 $\beta$ 的偏导数,并令其等于零: $$\frac{\partial S(\beta)}{\partial\beta}=-2X^Ty + 2X^TX\beta = 0$$ 移项可得: $$X^TX\beta = X^Ty$$ 若 $X^TX$ 可逆,则可以得到参数的估计值: $$\hat{\beta}=(X^TX)^{-1}X^Ty$$ 以下是使用 Python 实现上述推导的代码示例: ```python import numpy as np # 生成示例数据 X = np.array([[1, 2], [2, 3], [3, 4], [4, 5]]) y = np.array([3, 5, 7, 9]) # 添加偏置项 X_b = np.c_[np.ones((X.shape[0], 1)), X] # 使用最小二乘法求解参数 beta_hat = np.linalg.inv(X_b.T.dot(X_b)).dot(X_b.T).dot(y) print("估计的参数:", beta_hat) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值