二次型(求梯度) —— 公式的简化

1. 基本等式

  • 定义式:

    xTAx=i,jxixjAij

  • 化简

    (wTxwTm)2=wT(xm)(xm)Tw=wTAw

    简单证明如下:

    (wTxwTm)2=(wTx)(wTx)+(wTm)(wTm)2wTxwTm=wTxxTw2wTxmTw+wTmmTw=wT(xm)(xm)Tw=wTAw

2. 性质

  • xTWy=yTWx

    代码证明

    x = np.random.rand(3)
    W = np.random.rand(3, 4)
    y = np.random.rand(4)
    
    x.dot(W.dot(y))
    y.dot((W.T).dot(x))
                # 两者是相等的;

    理论证明:

    xTWy====ixiWi1ixiWi2ixiWinyjyj(ixiWij)ijxiWijyj=ijyj(W)jixiyTWx

    显然有, Aij=(A)ji

3. 二次型是标量

就像行列式是标量一样;

比如对于主成分分析 PCA 的推导而言, S 为数据的协方差矩阵,则有:

1Nn=1N(uuT1xnuuTx¯)2=uuTSuu

4. 梯度计算

J=(xy)TH(xy)

xJ 。应用求导数的链式法则, J=f(x)THf(x) ,所以有:

xJ=dJdf(x)df(x)dx=2Hf(x)f(x)

你可能感兴趣的:(矩阵分析)