行列の微分

ベクトルで微分をするには、元の型を保ったまま展開するのが基本。
これは慣習であって、必ずしもそうとは限らない。列ベクトルを列ベクトルで微分して行方向に展開してしまうこともある。
\mathbf{x},\mathbf{y}:\textrm{row vector}
\left( \frac{\partial \, \mathbf{y}}{\partial \, \mathbf{x}^\mathrm{T}} \right)_{ij}:=\left( \frac{\partial y_i}{\partial x_j}\right)
ヤコビ行列との関係
ヤコビ行列は,独立変数xを横方向に伸ばし,従属変数yは縦方向に展開するのが良いらしい。
この向きは,重積分の変数変換などでは(行列式にしてしまうので)どちらでも支障はないが,
テイラー展開などで左から列ベクトルに作用させる場合などには重要である。

Wiki, 幾何学B で出てきたのは次の形だった。
特に幾何学Bでは,転置や逆関数をとったりするから,向きに気をつけてさえいればどっちでもよさそうだった。
\frac{\partial (y_1,y_2,\cdots,y_m)}{\partial (x_1,x_2,\cdots,x_n)}=\left( \frac{\partial \, \mathbf{y}}{\partial \, \mathbf{x}^\mathrm{T}} \right)

しかし,Taylor展開を自然に書くためには,xを横に伸ばす必要性が出てくる。
cf. 1次のTaylor展開
\phi : \mathbb{R}^n \ni \mathbf{x} \mapsto \mathbf{y} \in \mathbb{R}^m
\phi \sim \phi(\mathbf{c}) + \partial \phi(\mathbf{c}) (\mathbf{x}-\mathbf{c})

行列関数を微分

行列関数Fの行列Aによる微分は、Fを行列RN×Mの各成分aijを引数とする多変数関数とみなして微分することができる。
F:\mathbf{R}^{M \times N}\rightarrow\mathbf{R};A \rightarrow F(A) \; \textrm{function}
\left( \frac{\partial \, F}{\partial \, A} \right)_{ij}:=\left(\frac{\partial\,F}{\partial\,a_{ij}}\right)
これを利用して、合成行列関数の微分におけるヤコビ行列の積のようなものが得られると嬉しいが、残念ながら下記の様に成分毎の結果しか得られていない。
F:\mathbf{R}^{M \times N}\rightarrow\mathbf{R}^{P \times Q}\rightarrow\mathbf{R}
\qquad ;A \rightarrow \Delta(A) \rightarrow F(\Delta(A)) \; \textrm{function}
\left( \frac{\partial \, F}{\partial \, A} \right)_{ij}= \mathrm{Tr}\left(\frac{\partial\,F}{\partial\,\Delta}\right)^\mathrm{T}\left(\frac{\partial\,\Delta}{\partial\,a_{ij}}\right)
</pre>
<p>= \left \langle \frac{\partial\,F}{\partial\,\Delta}, \frac{\partial\,\Delta}{\partial\,a_{ij}} \right \rangle

Traceをとる方法ではなく、M×N×P×Q個の成分を2つの行列の積として上手く並べる方法は見当たらない(vecを使う方法はある)。
The Matrix Cookbook 式122,126 でもこの形式を用いている。
逆行列による微分では、もう少し計算が進む。
Lem. 
 \widetilde{x}はXの逆行列X-1のij成分であるとして、
 \frac{\partial X}{\partial \widetilde{x}_{ij}} = - X \mathbb{I}^{ij} X
 (証明)
 \frac{\partial X^{-1}}{\partial x_{ij}} = - X^{-1} \frac{\partial X}{\partial x_{ij}} X^{-1} = - X^{-1} \mathbb{I}^{ij} X^{-1}
 ここで Y:=X-1と置くと、xijはY-1のij成分であることに注意して、
 \frac{\partial Y}{\partial x_{ij}} = - Y \mathbb{I}^{ij} Y
 このYをX、xij\widetilde{x}と読み替えればよい。
逆行列による微分
F:\mathbf{R}^{M \times N}\rightarrow\mathbf{R};X \rightarrow F(X) \; \textrm{function}
 \frac{\partial F(X)}{\partial X^{-1}} = - X^\mathrm{T} \frac{\partial F(X)}{\partial X} X^\mathrm{T}
 (証明)
 合成関数の微分公式によって、
 \frac{\partial F(X)}{\partial \widetilde{x}_{ij}} = \left \langle \frac{\partial F(X)}{\partial X}, \frac{\partial X}{\partial \widetilde{x}_{ij}} \right \rangle
   = \left \langle \frac{\partial F(X)}{\partial X}, -X \mathbb{I}^{ij} X \right \rangle
   = \left \langle -X^\mathrm{T} \frac{\partial F(X)}{\partial X} X^\mathrm{T}, \mathbb{I}^{ij} \right \rangle
   = \left( -X^\mathrm{T} \frac{\partial F(X)}{\partial X} X^\mathrm{T} \right)_{ij} \qed
この関係式から「系.Fは逆行列で最適化しても変わらない。」が導かれる。
^\exists X_0 \quad \frac{\partial F(X_0)}{\partial X}=0 \, \Rightarrow  \, \frac{\partial F(X_0)}{\partial X^{-1}}=0

Trの微分

次の交換が基本
\partial \, \mathrm{Tr} X = \mathrm{Tr} \, \partial X

detの微分

余因子展開と余因子行列の性質を用いると,次が分かる。
|A|=\sum_j a_{ij} \Delta_{ij}
\therefore \frac{\partial |A|}{\partial a_{kl}}=\Delta_{kl}
\therefore \frac{\partial |A|}{\partial A}=\mathrm{adj}A=|A|(A^{-1})^\mathrm{T}

二次形式の微分

二次形式はスカラーであるから,トレースや転置をとっても変わらないことを利用する。
二次形式において、行列を対称成分と反対称成分に分けたとき、反対称成分は相殺してしまうので、表現行列として対称行列のみを考えて一般性を失わない。

方向微分による方法

定義に戻って,FのAにおけるH方向微分(Gateaux微分)を以下で計算する方法も有効である。
この計算で得られるのは,Jacobi行列の拡張に相当する作用素である。
F_A(H) := \frac{d F(A+tH)}{d t} \rvert _{t=0}
計算結果において,Hは一般に外せない位置にくる。
最終更新:2009年08月24日 23:12
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。