機械学習基礎理論独習

誤りがあればご指摘いただけると幸いです。数式が整うまで少し時間かかります。リンクフリーです。

勉強ログです。リンクフリーです
目次へ戻る

ベクトルと行列に関する微分の公式導出

はじめに

まず、機械学習で使うベクトルや行列の微分を使った公式の導出(@Dynikon様の記事)を読んでください。
文章中の ({\rm C}.XX)PRMLの式番号です。
以下、公式の導出です。

\dfrac{\partial}{\partial{\bf x}}({\bf x}^\top{\bf a})=\dfrac{\partial}{\partial{\bf x}}({\bf a}^\top{\bf x})={\bf a} ({\rm C}.19)

\begin{eqnarray}
\left(\frac{\partial}{\partial{\bf x}}({\bf x}^\top{\bf a})\right)_{i1}&=&\sum_j\frac{\partial}{\partial x_{i1}}x_{1j}^\top a_{j1}\\
&=&\sum_j\frac{\partial}{\partial x_{i1}}x_{j1}a_{j1}\\
&=&\sum_j\delta_{ij}a_{j1}\\
&=&a_{i1}\\
&=&({\bf a})_{i1}\tag{1}
\end{eqnarray}

\begin{eqnarray}
\therefore\dfrac{\partial}{\partial{\bf x}}({\bf x}^\top{\bf a})={\bf a}\tag{2}
\end{eqnarray}

\begin{eqnarray}
\left(\frac{\partial}{\partial{\bf x}}({\bf a}^\top{\bf x})\right)_{i1}&=&\sum_j\frac{\partial}{\partial x_{i1}}a_{1j}^\top x_{j1}\\
&=&\sum_j\frac{\partial}{\partial x_{i1}}a_{j1}x_{j1}\\
&=&\sum_ja_{j1}\delta_{ij}\\
&=&a_{i1}\\
&=&({\bf a})_{i1}\tag{3}
\end{eqnarray}

\begin{eqnarray}
\therefore\dfrac{\partial}{\partial{\bf x}}({\bf a}^\top{\bf x})={\bf a}\tag{4}
\end{eqnarray}

\dfrac{\partial}{\partial x}({\bf A}{\bf B}) = \dfrac{\partial{\bf A}}{\partial x}{\bf B}+{\bf A}\dfrac{\partial{\bf B}}{\partial x} ({\rm C}.20)

\begin{eqnarray}
\left(\frac{\partial}{\partial x}({\bf A}{\bf B})\right)_{ij}&=&\sum_k\frac{\partial}{\partial x}\left(A_{ik}B_{kj}\right)\\
&=&\sum_k\left(\frac{\partial A_{ik}}{\partial x}B_{kj}+A_{ik}\frac{\partial B_{kj}}{\partial x}\right)\\
&=&\sum_k\frac{\partial A_{ik}}{\partial x}B_{kj}+\sum_kA_{ik}\frac{\partial B_{kj}}{\partial x}\\
&=&\left(\frac{\partial {\bf A}}{\partial x}{\bf B}\right)_{ij}+\left({\bf A}\frac{\partial {\bf B}}{\partial x}\right)_{ij}\tag{5}
\end{eqnarray}

\begin{eqnarray}
\therefore\dfrac{\partial}{\partial x}({\bf A}{\bf B}) = \dfrac{\partial{\bf A}}{\partial x}{\bf B}+{\bf A}\dfrac{\partial{\bf B}}{\partial x}\tag{6}
\end{eqnarray}

\dfrac{\partial}{\partial x}({\bf A}^{-1}) = -{\bf A}^{-1}\dfrac{\partial{\bf A}}{\partial x}{\bf A}^{-1} ({\rm C}.21)

{\bf A}{\bf A}={\bf I}x微分します。

\begin{eqnarray}
&&\frac{\partial}{\partial x}({\bf A}{\bf A}^{-1})=\frac{\partial}{\partial x}{\bf I}\\
&&\Leftrightarrow\underbrace{\frac{\partial{\bf A}}{\partial x}{\bf A}^{-1}+{\bf A}\frac{\partial{\bf A}^{-1}}{\partial x}}_{({\rm C}.20)}={\bf O}\\
&&\Leftrightarrow{\bf A}\frac{\partial{\bf A}^{-1}}{\partial x}=-\frac{\partial{\bf A}}{\partial x}{\bf A}^{-1}\\
&&\Leftrightarrow\frac{\partial{\bf A}^{-1}}{\partial x}=-{\bf A}^{-1}\frac{\partial{\bf A}}{\partial x}{\bf A}^{-1}\tag{7}
\end{eqnarray}

