1. 程式人生 > >二次型(求梯度) —— 公式的簡化

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

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. 梯度計算