矩阵求导

 前提:本文中, X X 为向量,则X为列向量, XT X T 为行向量, x x 为标量,即一个数字。

布局

 布局简单的理解就是分子y,分母 x x 是行向量还是列向量。

  • 分子布局:分子为列向量或者分母为行向量,分子为y或者分母为 xT x T

    • 分母布局:分子为行向量或者分母为列向量,分子为 yT y T 或者分母为 x x
    • 总结:列向量在什么位置,就是什么布局,行向量在什么位置,就不是什么布局

     下面是维基百科中的例子:

    分子布局

    例子1:标量/向量

    yX=[yx1,yx2,,yxn]

    特点:分子 y y 标量,分母X为行向量,是一个标量/向量的形式


    例子2:向量/标量

    Yx=y1xy2xymx ∂ Y ∂ x = [ ∂ y 1 ∂ x ∂ y 2 ∂ x ⋮ ∂ y m ∂ x ]

    特点:分子 Y Y 为列向量,分母x为标量,是一个向量/标量的形式


    例子3:向量/向量

    YX=y1x1y2x1ymx1y1x2y2x2ymx2y1xny2xnymxn ∂ Y ∂ X = [ ∂ y 1 ∂ x 1 ∂ y 1 ∂ x 2 ⋯ ∂ y 1 ∂ x n ∂ y 2 ∂ x 1 ∂ y 2 ∂ x 2 ⋯ ∂ y 2 ∂ x n ⋮ ⋮ ⋱ ⋮ ∂ y m ∂ x 1 ∂ y m ∂ x 2 ⋯ ∂ y m ∂ x n ]

    特点:分子 Y Y 为列向量,分母X为行向量,矩阵的特点是分子列向量横向平铺,分母为行向量纵向平铺


    例子4:标量/矩阵

    yX=yx11yx12yx1qyx21yx22yx2qyxp1yxp2yxpq ∂ y ∂ X = [ ∂ y ∂ x 11 ∂ y ∂ x 21 ⋯ ∂ y ∂ x p 1 ∂ y ∂ x 12 ∂ y ∂ x 22 ⋯ ∂ y ∂ x p 2 ⋮ ⋮ ⋱ ⋮ ∂ y ∂ x 1 q ∂ y ∂ x 2 q ⋯ ∂ y ∂ x p q ]

    特点:分子 y y 为标量,分母X为矩阵,(注意这个矩阵是转置的)标量/矩阵


    例子5:矩阵/标量

    Yx=y11xy21xym1xy12xy22xym2xy1nxy2nxymnx ∂ Y ∂ x = [ ∂ y 11 ∂ x ∂ y 12 ∂ x ⋯ ∂ y 1 n ∂ x ∂ y 21 ∂ x ∂ y 22 ∂ x ⋯ ∂ y 2 n ∂ x ⋮ ⋮ ⋱ ⋮ ∂ y m 1 ∂ x ∂ y m 2 ∂ x ⋯ ∂ y m n ∂ x ]

    特点:分子 Y Y 为矩阵,分母x为标量,(这个矩阵不转置) 矩阵/标量


    分母布局

    例子1:标量/向量

    yX=yx1yx2yxn ∂ y ∂ X = [ ∂ y ∂ x 1 ∂ y ∂ x 2 ⋮ ∂ y ∂ x n ]

    特点:分子 y y 标量,分母X为列向量,是一个标量/向量的形式


    例子2:向量/标量

    Yx=[y1x,y2x,,ymx] ∂ Y ∂ x = [ ∂ y 1 ∂ x , ∂ y 2 ∂ x , ⋯ , ∂ y m ∂ x ]

    特点:分子 Y Y 为行向量,分母x为标量,是一个向量/标量的形式


    例子3:向量/向量

    YX=y1x1y1x2y1xny2x1y2x2y2xnymx1ymx2ymxn ∂ Y ∂ X = [ ∂ y 1 ∂ x 1 ∂ y 2 ∂ x 1 ⋯ ∂ y m ∂ x 1 ∂ y 1 ∂ x 2 ∂ y 2 ∂ x 2 ⋯ ∂ y m ∂ x 2 ⋮ ⋮ ⋱ ⋮ ∂ y 1 ∂ x n ∂ y 2 ∂ x n ⋯ ∂ y m ∂ x n ]

    特点:分子 Y Y 为行向量,分母X为列向量,矩阵的特点是分子行向量纵向平铺,分母为列向量横向平铺


    例子4:标量/矩阵

    yX=yx11yx21yxp1yx12yx22yxp2yx1qyx2qyxpq ∂ y ∂ X = [ ∂ y ∂ x 11 ∂ y ∂ x 12 ⋯ ∂ y ∂ x 1 q ∂ y ∂ x 21 ∂ y ∂ x 22 ⋯ ∂ y ∂ x 2 q ⋮ ⋮ ⋱ ⋮ ∂ y ∂ x p 1 ∂ y ∂ x p 2 ⋯ ∂ y ∂ x p q ]

    特点:分子 y y 为标量,分母X为矩阵,(注意这个矩阵是未转置的)标量/矩阵


    总结:
    布局类型分子分母特点说明
    分子布局向量(1*1)标量(1*n)向量 (1*n)分母为行向量
    分子布局标量(1*1)向量 (n*1)向量(n*1)分子为列向量
    分子布局向量(m*1)向量(1*n)矩阵(m*n)列向量横向平铺,分母行向量纵向平铺
    分子布局标量(1*1)矩阵(m*n)矩阵(n*m)矩阵是转置的
    分子布局矩阵(m*n)标量(1*1)矩阵(m*n)
    分母布局标量(1*1)向量(n*1)向量(n*1)分母为列向量
    分母布局向量(n*1)标量(1*1)向量(n*1)分子为行向量
    分母布局向量(1*m)向量(n*1)向量(n*m)分子行向量纵向平铺,分母列向量横向平铺
    分母布局标量(1*1)矩阵(m*n)矩阵(m*n)

    一个求导的例子:

    (yXw)T(yXw)w ∂ ( y − X w ) T ( y − X w ) ∂ w

     注意: y y w 为列向量, X X 为矩阵

    化简

     可以发现,是u(w)v(w)的形式,需要先进行化简,已知: (A+B)T=AT+BT ( A + B ) T = A T + B T 且有 (AB)T=BTAT ( A B ) T = B T A T

    所以,分子化简过程为:

    (yXw)T(yXw)=[yT(Xw)T](yXw)=yTyyTXwwTXTy+wTXTXw(1) (1) ( y − X w ) T ( y − X w ) = [ y T − ( X w ) T ] ( y − X w ) = y T y − y T X w − w T X T y + w T X T X w

     所以有
    (yXw)T(yXw)w=(yTyyTXwwTXTy+wTXTXw)w=(yTy)w(yTXw)w(wTXTy)w+(wTXTXw)w(2) (2) ∂ ( y − X w ) T ( y − X w ) ∂ w = ∂ ( y T y − y T X w − w T X T y + w T X T X w ) ∂ w = ∂ ( y T y ) ∂ w − ∂ ( y T X w ) ∂ w − ∂ ( w T X T y ) ∂ w + ∂ ( w T X T X w ) ∂ w

    1, (yTy)w=0 ∂ ( y T y ) ∂ w = 0

    说明: y y 是列向量,yTy是标量,对 w w 求导,即分子为标量,分母为标量,所以求导结果是0

    2,(yTXw)w=XTy

    说明:查wiki得知, Axx=A ∂ A x ∂ x = A ,其中 A A 不是包含x的函数,

    3,(wTXTy)w=XTy

    说明:因为分子为标量,标量的转置为其本身,所以对分子进行转置操作,等价于2

    4, (wTXTXw)w=2XTXw ∂ ( w T X T X w ) ∂ w = 2 X T X w

    说明:查wiki得知, xTAxx=2xTA ∂ x T A x ∂ x = 2 x T A ,其中 A A 是不包含x的函数

     整合:

    (yXw)T(yXw)w=(yTy)w(yTXw)w(wTXTy)w+(wTXTXw)w=0XTyXTy+2XTXw=2XT(y+Xw)(3) (3) ∂ ( y − X w ) T ( y − X w ) ∂ w = ∂ ( y T y ) ∂ w − ∂ ( y T X w ) ∂ w − ∂ ( w T X T y ) ∂ w + ∂ ( w T X T X w ) ∂ w = 0 − X T y − X T y + 2 X T X w = − 2 X T ( y + X w )

    注:更多矩阵求导公式参见wiki百科https://en.wikipedia.org/wiki/Matrix_calculus

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值