\dfrac{\partial}{\partial x}\ln|{\bf A}|={\rm Tr}\left({\bf A}^{-1}\dfrac{\partial{\bf A}}{\partial x}\right) ({\rm C}.22)

{\bf A}固有値\{\lambda_i\} とします。

({\rm C}.22) の左辺 \dfrac{\partial}{\partial x}\ln|{\bf A}| を計算します。

\begin{eqnarray}
\frac{\partial}{\partial x}\ln|{\bf A}|&=&\frac{\partial}{\partial x}\ln\left(\prod\lambda_i\right)\\
&=&\frac{\partial}{\partial x}\sum\ln\lambda_i\\
&=&\sum\frac{\lambda_i'}{\lambda_i}\tag{8}
\end{eqnarray}

{\bf A} を三角化します。

\begin{eqnarray}
{\bf A}&=&{\bf P}^{-1}\begin{pmatrix}\lambda_1 & \cdots & *\\\vdots & \ddots & \vdots\\ 0 & \cdots & \lambda_n\end{pmatrix}{\bf P}\\
&=&{\bf P}^{-1}{\rm tri}(\lambda_i){\bf P}\tag{9}
\end{eqnarray}

(9)

\begin{eqnarray}
{\rm tri}(\lambda_i) = \begin{pmatrix}\lambda_1 & \cdots & *\\\vdots & \ddots & \vdots\\ 0 & \cdots & \lambda_n\end{pmatrix}\tag{10}
\end{eqnarray}

とおきました。

また、式 (9) より、{\bf A}^{-1} は以下のようになります。

\begin{eqnarray}
{\bf A}^{-1}={\bf P}^{-1}{\rm tri}(\lambda_i)^{-1}{\bf P}\tag{11}
\end{eqnarray}

({\rm C}.22) の右辺 {\rm Tr}\left({\bf A}^{-1}\dfrac{\partial{\bf A}}{\partial x}\right) を計算します。

\begin{eqnarray}
{\rm Tr}\left({\bf A}^{-1}\dfrac{\partial{\bf A}}{\partial x}\right)&=&{\rm Tr}\bigg({\bf A}^{-1}\frac{\partial}{\partial x}\underbrace{\left({\bf P}^{-1}{\rm tri}(\lambda_i){\bf P}\right)}_{(9)}\bigg)\\
&=&{\rm Tr}\bigg({\bf A}^{-1}\underbrace{\left(\frac{\partial{\bf P}^{-1}}{\partial x}{\rm tri}(\lambda_i){\bf P}+{\bf P}^{-1}\frac{\partial{\rm tri}(\lambda_i)}{\partial x}{\bf P}+{\bf P}^{-1}{\rm tri}(\lambda_i)\frac{\partial{\bf P}}{\partial x}\right)}_{({\rm C}.20)}\bigg)\\
&=&{\rm Tr}\left({\bf A}^{-1}\left(\left({\bf P}^{-1}\right)'{\rm tri}(\lambda_i){\bf P}+{\bf P}^{-1}{\rm tri}(\lambda_i'){\bf P}+{\bf P}^{-1}{\rm tri}(\lambda_i){\bf P}'\right)\right)\\
&=&{\rm Tr}\bigg(\underbrace{\big({\bf P}^{-1}{\rm tri}(\lambda_i)^{-1}{\bf P}\big)}_{(11)}\big(\underbrace{-{\bf P}^{-1}{\bf P}'{\bf P}^{-1}}_{({\rm C}.21)}{\rm tri}(\lambda_i){\bf P}+{\bf P}^{-1}{\rm tri}(\lambda_i'){\bf P}+{\bf P}^{-1}{\rm tri}(\lambda_i){\bf P}'\big)\bigg)\\
&=&-{\rm Tr}\left(\big({\bf P}^{-1}{\rm tri}(\lambda_i)^{-1}{\bf P}\big){\bf P}^{-1}{\bf P}'{\bf P}^{-1}{\rm tri}(\lambda_i){\bf P}\right)\\
&+&{\rm Tr}\left(\big({\bf P}^{-1}{\rm tri}(\lambda_i)^{-1}{\bf P}\big){\bf P}^{-1}{\rm tri}(\lambda_i'){\bf P}\right)+{\rm Tr}\left(\big({\bf P}^{-1}{\rm tri}(\lambda_i)^{-1}{\bf P}\big){\bf P}^{-1}{\rm tri}(\lambda_i){\bf P}'\right)\\
&=&-{\rm Tr}\left({\bf P}^{-1}{\rm tri}(\lambda_i)^{-1}{\bf P}'{\bf P}^{-1}{\rm tri}(\lambda_i){\bf P}\right)+{\rm Tr}\left({\bf P}^{-1}{\rm tri}(\lambda_i)^{-1}{\rm tri}(\lambda_i'){\bf P}\right)+{\rm Tr}\left({\bf P}^{-1}{\bf P}'\right)\\
&=&-{\rm Tr}\left({\rm tri}(\lambda_i)^{-1}{\bf P}'{\bf P}^{-1}{\rm tri}(\lambda_i){\bf P}{\bf P}^{-1}\right)+{\rm Tr}\left({\rm tri}(\lambda_i)^{-1}{\rm tri}(\lambda_i'){\bf P}{\bf P}^{-1}\right)+{\rm Tr}\left({\bf P}^{-1}{\bf P}'\right)\\
&=&-{\rm Tr}\left({\rm tri}(\lambda_i)^{-1}{\bf P}'{\bf P}^{-1}{\rm tri}(\lambda_i)\right)+{\rm Tr}\left({\rm tri}(\lambda_i)^{-1}{\rm tri}(\lambda_i')\right)+{\rm Tr}\left({\bf P}^{-1}{\bf P}'\right)\\
&=&-{\rm Tr}\left({\bf P}'{\bf P}^{-1}{\rm tri}(\lambda_i){\rm tri}(\lambda_i)^{-1}\right)+{\rm Tr}\left({\rm tri}(\lambda_i)^{-1}{\rm tri}(\lambda_i')\right)+{\rm Tr}\left({\bf P}^{-1}{\bf P}'\right)\\
&=&-{\rm Tr}\left({\bf P}'{\bf P}^{-1}\right)+{\rm Tr}\left({\rm tri}(\lambda_i)^{-1}{\rm tri}(\lambda_i')\right)+{\rm Tr}\left({\bf P}'{\bf P}^{-1}\right)\\
&=&{\rm Tr}\left({\rm tri}(\lambda_i)^{-1}{\rm tri}(\lambda_i')\right)\\
&=&{\rm Tr}\left({\rm tri}(\lambda_i^{-1}){\rm tri}(\lambda_i')\right)\\
&=&{\rm Tr}\left({\rm tri}(\lambda_i^{-1}\lambda_i')\right)\\
&=&\sum \frac{\lambda_i'}{\lambda_i}\tag{12}
\end{eqnarray}

(8),(12) より、式 ({\rm C}.22) が示せました。

(12) の最後の変形は
{\rm tri}(\lambda_i^{-1}){\rm tri}(\lambda_i') の対角成分が等しいこと、
上三角行列同士の積の対角成分が個々の上三角行列の対角成分の積になることを用いました。

\dfrac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}{\bf B})={\bf B}^\top ({\rm C}.24)

\begin{eqnarray}
\left(\frac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}{\bf B})\right)_{ij}&=&\sum_k\sum_l\frac{\partial}{\partial A_{ij}}A_{kl}B_{lk}\\
&=&\sum_k\sum_l\delta_{ik}\delta_{jl}B_{lk}\\
&=&B_{ji}\\
&=&B_{ij}^\top\\
&=&({\bf B}^\top)_{ij}\tag{13}
\end{eqnarray}

\begin{eqnarray}
\therefore\dfrac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}{\bf B})={\bf B}^\top\tag{14}
\end{eqnarray}

\dfrac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}^\top{\bf B})={\bf B} ({\rm C}.25)

\begin{eqnarray}
\left(\frac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}^\top{\bf B})\right)_{ij}&=&\sum_k\sum_l\frac{\partial}{\partial A_{ij}}A_{kl}^\top B_{lk}\\
&=&\sum_k\sum_l\frac{\partial}{\partial A_{ij}}A_{lk}B_{lk}\\
&=&\sum_l\sum_k\delta_{il}\delta_{jk}B_{lk}\\
&=&B_{ij}\\
&=&({\bf B})_{ij}\tag{15}
\end{eqnarray}

\begin{eqnarray}
\therefore\dfrac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}^\top{\bf B})={\bf B}\tag{16}
\end{eqnarray}

\dfrac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A})={\bf I} ({\rm C}.26)

