非常に多くのリファレンス(ウィキペディア、および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番目の規則が理にかなっています。だからあなたは一貫している必要があります。
これらの規則のうち、機械学習でより一般的に使用されるものはどれですか?「間違った」コンベンションで仕事を読むのに時間をかけすぎると、どうしようもなく混乱するでしょうか。