机器学习常见的矩阵求导总结

常见求导公式

1.

(xTAx)x=(AT+A)x x 为向量

2.
 tr(XTX)X=2X X 为矩阵

3.
 tr(XTAX)X=(A+AT)X X 为向量

4.
 tr(ATB)A=B X 为向量

5.
 tr(X)X=I X 为向量

6.
((yXw)T(yXw))w=2XT(Xwy)

  其中 w 为向量, X 为矩阵

证明

几个定理

证明以上公式之前,先看几个定理。

  1. 命题:如果
    df(X)=tr(AdX)

        那么
    f(X)X=AT

    对向量 x 也是如此。
  2. tr(ATB)=tr(BTA)
  3. (dX)T=(dx)T
  4. d(tr(X))=tr(dX)

公式证明

  1. (xTAx)x=(AT+A)x x 为向量

    证明:首先将标量函数写成迹函数形式,然后利用矩阵乘积的微分易得
    df(x)=d(tr(xTAx))=tr[(dx)TAx+xTAdx]
    =tr([dxTAx]T+xTAdx)
    =tr(xTATdx+xTAdx)
    =tr(xT(A+AT)dx)

    由命题可知:
     tr(xTAx)x=[xT(A+AT)]T=(AT+A)x

    显然,若 A 为对称矩阵,则
     tr(xTAx)x=2Ax
  2.  tr(XTX)X=2X X 为矩阵

    证明:
    d tr(XTX)=tr(d(XTX))=tr((dX)TX+XTdX)
    =tr((dX)TX)+tr(XTdX)
    =tr(2XTdX)

    由命题可知:
     tr(XTX)X=(2XT)T=2X

  3.  tr(XTAX)X=(A+AT)X X 为向量

    证明:
    d tr(XTAX)=tr(d(XTAX))=tr((dX)TAX+XTAdX)=tr((dX)TAX)+tr(XTAdX)
    =tr((AX)TdX)+tr(XTAdX)
    =tr(XT(AT+A)dX)

    由命题可知:
     tr(XTAX)X=[XT(AT+A)]T=(A+AT)X

    6

    ((yXw)T(yXw))w=2XT(Xwy)

      其中 w 为向量, X 为矩阵
    证明:
    d((yXw)T(yXw))=d[tr((yXw)T(yXw))]
    =tr[d((yXw)T(yXw))]
    =tr[d(yXw)T(yXw)+(yXw)Td(yXw)]
    =tr[(d(yXw))T(yXw)]+tr[(yXw)Td(yXw)]
    =tr[(Xdw)T(yXw)]+tr[(yXw)T(Xdw)]
    =tr[(yXw)T(Xdw)]+tr[(yXw)T(Xdw)]
    =tr[2(yXw)T(Xdw)]

    由命题可知:
    ((yXw)T(yXw))w=[2(Xwy)TX]T

你可能感兴趣的:(机器学习)