勾配とベクトルの導関数:行または列ベクトル?


9

非常に多くのリファレンス(ウィキペディア、およびhttp://www.atmos.washington.edu/~dennis/MatrixCalculus.pdfおよびhttp://michael.orlitzky.com/articles/the_derivative_of_a_quadratic_form.phpを含む)は、行に配置された関数の偏導関数としてのベクトルによる関数(したがって、スカラー値関数の導関数は行ベクトルです)。この規則では、勾配とベクトル導関数は互いに転置されます。この規則の利点は、導関数の意味を各方向の線形変化率を示す関数として解釈できることです。勾配はベクトルのままで、最大の変化率の方向と大きさを示します。

最近、Gentleの行列代数(http://books.google.com/books/about/Matrix_Algebra.html?id=Pbz3D7Tg5eoC)を読みましたが、彼は別の規約を使用しているようです。列の配置(スカラー値関数の導関数は列ベクトルです)。この配置の結果として、すべての微分結果は、他の規則の結果の転置になります。この規則の利点は、ここで推測しているように、勾配と導関数が等しいことです。したがって、最適化タスクの場合、微分してから転置する代わりに、微分することができます。

緊張はヤコビアンと勾配の間にあると思います。行の規則では、ヤコビ行列は導関数の定義から直接従いますが、勾配を取得するには転置を適用する必要があります。一方、列の規則では、勾配は転置する必要がない勾配ですが、ヤコビアンを取得するには転置を適用する必要があります。したがって、導関数の結果を線形マップと見なしたい場合は、最初の規則が理にかなっています。結果をベクトル/方向と見なしたい場合は、2番目の規則が理にかなっています。だからあなたは一貫している必要があります。

これらの規則のうち、機械学習でより一般的に使用されるものはどれですか?「間違った」コンベンションで仕事を読むのに時間をかけすぎると、どうしようもなく混乱するでしょうか。


math.stackexchange.com/questions/336640/…に関連している可能性があります。これは基本的に最初の規則が先の方法であると述べていますが、私はまだGentleの規則をどうするかについて知りたいと思っています。
Simplefish、2015年

chrishecker.com/Column_vs_row_vectorsは、最初の規則について強力な議論をします。
Simplefish、2015年

計量経済学では、列の配置が慣例です。
tchakravarty

この領域のあいまいさの非常にイライラする例は、ロイトケホールの時系列テキストです。彼は行と列のベクトルに使用される表記法を決して指定していません。そのため、本の方程式を使用する唯一の方法は、最初から最後まで証明と定義を綿密にたどることです。
シャドウトーカー、2015年

回答:


4

J:uUvVv=JuvJu

wu=v

最終的に同じ方法を使用する限り、最終的に使用する規則は重要ではありません。PedersenとPetersenによるMatrix Cookbookは、かなり乾燥していますが、間違いなく有益な情報源です。


ああ、分かった。私はジェントルのヤコビアンの定義を詳しく調べましたが、実際には両方の規則で同じであり、線形マップの行列表現の定義と一致しています。具体的には、列の規則の下で、行の規則の下でのヤコビ行列の転置である「行列勾配」の概念があります。しかし、列の規則では、ヤコビアンは転置とまったく同じように定義されているため、ヤコビアンの行列定義は両方の規則で同じです!異なるのは1次元のエンティティのみです(ベクトルとRの線形マップ)。
Simplefish、2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.