机器学习中的矩阵向量求导(三) 矩阵向量求导之微分法

机器学习中的矩阵向量求导(二) 矩阵向量求导之定义法中,我们讨论了定义法求解矩阵向量求导的方法,但是这个方法对于比较复杂的求导式子,中间运算会很复杂,同时排列求导出的结果也很麻烦。因此我们需要其他的一些求导方法。本文我们讨论使用微分法来求解标量对向量的求导,以及标量对矩阵的求导。

本文的标量对向量的求导,以及标量对矩阵的求导使用分母布局。如果遇到其他资料求导结果不同,请先确认布局是否一样。

1. 矩阵微分

在高数里面我们学习过标量的导数和微分,他们之间有这样的关系: d f = f ′ ( x ) d x df=f'(x)dx df=f(x)dx。如果是多变量的情况,则微分可以写成:
d f = ∑ i = 1 n ∂ f ∂ x i d x i = ( ∂ f ∂ x ) T d x df=\sum\limits_{i=1}^n\frac{\partial f}{\partial x_i}dx_i = (\frac{\partial f}{\partial \mathbf{x}})^Td\mathbf{x} df=i=1nxifdxi=(xf)Tdx
从上次我们可以发现标量对向量的求导和它的向量微分有一个转置的关系。

现在我们再推广到矩阵。对于矩阵微分,我们的定义为:
d f = ∑ i = 1 m ∑ j = 1 n ∂ f ∂ X i j d X i j = t r ( ( ∂ f ∂ X ) T d X ) df=\sum\limits_{i=1}^m\sum\limits_{j=1}^n\frac{\partial f}{\partial X_{ij}}dX_{ij} = tr((\frac{\partial f}{\partial \mathbf{X}})^Td\mathbf{X}) df=i=1mj=1nXijfdXij=tr((Xf)TdX)

其中第二步使用了矩阵迹的性质,即迹函数等于主对角线的和。即
t r ( A T B ) = ∑ i , j A i j B i j tr(A^TB) = \sum\limits_{i,j}A_{ij}B_{ij} tr(ATB)=i,jAijBij
从上面矩阵微分的式子,我们可以看到矩阵微分和它的导数也有一个转置的关系,不过在外面套了一个迹函数而已。由于标量的迹函数就是它本身,那么矩阵微分和向量微分可以统一表示,即:
d f = t r ( ( ∂ f ∂ X ) T d X )        d f = t r ( ( ∂ f ∂ x ) T d x ) df= tr((\frac{\partial f}{\partial \mathbf{X}})^Td\mathbf{X})\;\; \;df= tr((\frac{\partial f}{\partial \mathbf{x}})^Td\mathbf{x}) df=tr((Xf)TdX)df=tr((xf)Tdx)

2. 矩阵微分的性质

我们在讨论如何使用矩阵微分来求导前,先看看矩阵微分的性质:
1)微分加减法: d ( X + Y ) = d X + d Y , d ( X − Y )

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值