\begin{eqnarray}
\left(\frac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A})\right)_{ij}&=&\sum_k\frac{\partial}{\partial A_{ij}}A_{kk}\\
&=&\sum_k\delta_{ik}\delta_{jk}\\
&=&\delta_{ij}\\
&=&({\bf I})_{ij}\tag{17}
\end{eqnarray}

\begin{eqnarray}
\therefore\dfrac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A})={\bf I}\tag{18}
\end{eqnarray}

\dfrac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}{\bf B}{\bf A}^\top)={\bf A}({\bf B}+{\bf B}^\top) ({\rm C}.27)

\begin{eqnarray}
\left(\frac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}{\bf B}{\bf A}^\top)\right)_{ij}&=&\sum_k\sum_l\sum_m\frac{\partial}{\partial A_{ij}}A_{kl}B_{lm}A_{mk}^\top\\
&=&\sum_k\sum_l\sum_m\frac{\partial}{\partial A_{ij}}A_{kl}B_{lm}A_{km}\\
&=&\sum_k\sum_l\sum_m\delta_{ik}\delta_{jl}B_{lm}A_{km}+\sum_k\sum_l\sum_mA_{kl}B_{lm}\delta_{ik}\delta_{jm}\\
&=&\sum_mB_{jm}A_{im}+\sum_lA_{il}B_{lj}\\
&=&\sum_mA_{im}B_{mj}^\top+\sum_lA_{il}B_{lj}\\
&=&({\bf A}{\bf B}^\top)_{ij}+({\bf A}{\bf B})_{ij}\\
&=&({\bf A}{\bf B}^\top+{\bf A}{\bf B})_{ij}\\
&=&({\bf A}({\bf B}+{\bf B}^\top))_{ij}\tag{19}
\end{eqnarray}

