行列関数の導関数のこの計算を正当化するものは何ですか?


10

Andrew Ngの機械学習コースでは、次の式を使用しています。

∇Atr(ABATC)=CAB+CTABT

そして彼は以下に示される簡単な証明をします:

∇Atr(ABATC)=∇Atr(f(A)ATC)=∇∘tr(f(∘)ATC)+∇∘tr(f(A)∘TC)=(ATC)Tf′(∘)+(∇∘Ttr(f(A)∘TC)T=CTABT+(∇∘Ttr(∘T)Cf(A))T=CTABT+((Cf(A))T)T=CTABT+CAB

証拠はコメントなしで非常に密に見え、私はそれを理解するのに苦労しています。2番目から3番目の平等から具体的に何が起こりましたか?


彼は、、およびの次元について特別な仮定をしている必要があります。そうでない場合、この式は一般的に意味がありません。左側では、任意の非負の整数に対しては行列、 a行列、は行列でなければなりません。ただし、ない限り、右側の積は定義されません。ABCAi×jBj×jCi×mi,j,mi=m
— whuber

@whuberなるほど。想定を前提として、彼がを導入した2行目から3行目への移行がどのように起こったかはまだわかりません。∘
— MoneyBall 2017年

2行目と3行目の間で、ます。2行目と3行目の間では、彼は製品ルールを使用しています。その後、彼はチェーンルールを使用してを取り除きました。f ()f(A)=ABf()
— ブライアンボーチャーズ2017年

回答:


14

手順の多くを混乱させる、この表記法の微妙ではあるが激しい乱用があります。行列の乗算、転置、トレース、導関数の定義に戻って、この問題に対処しましょう。説明を省略したい場合は、最後のセクション「すべてをまとめる」にジャンプして、厳密なデモンストレーションがどれほど短くてシンプルであるかを確認してください。


表記と概念

外形寸法

発現のためのメイクセンスにある行列、(正方形)でなければならない行列及びでなければならない商品はそこから、行列行列。トレース(対角要素の合計である)を取るために、次にとし、を正方行列にします。A m × n B n × n C m × p m × p Tr (X )= ∑ i X i i p = m CABA′CAm×nBn×nCm×pm×pTr⁡(X)=∑iXiip=mC

デリバティブ

表記 " "は、に関する式の導関数を参照しているようです。通常、微分は関数実行される演算です。点の導関数は、線形変換です。これらのベクトル空間のベースを選択すると、そのような変換は行列として表すことができます。 ここではそうではありません! A F :R N → R M、X ∈ R N D F (X ):R N → R M M × N∇AAf:RN→RMx∈RNDf(x):RN→RMM×N

ベクトルとしての行列

代わりに、は要素と見なされ。その係数は、長さベクトルに展開されます(通常、行ごとまたは列ごと)。関数は、場合、実際の値を持ちます。したがって、は行列でなければなりません。これは、線形形式を表す行ベクトルです。ただし、問題の計算では線形形式を表す別の方法を使用します。それらの係数は行列にロールバックされます。RのM nは N = M N F (A )= Trの(A B A ' C )M = 1 DのF (X )1 × M N R M 、N、M × NARmnN=mnf(A)=Tr⁡(ABA′C)M=1Df(x)1×mnRmnm×n

線形フォームとしてのトレース

してみましょう一定であること行列。次に、トレースと行列乗算の定義により、M × Nωm×n

Tr⁡(Aω′)=∑i=1m(Aω′)ii=∑i=1m(∑j=1nAij(ω′)ji)=∑i,jωijAij

これは、の係数の最も一般的な線形結合を表します。はと同じ形状の行列で、行目と列目のその係数は、線形結合の係数です。なぜなら、の役割及び同等の発現を与え、切り替えてもよいですω A I J A I J ω I J A I J = A I J ω I J ω AAωAijAijωijAij=AijωijωA

(1)∑i,jωijAij=Tr⁡(Aω′)=Tr⁡(ωA′).

マトリックス定数を同定することによってとのいずれかの機能のまたは、我々は表してもよい直鎖状空間上のフォームとして行列の行列。 (これらをからまでの関数の導関数と混同しないでください!)A → Trの(ω ')A → Trと(ω A ')M × N個のM × N R、N R MωA→Tr⁡(Aω′)A→Tr⁡(ωA′)m×nm×nRnRm


導関数の計算

定義

統計で見られる行列関数の多くの導関数は、定義から最も簡単かつ確実に計算されます。行列の微分の複雑なルールに頼る必要はありません。この定義は、次のような線形変換が存在する場合に限り、がで微分可能であることを示しています。x LfxL

f(x+h)−f(x)=Lh+o(|h|)

任意の小さな変位。リトルOH表記は、差をで近似する際に生じる誤差が、十分に小さいのサイズよりも任意に小さいことを意味します。特に、比例するエラーは常に無視されます。 F (X + H )- 、F (X )Lの時間時間H | h | 2h∈RNf(x+h)−f(x)Lhhh|h|2

計算

問題の関数に定義を適用しましょう。2つのの積を持つ用語を乗算、拡張、および無視し、h

(2)f(A+h)−f(A)=Tr⁡((A+h)B(A+h)′C)−Tr⁡(ABA′C)=Tr⁡(hBA′C)+Tr⁡(ABh′C)+o(|h|).

導関数を特定するには、これを形式に変換する必要があります。右側の最初の項はすでにこの形式で、です。右の他の用語は、フォーム有する用。これを書きましょう:L=Df(A)(1)ω=BA′CTr⁡(Xh′C)X=AB

(3)Tr⁡(Xh′C)=∑i=1m∑j=1n∑k=1mXijhkjCki=∑i,j,khkj(CkiXij)=Tr⁡((CX)h′).

呼び出すと、は書き換え可能X=AB(2)

f(A+h)−f(A)=Tr⁡(hBA′C)+Tr⁡(CABh′)+o(|h|).

それはであるこの私たちはの派生検討することができるという意味でであることをこれらの行列が遊ぶためにトレース式におけるの役割。fA

Df(A)=(BA′C)′+CAB=C′AB′+CAB,
ω(1)

すべてを一緒に入れて

これが完全なソリューションです。

ましょであり、行列行列、及び行列。ましょう。ましょうあること任意の小さな係数を有するマトリックス。なぜなら(identityによって)は微分可能であり、その導関数は、行列によって決定される線形形式Am×nBn×nCm×mf(A)=Tr⁡(ABA′C)hm×n(3)

f(A+h)−f(A)=Tr⁡(hBA′C)+Tr⁡(ABh′C)+o(|h|)=Tr⁡(h(C′AB′)′+(CAB)h′)+o(|h|),
f
C′AB′+CAB.

これは約半分の作業で済み、行列とトレースの最も基本的な操作(乗算と転置)のみを伴うため、結果のより簡単な、そしておそらくより目立つ-デモと見なす必要があります。元のデモの個々のステップを本当に理解したい場合は、ここに示した計算と比較することは有益だと思うかもしれません。


1
一般に、行列が互換性のあるサイズである場合は常に、ことを知っておくと役立ちます。これを知ることは、(3)を簡単なステップにします。tr(ABC)=tr(CAB)
— ブライアンボーチャーズ2017年

1
@Amoebaユーモラスにしようとしているのかどうかわかりません。質問も回答も、偏微分とは直接関係ありません。形式は、明示的に実数行列のベクトル空間で定義された線形形式です。誰かが、点での関数の導関数がある行列等しいと主張するとき、彼らが意味することは、が線形であることですによって与えられる形式。(1)Mat⁡(m,n)m×nf:Mat⁡(m,n)→RAωDf(A)X:→Tr⁡(Xω′)
— whuber

2
@Amoebaそのとおりです。この回答の最初の行の主張を十分に正当化します。私が「この意味で」と書いて、要約の後半で「等しい」ではなく「決定者」というフレーズを使用したのはそのためです。説明が難しかったことは否定しません。私はそれを明確にする方法について考えます、そして私はあなたのすべてのコメントと提案に感謝します。
— whuber

1
@ user10324私がこのサイトに投稿するもののほとんどは私自身の公式です-私はめったに出典を調べません(そして私はそうするときそれらを文書化します)。これらの投稿は、多くの本や論文を読んだことからの蒸留です。最高の本の中には、完全に数学的に厳密なものではありませんが、根底にある考えを美しく説明し、説明したものがあります。最初に頭に浮かぶのは、洗練された順に、Freedman、Pisani、およびPurves、Statistics(すべてのエディション)です。ジャック・キーファー、統計推論入門 ; スティーブンシュリーブ、財務IIの確率計算。
— whuber

1
@whuberトレースの線形形式が何であるかをようやく理解できました。あなたの説明をもっと注意深く読むことができなかったときに、別の投稿で同じ質問をもう一度尋ねたことをお詫びします。もう1つ質問があります。方程式を適用して任意の行列関数の導関数を見つけることができる場合、はと同じ次元を持っていますか?したがって、場合、?時間X のx ∈ R M × N H ∈ R M × Nf(x+h)−f(x)=Lh+o(|h|)hxx∈Rm×nh∈Rm×n
— MoneyBall 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.