3、机器学习基础知识——矩阵求导相关知识

1、标量关于标量 x 的求导:

\large \frac{\partial y}{\partial x}

2、向量关于标量 x 的求导:

定义向量 Y:

\large Y=[y_1,y_2,...,y_n]^T

向量 Y 关于标量 x  的导数就是 Y 的每个元素分别对 x 进行求导,于是可以得到:

\large \frac{\partial Y}{\partial x} = \left [ \frac{\partial y_1}{\partial x},\frac{\partial y_2}{\partial x},...,\frac{\partial y_n}{\partial x} \right ]^T

此时,导数是 Y 向量的正切向量。

2、矩阵 Y 关于标量 x 的求导:

矩阵对标量的求导类似于向量关于标量的求导,也就是矩阵的每个元素分别对标量 x 的求导,可以得到:

\large \frac{\partial Y}{\partial x} = \begin{pmatrix} \frac{\partial y_1_1}{\partial x}& \frac{\partial y_1_2}{\partial x}& ...& \frac{\partial y_1_n}{\partial x}\\ \frac{\partial y_2_1}{\partial x}& \frac{\partial y_2_2}{\partial x}& ...& \frac{\partial y_2_n}{\partial x}\\ ...& ...& ...& ...\\ \frac{\partial y_n_1}{\partial x}& \frac{\partial y_n_2}{\partial x}& ...& \frac{\partial y_n_n}{\partial x}\end{pmatrix}

3、向量求导:

3.1、标量关于向量求导:

定义标量 y 关于 x 的向量为:

\large x=[x_1,x_2,...,x_n]^T

对向量 x 关于标量 y 的导数为:

\large \frac{\partial y}{\partial x } = \left [ \frac{\partial y}{\partial x_1},\frac{\partial y}{\partial x_2},...,\frac{\partial y}{\partial x_n} \right ]

此时的向量为:梯度向量导数为标量 y 在空间 R^n 的梯度,该空间以 x 为基

3.2、向量关于向量求导:

向量函数 y ,关于向量 x 的导数即为:

\large x=[x_1,x_2,...,x_n]^T

\large y=[y_1,y_2,...,y_n]^T

 

\large \frac{\partial y}{\partial x} = \begin{pmatrix} \frac{\partial y_1}{\partial x_1}& \frac{\partial y_1}{\partial x_2}& ...& \frac{\partial y_1}{\partial x_n}\\ \frac{\partial y_2}{\partial x_1}& \frac{\partial y_2}{\partial x_2}& ...& \frac{\partial y_2}{\partial x_n}\\ ...& ...& ...& ...\\ \frac{\partial y_n}{\partial x_1}& \frac{\partial y_n}{\partial x_2}& ...& \frac{\partial y_n}{\partial x_n}\end{pmatrix}

 

此时矩阵向量叫做:Jacobian矩阵

3.3、矩阵关于向量求导:

定义矩阵 Y 为:

\large y=\begin{pmatrix} y_1_1& y_1_2& ...& y_1_n\\ y_2_1& y_2_2& ...& y_2_n\\ ...& ...& ...& ...\\ y_n_1& y_n_2& ...& y_n_n \end{pmatrix}

向量 x 为:

\large x=[x_1,x_2,...,x_n]^T

 

所以矩阵 y 关于向量 x 的导数为:

\large \frac{\partial y}{\partial x} = \begin{pmatrix} \frac{\partial y_1_1}{\partial x_1}& \frac{\partial y_1_2}{\partial x_2}& ...& \frac{\partial y_1_n}{\partial x_n}\\ \frac{\partial y_2_1}{\partial x_1}& \frac{\partial y_2_2}{\partial x_2}& ...& \frac{\partial y_2_n}{\partial x_n}\\ ...& ...& ...& ...\\ \frac{\partial y_n_1}{\partial x_1}& \frac{\partial y_n_2}{\partial x_2}& ...& \frac{\partial y_n_n}{\partial x_n}\end{pmatrix}

4、矩阵求导:

我们一般只考虑标量关于矩阵的导数,即标量 y 关于矩阵 x 的导数,此时的导数矩阵是梯度矩阵

\large \frac{\partial y}{\partial x} = \begin{pmatrix} \frac{\partial y}{\partial x_1_1}& \frac{\partial y}{\partial x_2_1}& ...& \frac{\partial y}{\partial x_n_1}\\ \frac{\partial y}{\partial x_2_1}& \frac{\partial y}{\partial x_2_2}& ...& \frac{\partial y}{\partial x_n_2}\\ ...& ...& ...& ...\\ \frac{\partial y}{\partial x_1_n}& \frac{\partial y}{\partial x_2_n}& ...& \frac{\partial y}{\partial x_n_n}\end{pmatrix}

5、机器学习中常见的矩阵求导的形式:

\large \beta =\frac{\partial \beta ^TX}{\partial X}

\large X =\frac{\partial X ^TX}{\partial X}

\large (A+A^T)X =\frac{\partial X ^TAX}{\partial X}

 

6、迹相关的公式:

\large tr(a) =a

\large tr(AB) =tr(BA)

\large tr(ABC) =tr(BCA)=tr(CAB)

\large \frac{\partial tr(AB)}{\partial A}=B^T

\large tr(A) =tr(A^T)

\large \frac{\partial tr(ABA^TC)}{\partial A}=CAB+C^TAB^T


参考:

[1]. 斯坦福大学——吴恩达机器学习

[2]. Python机器学习算法

[3]. 深入浅出深度学习——原理剖析于Python实践,黄安阜

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值