\begin{eqnarray}
\therefore\dfrac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}{\bf B}{\bf A}^\top)={\bf A}({\bf B}+{\bf B}^\top)\tag{20}
\end{eqnarray}

\dfrac{\partial}{\partial{\bf A}}\ln|{\bf A}|=({\bf A}^{-1})^\top ({\rm C}.28)

\begin{eqnarray}
\left(\frac{\partial}{\partial{\bf A}}\ln|{\bf A}|\right)_{ij}&=&\frac{\partial}{\partial A_{ij}}\ln|{\bf A}|\\
&=&\underbrace{{\rm Tr}\left({\bf A}^{-1}\frac{\partial{\bf A}}{\partial A_{ij}}\right)}_{({\rm C}.22)}\\
&=&{\rm Tr}\left({\bf A}^{-1}{\bf J}_{ij}\right)\tag{21}\\
&=&\sum_k\sum_l A^{-1}_{kl}({\bf J}_{ij})_{lk}\\
&=&\sum_k\sum_l A^{-1}_{kl}\delta_{il}\delta_{jk}\\
&=&A^{-1}_{ji}\\
&=&(A^{-1})^\top_{ij}\\
&=&(({\bf A}^{-1})^\top)_{ij}\tag{22}
\end{eqnarray}

\begin{eqnarray}
\therefore\dfrac{\partial}{\partial{\bf A}}\ln|{\bf A}|=({\bf A}^{-1})^\top\tag{23}
\end{eqnarray}

(21){\bf J}_{ij}(i,j) 成分だけが 1 で、他の成分は 0 の行列(シングルエントリ行列)です。

\dfrac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}^{-1}{\bf B})=-({\bf A}^{-1}{\bf B}{\bf A}^{-1})^\top

\begin{eqnarray}
\left(\frac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}^{-1}{\bf B})\right)_{ij}&=&{\rm Tr}\left(\frac{\partial{\bf A}^{-1}}{\partial A_{ij}}{\bf B}\right)\\
&=&-{\rm Tr}\left({\bf A}^{-1}\frac{\partial{\bf A}}{\partial A_{ij}}{\bf A}^{-1}{\bf B}\right)\\
&=&-{\rm Tr}\Bigg(\frac{\partial{\bf A}}{\partial A_{ij}}\underbrace{{\bf A}^{-1}{\bf B}{\bf A}^{-1}}_{=:{\bf C}}\Bigg)\\
&=&-{\rm Tr}\left({\bf J}_{ij}{\bf C}\right)\\
&=&-\sum_k\sum_l({\bf J}_{ij})_{kl}C_{lk}\\
&=&-\sum_k\sum_l\delta_{ik}\delta_{jl}C_{lk}\\
&=&-C_{ji}\\
&=&-C^\top_{ij}\\
&=&-({\bf C}^\top)_{ij}\\
&=&-(({\bf A}^{-1}{\bf B}{\bf A}^{-1})^\top)_{ij}\tag{24}
\end{eqnarray}

