日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

学渣笔记之矩阵的导数与迹

發(fā)布時間:2025/3/13 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学渣笔记之矩阵的导数与迹 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

矩陣的導(dǎo)數(shù)與跡

矩陣的導(dǎo)數(shù)

? 對于一個將\(m\times n\)的矩陣映射為實數(shù)的函數(shù)\(f: \mathbb{R}^{m\times n}\mapsto\mathbb{R}\),我們定義\(f\)對矩陣\(A\)的導(dǎo)數(shù)為
\[ \bigtriangledown_Af(A) = \begin{bmatrix}\dfrac{\partial f}{\partial A_{11}} & \ldots & \dfrac{\partial f}{\partial A_{1n}}\\ \vdots & \ddots & \vdots \\\dfrac{\partial f}{\partial A_{m1}} & \ldots & \dfrac{\partial f}{\partial A_{mn}}\end{bmatrix} \]
\(f(A)\)就是我們下面要介紹的跡。

方陣的跡

? 對于一個\(n\)階方陣\(A\)的跡被定義為方陣\(A\)的主對角線的元素之和,通常對方陣的求跡操作寫成\(trA\),于是我們有
\[ trA=\sum_{i=1}^nA_{ii} \]

一些有用的性質(zhì)

  • \(tr ABC = tr BCA = tr CAB\)

    這是對三個方陣的積求跡,循環(huán)移位后的結(jié)果還是一樣的,不僅2個方陣或者3個方陣的積求跡滿足此性質(zhì),對其他更多個數(shù)的方陣的積求跡也滿足此性質(zhì)。

  • \(tr A = tr A^T\)

    這個就比較明顯了,方陣轉(zhuǎn)置后主對角線上的元素不會變

  • \(tr(A +B) = tr A + tr B\)

  • \(tr\ \alpha A= \alpha\ tr A\)

  • \(\bigtriangledown_AtrAB = B^T\)

    這個看起來有點麻煩,下面驗證一下,設(shè)方陣\(A\)
    \[ A= \begin{bmatrix}a & b\\ c & d\end{bmatrix} \]
    設(shè)方陣\(B\)
    \[ B = \begin{bmatrix}e & f\\ g & h\end{bmatrix} \]
    那么有
    \[ AB = \begin{bmatrix}ae + bg & af + bh\\ce + dg & cf + dh\end{bmatrix} \]
    所以有
    \[ tr AB=ae + bg + cf + dh \]
    然后有
    \[ \bigtriangledown_AtrAB=\begin{bmatrix}e & g\\ f & h\end{bmatrix} = B^T \]
    ?

  • \(\bigtriangledown_{A^T}f(A)=(\bigtriangledown_Af(A))^T\)

  • \(\bigtriangledown tr ABA^TC=CAB+C^TAB^T\)

  • \(\bigtriangledown_A|A| = |A|(A^{-1})^T\)

  • 一個在后面用到的等式
    \[ \bigtriangledown_{A^T}tr ABA^TC=B^TA^TC^T+BA^TC \]
    推導(dǎo)過程如下:

    \(\bigtriangledown_{A^T}f(A)=(\bigtriangledown_Af(A))^T\)自然有
    \[ \bigtriangledown_{A^T}trABA^TC=(\bigtriangledown_AtrABA^TC)^T=(CAB+C^TAB^T)^T \]
    所以有
    \[ (CAB+C^TAB^T)^T=B^T(CA)^T+(AB^T)^TC=B^TA^TC^T+BA^TC \]

    \(\bigtriangledown_\theta J(\theta)\)的一點理解

    ? Andrew ng在cs229-notes1中給出了一些公式,貌似還是有些東西并沒有很明顯的提出來,像我這種渣渣就有點暈。首先是給出的\(J(\theta)\)的矩陣表示如下
    \[ J(\theta)=\frac{1}{2}\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2=\frac{1}{2}(\mathbf{X}\theta-\vec{y})^T(\mathbf{X}\theta-\vec{y}) \]
    這個公式的推導(dǎo)過程還是比較簡單的,下面的推導(dǎo)比較蛋疼,有些隱含的信息貌似Andrew ng沒有明顯指出來,對我這種渣渣就比較尷尬了。
    \[ \bigtriangledown_\theta J(\theta) = \bigtriangledown_\theta\frac{1}{2}(\mathbf{X}\theta-\vec{y})^T(\mathbf{X}\theta-\vec{y}) \]
    強行展開
    \[ \bigtriangledown_\theta J(\theta) = \frac{1}{2}\bigtriangledown_\theta(\theta^T\mathbf{X}^T\mathbf{X}\theta-\theta^T\mathbf{X}^T\vec{y}-\vec{y}^T\mathbf{X}\theta+\vec{y}^T\vec{y}) \]
    很明顯,后面的\(\vec{y}^T\vec{y}\)是一個與\(\theta\)無關(guān)的常量,所以對\(\theta\)求偏導(dǎo)數(shù)為0,可以省略掉。假設(shè)\(\alpha\)是一個實數(shù),那么我們有\(tr\ \alpha = \alpha\)\(\theta\)\(n\times 1\)的,\(\mathbf{X}\)\(m\times n\)的,所以\(\theta^T\mathbf{X}^T\mathbf{X}\theta\)的維數(shù)變換是\((1\times n)\times (n \times m) \times(m\times n)\times(n\times 1)\),所以結(jié)果是一個\(1\times 1\)的方陣;同理其他的加數(shù)也是\(1\times 1\)的方陣,所以有
    \[ \bigtriangledown_\theta J(\theta)=\frac{1}{2}\bigtriangledown_\theta tr(\theta^T\mathbf{X}^T\mathbf{X}\theta-\theta^T\mathbf{X}^T\vec{y}-\vec{y}^T\mathbf{X}\theta) \]
    由于\(tr A = tr A^T\)\(tr (A+B)=tr A + tr B\),所以\(\theta^T\mathbf{X}^T\vec{y}=\vec{y}\mathbf{X}\theta\),然后就有
    \[ \bigtriangledown_\theta J(\theta)=\frac{1}{2}\bigtriangledown_\theta(tr\ \theta^T\mathbf{X}^T\mathbf{X}\theta-2tr\ \vec{y}\mathbf{X}\theta) \]
    \(tr\ \vec{y}\mathbf{X}\theta\),有\(tr\ \vec{y}\mathbf{X}\theta=tr\ \theta\vec{y}\mathbf{X}\),又有\(\bigtriangledown_\theta tr\ AB = B^T\),所以有\(\bigtriangledown_\theta tr\ \theta\vec{y}\mathbf{X}=(\vec{y}\mathbf{X})^T=\mathbf{X}^T\vec{y}\);又因為
    \[ \dfrac{\partial \mathbf{X}^T\mathbf{A}\mathbf{X}}{\partial \mathbf{X}}=(\mathbf{A}+\mathbf{A}^T)\mathbf{X} \]
    所以有\(\bigtriangledown_\theta tr\ \theta^T\mathbf{X}^T\mathbf{X}\theta=(\mathbf{X}^T\mathbf{X}+(\mathbf{X}^T\mathbf{X})^T)\theta=2\mathbf{X}^T\mathbf{X}\theta\),這樣子就好辦了
    \[ \therefore\quad\bigtriangledown_\theta J(\theta) = \mathbf{X}^T\mathbf{X}\theta - \mathbf{X}^T\vec{y} \]
    \(\bigtriangledown_\theta J(\theta)= 0\)可以求出
    \[ \theta = (\mathbf{X}^T\mathbf{X})^{-1}\mathbf{X}^T\vec{y} \]

    參考資料

  • Andrew NG的ML第二課以及其相關(guān)筆記
  • 機器學(xué)習(xí)中常用的矩陣求導(dǎo)公式
  • 轉(zhuǎn)載于:https://www.cnblogs.com/crackpotisback/p/5545708.html

    總結(jié)

    以上是生活随笔為你收集整理的学渣笔记之矩阵的导数与迹的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。