last_modified: 2026-01-10
生成AIによる自動生成記事に関する免責事項:
本記事は、Petersen & Pedersen著 The Matrix Cookbook (Nov 15, 2012 edition) のPage 9の内容(公式49〜59)を骨子とし、数理的な証明と応用例を大幅に加筆して再構成した解説記事です。筆者の学習目的で生成したものです。正確な内容は必ず一次情報で確認してください。
1. 序論:基礎から応用への架橋#
前ページ(Page 8)では、行列微分の「アルファベット」とも言うべき、単純な行列式 det(X) や逆行列 X−1 の微分公式を確立しました。これに対し、Page 9(Section 2.1.2以降)は、それらを組み合わせた「文章」を扱うフェーズに入ります。
具体的には、統計学におけるウィシャート分布(Wishart Distribution)の解析や、機械学習におけるガウス過程(Gaussian Process)のカーネル学習、あるいは信号処理におけるビームフォーミングなどで頻出する「二次形式の行列式 det(XTAX)」の微分がここでの主役です。
また、Section 2.2 で扱われる逆行列の微分公式は、数値解析における**準ニュートン法(Quasi-Newton Method)**の更新式導出や、構造力学における感度解析の基礎となる恒等式です。本稿では、これらの公式を一つ一つ解剖し、その数理的構造を明らかにします。
まずは、Page 8の復習を兼ねて、定数行列を含む線形変換された行列の行列式微分を確認します。これらは、より複雑な非線形形式を扱うための基礎となります。
2.1 基本公式と余因子の恒等式 (Eq. 49–51)#
【公式一覧】
∂X∂det(X)=det(X)(X−1)T(49)
k∑∂Xik∂det(X)Xjk∂X∂det(AXB)=δijdet(X)=det(AXB)(X−1)T(50)(51)
【詳細な解説】
-
ヤコビの公式の再訪 (Eq. 49):
この式は Page 8 で導出したヤコビの公式そのものですが、幾何学的な視点から再解釈します。行列式 det(X) は、X の列ベクトルが張る平行六面体の「体積」を表します。体積の勾配が (X−1)T (逆行列の転置)になるという事実は、「各列ベクトルに対して直交する方向(双対基底の方向)に動いたときのみ、体積が最も効率的に変化する」ということを意味しています。
-
余因子展開の恒等式 (Eq. 50):
この式は微分形式で書かれていますが、実質的にはクラメルの公式(Cramer’s Rule)や余因子展開の性質を表しています。
∂Xik∂det(X) は (i,k) 余因子 Cik に他なりません。したがって、左辺は ∑kCikXjk となります。これは「行列 X とその余因子行列の転置(随伴行列)の積」の (j,i) 成分です。
X(adjX)=det(X)I
この線形代数の基本恒等式の成分表示そのものが Eq. 50 です。
-
定数行列の透過性 (Eq. 51):
合成関数 f(X)=det(AXB) を微分します。A,X,B が正方行列の場合、行列式の乗法性により det(AXB)=det(A)det(X)det(B) と分解できます。det(A)det(B) は定数係数として振る舞うため、
∂X∂(cdet(X))=cdet(X)(X−1)T=det(AXB)(X−1)T
となります。
ここからがPage 9のハイライトです。Y=XTAX という形の行列(グラム行列の一般化)の行列式を微分します。これは、共分散行列の推定や次元圧縮(PCA)などで頻出する形式です。
3.1 正方行列の場合 (Eq. 52)#
X が正方かつ正則である場合、最もシンプルな形になります。
【公式】
∂X∂det(XTAX)=2det(XTAX)X−T(52)
【導出】
行列式の乗法性を用います。
f(X)=det(XTAX)=det(XT)det(A)det(X)=det(A)(det(X))2
これを X で微分します。スカラー関数の連鎖律 d(u2)=2udu を想起してください。
d(det(A)(det(X))2)=det(A)⋅2det(X)⋅d(det(X))=2det(A)det(X)⋅det(X)Tr(X−1dX)=2det(XTAX)Tr(X−1dX)
勾配形式に直すと、
∂X∂f=2det(XTAX)(X−1)T=2det(XTAX)X−T
となり、公式と一致します。スカラーの微分 (ax2)′=2ax と構造が酷似しており、「二次形式の微分には係数2が現れる」という直感がここでも成立します。
3.2 非正方行列・対称 A の場合 (Eq. 53)#
実用上、最も重要なのがこのケースです。例えば X∈RM×N (M>N) の場合、XTAX は N×N の行列となり、行列式が定義可能です。しかし、X 自体は正方ではないため、det(X) に分解することはできません。
【公式】
∂X∂det(XTAX)=2det(XTAX)AX(XTAX)−1(53)
【導出:トレースを用いた厳密証明】
合成関数の微分公式(連鎖律)を使います。Y=XTAX と置きます。
d(detY)=detYTr(Y−1dY)
ここで dY を計算します。A は定数行列です。
dY=d(XTAX)=(dX)TAX+XTA(dX)
これをトレースの式に代入します。
Tr(Y−1dY)=Tr(Y−1(dX)TAX)+Tr(Y−1XTAdX)
第1項について、トレースの性質 Tr(M)=Tr(MT) と、Y−1 が対称行列であること(A が対称なら Y も対称、よって Y−1 も対称)を利用します。
Tr(Y−1(dX)TAX)=Tr((Y−1(dX)TAX)T)=Tr(XTATdXY−T)
AT=A,Y−T=Y−1 より、これは Tr(XTAdXY−1)=Tr(Y−1XTAdX) となり、第2項と一致します。
したがって、
Tr(Y−1dY)=2Tr(Y−1XTAdX)=2Tr(AXY−1dX)(巡回性)
これを勾配行列の形(dX の係数行列の転置)として読み取ります。
∂X∂detY=detY⋅2(AXY−1)=2det(XTAX)AX(XTAX)−1
3.3 非正方行列・一般の A の場合 (Eq. 54)#
A が対称でない場合、先ほどの導出における「第1項と第2項が同じになる」というステップが成立しません。
【公式】
∂X∂det(XTAX)=det(XTAX)(AX(XTAX)−1+ATX(XTATX)−1)(54)
※ 原典の数式 (54) にある (XTATX)−1 は ((XTAX)T)−1=(XTAX)−T と同義です。
【導出】
トレース計算において、項をまとめずに個別に勾配を評価します。
Tr(Y−1dY)=Tr(Y−1(dX)TAX)+Tr(Y−1XTAdX)=Tr(AXY−1(dX)T)+Tr(Y−1XTAdX)=Tr((AXY−1)TdX)+Tr(Y−1XTAdX)
勾配 G は dX の係数の転置の和となります。
G=((AXY−1)T)T+(Y−1XTA)T=AXY−T+ATXY−T
これを整理することで Eq. 54 が得られます。この一般形は、制御工学における非保存力場など、特殊な非対称システムを扱う際に有用です。
Section 2.1.4 では、対数行列式やべき乗など、さらに特殊な関数の微分が列挙されています。これらは機械学習の損失関数設計などで頻出します。
4.1 対数行列式と擬似逆行列 (Eq. 55–56)#
XTX の対数行列式の微分です。これは特異値分解(SVD)や主成分分析(PCA)に関連します。
【公式】
∂X∂lndet(XTX)=2(X+)T
【解説:ムーア・ペンローズ擬似逆行列】
ここで X+ は ムーア・ペンローズ擬似逆行列(Moore-Penrose Pseudoinverse) を指します。
もし X が列フルランク(rank(X)=N)であれば、X+=(XTX)−1XT となります。
Eq. 53 (A=I のケース) より、∂det(XTX)/∂X=2det(XTX)X(XTX)−1 です。
対数微分の連鎖律 ∂lnf/∂X=(1/f)⋅∂f/∂X を適用すると、
∂X∂lndet(XTX)=2X(XTX)−1
この右辺は 2((XTX)−1XT)T=2(X+)T と書き直せます。
この公式は、行列 X が正方でない場合でも、その「情報量(体積の二乗)」の勾配が擬似逆行列によって簡潔に表現できることを示しており、低ランク近似の最適化において極めて重要です。
4.2 絶対値付き行列式 (Eq. 57)#
行列式が負になりうる実数行列の場合への一般化です。
【公式】
∂X∂ln∣det(X)∣=(X−1)T
【解説】
ln∣u∣ の微分が 1/u であること(u=0)と同様に、行列式の符号は微分の過程で相殺されます。これにより、符号を気にせずヤコビの公式を適用可能です。
4.3 べき乗の行列式 (Eq. 58)#
【公式】
∂X∂det(Xk)=kdet(Xk)X−T
【導出】
det(Xk)=(det(X))k です。合成関数の微分により、
d((detX)k)=k(detX)k−1⋅d(detX)=k(detX)k−1⋅detX⋅Tr(X−1dX)=kdet(Xk)Tr(X−1dX)
よって勾配は kdet(Xk)X−T となります。スカラーの微分 kxk−1 との整合性が美しい公式です。
5. 逆行列の微分 (Derivatives of an Inverse)#
Page 9 の後半、Section 2.2 は、行列式の微分と並んで行列微分の「双璧」をなす、逆行列の微分公式です。
基本恒等式 (Eq. 59)#
【公式】
∂x∂Y−1=−Y−1∂x∂YY−1(59)
ここで x はスカラー変数、Y は x に依存する行列 Y(x) です。
【完全な証明】
- 恒等式の出発点: Y(x)Y−1(x)=I
- 両辺を x で微分: ∂x∂(YY−1)=∂x∂I=0
- 積の微分公式(ライプニッツ則): 行列積の順序を崩さないように注意します。
∂x∂YY−1+Y∂x∂Y−1=0
- 左から Y−1 を乗算して移項:
∂x∂Y−1=−Y−1∂x∂YY−1
【意義】
スカラー関数 −1/y2 に相当しますが、行列の非可換性により、導関数が Y−1 に「挟み撃ち」される形になります。この構造は、数値解析や物理シミュレーションにおいて決定的な役割を果たします。
6. 実践的応用例:数式から現実世界へ#
Page 9 の公式群(特に Eq. 53, Eq. 56, Eq. 59)が実際にどのように組み合わされて使われるか、機械学習の具体例で示します。
応用例:ガウス過程回帰 (GPR) におけるハイパーパラメータ推定#
【問題設定】
ガウス過程回帰において、カーネル行列 K(θ) (要素はハイパーパラメータ θ に依存)を持つ対数周辺尤度 L(θ) を最大化したいとします。
L(θ)=−21yTK(θ)−1y−21lndetK(θ)−2Nln(2π)
【勾配の導出】
勾配法(共役勾配法など)で θ を更新するために、∂θ∂L を計算します。
-
データ適合項(第1項)の微分:
二次形式 yTK−1y の微分です。Eq. 59(逆行列の微分)を使います。
∂θ∂(yTK−1y)=yT(−K−1∂θ∂KK−1)y=−(K−1y)T∂θ∂K(K−1y)=−αT∂θ∂Kα(ここで α=K−1y)
-
複雑性ペナルティ項(第2項)の微分:
対数行列式の微分です。Page 8 の Eq. 42(Page 9 Eq. 53 の簡易版)を使います。
∂θ∂lndetK=Tr(K−1∂θ∂K)
-
全体の勾配:
これらを合わせると、以下の美しい更新式が得られます。
∂θ∂L=21Tr((ααT−K−1)∂θ∂K)
この結果は、Page 9 で学んだ「逆行列の微分」と「行列式の微分」が見事に融合して初めて得られるものです。GPyTorchやGPflowなどの最新ライブラリの内部では、まさにこの計算が行われています。
7. 結論#
『The Matrix Cookbook』Page 9 は、一見すると複雑な数式の羅列に見えますが、その実体は**「多変量解析のための微積分ツールキット」**です。
- Eq. 49-51: 線形変換された空間の体積変化率。
- Eq. 52-54: グラム行列や共分散行列といった「情報の構造」の微分。
- Eq. 56: 擬似逆行列へと繋がる、低ランク構造の解析。
- Eq. 59: システムの変動に対する逆応答の感度解析。
これらの公式を自在に操れるようになることは、単に計算ができるようになるだけでなく、統計モデルや物理シミュレーションの「挙動」を数式レベルで直感的に理解する力(リテラシー)を身につけることを意味します。
参考文献#
- Petersen, K. B., & Pedersen, M. S. (2012). The Matrix Cookbook. Technical University of Denmark. (Page 9, Eqs 49-59)
- Rasmussen, C. E., & Williams, C. K. I. (2006). Gaussian Processes for Machine Learning. MIT Press. (Application to GPR)
- Magnus, J. R., & Neudecker, H. (2019). Matrix Differential Calculus with Applications in Statistics and Econometrics. John Wiley & Sons.
- Nocedal, J., & Wright, S. J. (2006). Numerical Optimization. Springer. (Quasi-Newton methods)