\begin{eqnarray}
\therefore\dfrac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}^{-1}{\bf B})=-({\bf A}^{-1}{\bf B}{\bf A}^{-1})^\top\tag{25}
\end{eqnarray}

\dfrac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}^\top{\bf B}{\bf A})=({\bf B}+{\bf B}^\top){\bf A}

\begin{eqnarray}
\left(\frac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}^\top{\bf B}{\bf A})\right)_{ij}&=&\sum_k\sum_l\sum_m\frac{\partial}{\partial A_{ij}}A_{kl}^\top B_{lm}A_{mk}\\
&=&\sum_k\sum_l\sum_m\frac{\partial}{\partial A_{ij}}A_{lk}B_{lm}A_{mk}\\
&=&\sum_k\sum_l\sum_m\delta_{il}\delta_{jk}B_{lm}A_{mk}+\sum_k\sum_l\sum_mA_{lk}B_{lm}\delta_{im}\delta_{jk}\\
&=&\sum_mB_{im}A_{mj}+\sum_lA_{lj}B_{li}\\
&=&\sum_mB_{im}A_{mj}+\sum_lB_{il}^\top A_{lj}\\
&=&({\bf B}{\bf A})_{ij}+({\bf B}{\bf A}^\top)_{ij}\\
&=&({\bf B}{\bf A}+{\bf B}^\top{\bf A})_{ij}\\
&=&(({\bf B}+{\bf B}^\top){\bf A})_{ij}\tag{26}
\end{eqnarray}

\begin{eqnarray}
\therefore\dfrac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}^\top{\bf B}{\bf A})=({\bf B}+{\bf B}^\top){\bf A}\tag{27}
\end{eqnarray}

\dfrac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}{\bf B}{\bf A}^\top{\bf C})={\bf C}^\top{\bf A}{\bf B}^\top+{\bf C}{\bf A}{\bf B}

\begin{eqnarray}
\left(\frac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}{\bf B}{\bf A}^\top{\bf C})\right)_{ij}&=&\sum_{k,l,m,n}\frac{\partial}{\partial A_{ij}}A_{kl}B_{lm}A_{mn}^\top C_{nk}\\
&=&\sum_{k,l,m,n}\frac{\partial}{\partial A_{ij}}A_{kl}B_{lm}A_{nm}C_{nk}\\
&=&\sum_{k,l,m,n}\left(\frac{\partial A_{kl}}{\partial A_{ij}}B_{lm}A_{nm}C_{nk}+A_{kl}B_{lm}\frac{\partial}{\partial A_{ij}}A_{nm}C_{nk}\right)\\
&=&\sum_{k,l,m,n}\frac{\partial A_{kl}}{\partial A_{ij}}B_{lm}A_{nm}C_{nk}+\sum_{k,l,m,n}A_{kl}B_{lm}\frac{\partial A_{nm}}{\partial A_{ij}}C_{nk}\\
&=&\sum_{k,l,m,n}\delta_{ik}\delta_{jl}B_{lm}A_{nm}C_{nk}+\sum_{k,l,m,n}A_{kl}B_{lm}\delta_{in}\delta_{jm}C_{nk}\\
&=&\sum_{m,n}B_{jm}A_{nm}C_{ni}+\sum_{k,l}A_{kl}B_{lj}C_{ik}\\
&=&\sum_{m,n}C_{in}^\top A_{nm}B_{mj}^\top+\sum_{k,l}C_{ik}A_{kl}B_{lj}\\
&=&({\bf C}^\top{\bf A}{\bf B}^\top)_{ij}+({\bf C}{\bf A}{\bf B})_{ij}\\
&=&({\bf C}^\top{\bf A}{\bf B}^\top+{\bf C}{\bf A}{\bf B})_{ij}\tag{28}
\end{eqnarray}

\begin{eqnarray}
\therefore\dfrac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}{\bf B}{\bf A}^\top{\bf C})={\bf C}^\top{\bf A}{\bf B}^\top+{\bf C}{\bf A}{\bf B}\tag{29}
\end{eqnarray}

