【机器学习中的矩阵求导】(八)标量函数f(x)的雅克比矩阵(迹函数)

举报
野猪佩奇996 发表于 2022/01/23 02:02:25 2022/01/23
【摘要】 学习总结 交换律: tr ⁡ ...

学习总结

  • 交换律: tr ⁡ ( A B ) = tr ⁡ ( B A ) \operatorname{tr}(A B)=\operatorname{tr}(B A) tr(AB)=tr(BA)需要满足 A A A B T B^T BT同维度
  • 行列式微分 d ∣ X ∣ = ∣ X ∣ tr ⁡ ( X − 1 d X ) d|X|=|X| \operatorname{tr}\left(X^{-1} d X\right) dX=Xtr(X1dX)

一、标量函数的雅克比函数

标量函数 f ( x ) f(\mathbf{x}) f(x),其中 x = [ x 1 , . . . . , x m ] T x = [x_1,....,x_m]^T x=[x1,....,xm]T ∈ \in R m R^m Rm,即向量 x x x的m个元素( x 1 , . . . . , x m x_1,....,x_m x1,....,xm)视作m个变量。根据式子:
d f ( x 1 , ⋯   , x m ) = ∂ f ∂ x 1   d x 1 + ⋯ + ∂ f ∂ x m   d x m \mathrm{d} f\left(x_{1}, \cdots, x_{m}\right)=\frac{\partial f}{\partial x_{1}} \mathrm{~d} x_{1}+\cdots+\frac{\partial f}{\partial x_{m}} \mathrm{~d} x_{m} df(x1,,xm)=x1f dx1++xmf dxm

能够得到以向量 x \mathbf{x} x为自变量的标量函数 f ( x ) f(\mathbf{x}) f(x)的全微分表达式: d f ( x ) = ∂ f ( x ) ∂ x 1   d x 1 + ⋯ + ∂ f ( x ) ∂ x m   d x m = [ ∂ f ( x ) ∂ x 1 , ⋯   , ∂ f ( x ) ∂ x m ] [ d x 1 ⋮ d x m ]

df(x)=f(x)x1 dx1++f(x)xm dxm=[f(x)x1,,f(x)xm]dx1dxm d f ( x ) = f ( x ) x 1   d x 1 + + f ( x ) x m   d x m = [ f ( x ) x 1 , , f ( x ) x m ] [ d x 1 d x m ]
df(x)=x1f(x) dx1++xmf(x) dxm=[x1f(x),,xmf(x)]dx1dxm d f ( x ) = ∂ f ( x ) ∂ x T d x = ( d x ) T ∂ f ( x ) ∂ x \mathrm{d} f(\mathbf{x})=\frac{\partial f(\mathbf{x})}{\partial {\mathbf{x}}^{\mathrm{T}}} \mathrm{d} {\mathbf{x}}=(\mathrm{d} {\mathbf{x}})^{\mathrm{T}} \frac{\partial f(\mathbf{x})}{\partial {\mathbf{x}}} df(x)=xTf(x)dx=(dx)Txf(x)

其中: ∂ f ( x ) ∂ x T = [ ∂ f ( x ) ∂ x 1 , ⋯   , ∂ f ( x ) ∂ x m ] d x = [ d x 1 , ⋯   , d x m ] T

f(x)xTdx=[f(x)x1,,f(x)xm]=[dx1,,dxm]T f ( x ) x T = [ f ( x ) x 1 , , f ( x ) x m ] d x = [ d x 1 , , d x m ] T
xTf(x)dx=[x1f(x),,xmf(x)]=[dx1,,dxm]T

上面的简记的式子又被成为微分法则的向量形式。
一个很重要的应用:
若令 A = ∂ f ( x ) ∂ x T A=\frac{\partial f(\mathbf{x})}{\partial {\mathbf{x}}^{T}} A=xTf(x)则一阶微分可以写作迹函数形式: d f ( x ) = ∂ f ( x ) ∂ x T d x = t r ( A d x ) df(\mathbf{x}) = \frac{\partial f(\mathbf{x})}{\partial {\mathbf{x}^T}}d{\mathbf{x}}=tr(Ad{\mathbf{x}}) df(x)=xTf(x)dx=tr(Adx)

二、关于迹函数的性质

2.1 常用性质

(1)【迹函数等于主对角线的和】性质: tr ⁡ ( A T B ) = ∑ i , j A i j B i j \operatorname{tr}\left(A^{T} B\right)=\sum_{i, j} A_{i j} B_{i j} tr(ATB)=i,jAijBij
(2)矩阵微分和它的导数也有一个转置的关系,不过在外面套了一个迹函数而已。由于标量的迹函数就是它本身,那么矩阵微分和向量微分可以统一表示,即: d f = tr ⁡ ( ( ∂ f ∂ X ) T d X ) d f = tr ⁡ ( ( ∂ f ∂ x ) T d x ) d f=\operatorname{tr}\left(\left(\frac{\partial f}{\partial \mathbf{X}}\right)^{T} d \mathbf{X}\right) \quad d f=\operatorname{tr}\left(\left(\frac{\partial f}{\partial \mathbf{x}}\right)^{T} d \mathbf{x}\right) df=tr((Xf)TdX)df=tr((xf)Tdx)
(3)微分的迹: d tr ⁡ ( X ) = tr ⁡ ( d X ) d \operatorname{tr}(X)=\operatorname{tr}(d X) dtr(X)=tr(dX)
(4)行列式微分 d ∣ X ∣ = ∣ X ∣ tr ⁡ ( X − 1 d X ) d|X|=|X| \operatorname{tr}\left(X^{-1} d X\right) dX=Xtr(X1dX)

2.2 迹函数的技巧

  • 标量的迹等于自己: tr ⁡ ( x ) = x \operatorname{tr}(x)=x tr(x)=x;转置则迹不变
  • 交换律: tr ⁡ ( A B ) = tr ⁡ ( B A ) \operatorname{tr}(A B)=\operatorname{tr}(B A) tr(AB)=tr(BA)需要满足 A A A B T B^T BT同维度
  • 加减法: tr ⁡ ( X + Y ) = tr ⁡ ( X ) + tr ⁡ ( Y ) , tr ⁡ ( X − Y ) = tr ⁡ ( X ) − tr ⁡ ( Y ) \operatorname{tr}(X+Y)=\operatorname{tr}(X)+\operatorname{tr}(Y), \operatorname{tr}(X-Y)=\operatorname{tr}(X)-\operatorname{tr}(Y) tr(X+Y)=tr(X)+tr(Y),tr(XY)=tr(X)tr(Y)
  • 矩阵乘法和迹交换: tr ⁡ ( ( A ⊙ B ) T C ) = tr ⁡ ( A T ( B ⊙ C ) ) \operatorname{tr}\left((A \odot B)^{T} C\right)=\operatorname{tr}\left(A^{T}(B \odot C)\right) tr((AB)TC)=tr(AT(BC)),注意A,B,C的维度要相同

文章来源: andyguo.blog.csdn.net,作者:山顶夕景,版权归原作者所有,如需转载,请联系作者。

原文链接:andyguo.blog.csdn.net/article/details/121939438

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。