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

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

1 基础知识必备

1.1 线性代数

矩阵的运算

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

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

定理二 A A , B B , C C 都是矩阵, k k 是数.则在下列各项中有意义的情况下,等式成立.

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

定义 设矩阵 A A m × n m\times n . 称矩阵 B B 为A的转置,记做 B = A T B=A^{T} B = A B=A' ,如果 B B 是一个 n × m n\times m 矩阵并且对任意 i = 1 , 2 , . . . , n , j = 1 , 2 , . . . , m , [ B ] i j = A j i i=1,2,...,n,j=1,2,...,m,[B]_{ij}=A_{ji} ,也就是说,如果
A = [ a 11 a 12 a 1 n a 21 a 22 a 2 n a m 1 a m 2 a m n ] 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 T = [ a 11 a 21 a m 1 a 12 a 22 a m 2 a 1 N a 2 n a m n ] 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]
特别地, n n 维列向量
α = [ a 1 a 2 a n ] \alpha=\left[ \begin{matrix} a_{1} \\ a_{2} \\ \vdots \\ a_{n} \\ \end{matrix} \right]
的转置 α T \alpha^{T} 是一个 n n 维行向量, n n 维行向量的转置是一个 n n 维列向量.

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

  1. ( A T ) T = A (A^{T})^{T}=A ;
  2. ( A + B ) T = A T + B T (A+B)^{T}=A^{T}+B^{T}
  3. ( k A ) T = k A T (kA)^{T}=kA^{T}
  4. ( A B ) T = B T A T (AB)^{T}=B^{T}A^{T} ;

1.2 概率论与数理统计

具体的关于推导后面的博文会讲到,主要是极大似然估计以及概率的一些基础知识(很重要)。

2 多元线性回归

给定数据集 D = ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m . , y m ) D={(x_1,y_1),(x_2,y_2),...,(x_m.,y_m)} ,其中 x i = ( x i 1 ; x i 2 ; . . . x i d ) , y i R x_i = (x_{i1};x_{i2};...x_{id}),y_i \in R .样本由 d d 个属性描述,试图得到
f ( x i ) = ω T x i + b , 使 f ( x i ) y i f(x_i)=\omega^{T}x_i +b,使得f(x_i)\simeq y_i
利用最小二乘法来对 ω \omega b b 进行估计,为了便于讨论,将 ω \omega b b 吸收入向量形式 w ^ = ( ω ; b ) \hat{w}=(\omega ;b) ,相应的,把数据集 D D 表示为一个 m × ( d + 1 ) m\times (d+1) 大小的矩阵 X X ,其中每行对应于一个示例,该行前d个元素对应于示例的 d d 个属性值,最后一个元素恒置为1,即
X = [ x 11 x 12 x 1 d 1 x 21 x 22 x 2 d 1 x m 1 x m 2 x m d 1 ] 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]
再把标记也写出向量形式 y = ( y 1 ; y 2 ; . . ; y m ) y=(y_1;y_2;..;y_m) ,则有
ω ^ = a r g m i n ω ^ ( y X ω ^ ) T ( y X ω ^ ) \hat{\omega}^{*}=arg min_{\hat{\omega}}(y-X\hat{\omega})^{T}(y-X\hat{\omega})
E ω ^ = ( y X ω ^ ) T ( y X ω ^ ) E_{\hat{\omega}}=(y-X\hat{\omega})^{T}(y-X\hat{\omega}) ,则采用上面矩阵的相关运算可得
E ω ^ = ( y X ω ^ ) T ( y X ω ^ ) = ( y T ω ^ T X T ) ( y X ω ^ ) = ω ^ T X T X ω ^ ω ^ T X T y y T X ω ^ + y T y 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
对上式对 ω ^ \hat{\omega} 求导
E ω ^ ω ^ = ( ω ^ T X T X ω ^ ω ^ T X T y y T X ω ^ + y T y ) ω ^ = 2 X T X ω ^ X T y y T X = 2 X T X ω ^ X T y X T y = 2 X T ( 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)

令上式为零可得 ω ^ \hat{\omega} 最优解的闭式解,但是由于涉及矩阵运算逆的运算,比单变量的情形复杂一些,下面做一些讨论:

  • X T X X^{T}X 为满秩矩阵(full-rank matrix)或正定矩阵(positive definite matrix)时,令上式为零,可得
    ω ^ = ( X T X ) 1 X T y \hat{\omega}^{*}=(X^{T}X)^{-1} X^{T}y
    最终学得的线性回归模型为
    f ( x i ^ ) = x i ^ ( X T X ) 1 X T y f(\hat{x_i})=\hat{x_i}(X^{T}X)^{-1} X^{T}y
    因此在编程中要判断上述条件是否成立,不成立则不能进行运算

  • 如果 X T X X^{T}X 不是满秩矩阵,则引入正规项(regularization)进行处理,具体的讨论在后面博客中讨论

3 总结

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

发布了15 篇原创文章 · 获赞 28 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/edj_13/article/details/88295577