\dfrac{\partial}{\partial{\bf A}}\ln|{\bf A}|=({\bf A}^{-1})^\top ({\rm C}.28) の別解

\begin{eqnarray}
\frac{\partial}{\partial{\bf A}}\ln|{\bf A}|&=&\frac{\partial}{\partial|{\bf A}|}\ln|{\bf A}|\frac{\partial}{\partial{\bf A}}|{\bf A}|\\
&=&\frac{1}{|{\bf A}|}\frac{\partial}{\partial{\bf A}}|{\bf A}|\tag{30}
\end{eqnarray}

\xi_{ij}A_{ij} に対する余因子とします。

\begin{eqnarray}
\frac{\partial}{\partial A_{ij}} |{\bf A}|=\xi_{ij}\tag{31}
\end{eqnarray}

(31) より、

\begin{eqnarray}
\frac{\partial}{\partial{\bf A}}|{\bf A}|=\left({\rm adj}({\bf A})\right)^\top\tag{32}
\end{eqnarray}

が成り立ちます。
{\rm adj}({\bf A})A_{ij} の余因子 \xi_{ij} からなる行列の転置行列で、余因子行列です。

また、逆行列の定義より、

\begin{eqnarray}
&&{\bf A}^{-1}=\frac{1}{|{\bf A}|}{\rm adj}({\bf A})\\
&&{\rm adj}({\bf A})=|{\bf A}|{\bf A}^{-1}\tag{33}
\end{eqnarray}

が成り立ちます。

(30),(32),(33) より、以下が得られます。

\begin{eqnarray}
\frac{\partial}{\partial{\bf A}}\ln|{\bf A}|&=&\frac{1}{|{\bf A}|}\underbrace{\left({\rm adj}({\bf A})\right)^\top}_{(32)}\\
&=&\frac{1}{|{\bf A}|}(\underbrace{|{\bf A}|{\bf A}^{-1}}_{(33)})^\top\\
&=&({\bf A}^{-1})^\top\tag{34}
\end{eqnarray}

\dfrac{\partial}{\partial{\bf A}}{\rm Tr}({\bf ABAC})=\left({\bf B}{\bf A}{\bf C}+{\bf C}{\bf A}{\bf B}\right)^\top

\begin{eqnarray}
\left(\frac{\partial}{\partial{\bf A}}{\rm Tr}({\bf ABAC})\right)_{ij}&=&\frac{\partial}{\partial A_{ij}}\sum_{k,l,m,n}A_{kl}B_{lm}A_{mn}C_{nk}\\
&=&\sum_{k,l,m,n}\frac{\partial A_{kl}}{\partial A_{ij}}B_{lm}A_{mn}C_{nk}+\sum_{k,l,m,n}A_{kl}B_{lm}\frac{\partial A_{mn}}{\partial A_{ij}}C_{nk}\\
&=&\sum_{k,l,m,n}\delta_{ik}\delta_{jl}B_{lm}A_{mn}C_{nk}+\sum_{k,l,m,n}A_{kl}B_{lm}\delta_{im}\delta_{jn}C_{nk}\\
&=&\sum_{m,n}B_{jm}A_{mn}C_{ni}+\sum_{k,l}A_{kl}B_{li}C_{jk}\\
&=&\sum_{m,n}C_{in}^\top A_{nm}^\top B_{mj}^\top+\sum_{k,l}B_{il}^\top A_{lk}^\top C_{kj}^\top\\
&=&\left({\bf C}^\top {\bf A}^\top {\bf B}^\top\right)_{ij}+\left({\bf B}^\top {\bf A}^\top {\bf C}^\top\right)_{ij}\\
&=&\left({\bf C}^\top {\bf A}^\top {\bf B}^\top+{\bf B}^\top {\bf A}^\top {\bf C}^\top\right)_{ij}\\
&=&\left(\left({\bf B}{\bf A}{\bf C}+{\bf C}{\bf A}{\bf B}\right)^\top\right)_{ij}\tag{35}
\end{eqnarray}

\begin{eqnarray}
\therefore\dfrac{\partial}{\partial{\bf A}}{\rm Tr}({\bf ABAC})=\left({\bf B}{\bf A}{\bf C}+{\bf C}{\bf A}{\bf B}\right)^\top\tag{36}
\end{eqnarray}

参考文献

パターン認識機械学習 上巻 p315-p316
パターン認識機械学習の学習 p16-p18
はじめてのパターン認識 p200

目次へ戻る