読者です 読者をやめる 読者になる 読者になる

ベクトルで微分

math

このエントリーをはてなブックマークに追加

備忘録として、ベクトルで微分することの定義をまとめる。ここでは、分かりやすいようにベクトルはすべて3次元とする。

定義

ベクトル\mathbf{x}の関数f(\mathbf{x})を、ベクトル\mathbf{x}で(偏?)微分することの定義は以下の通り。

\frac{\partial f( \mathbf{x} )}{\partial \mathbf{x}} = \left( \begin{array}{cc}  \frac{\partial f( \mathbf{x} )}{\partial x_1}  \\ \frac{\partial f( \mathbf{x} )}{\partial x_2} \\ \frac{\partial f( \mathbf{x} )}{\partial x_3} \\ \end{array} \right)

よくあるのが\mathbf{x}^T A \mathbf{x}\mathbf{x}微分するというもの。ここで、Aは3x3の正方行列で、\mathbf{x}^T A \mathbf{x}全体はスカラー値。これを上の定義に基いて計算してみよう。

まず\mathbf{x}^T A \mathbf{x} の値を計算すると、
\mathbf{x}^T A \mathbf{x} = \left( \begin{array}{cc} x_1 & x_2 & x_3 \end{array} \right) \left( \begin{array}{cc} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{array} \right)  \left( \begin{array}{cc} x_1 \\ x_2 \\ x_3 \end{array} \right)   \\ = \left( \begin{array}{cc} a_{11}x_1+a_{21}x_2+a_{31}x_3 & a_{12}x_1+a_{22}x_2+a_{32}x_3 & a_{13}x_1+a_{23}x_2+a_{33}x_3 \end{array} \right) \left( \begin{array}{cc} x_1 \\ x_2 \\ x_3 \end{array} \right)  \\ = a_{11}x_1^2+a_{22}x_2^2+a_{33}x_3^2+(a_{12}+a_{21})x_1x_2+(a_{23}+a_{32})x_2x_3+(a_{31}+a_{13})x_3x_1
となる。
ここで、さっきの定義に従って\mathbf{x}^T A \mathbf{x}\mathbf{x}偏微分してみると
\frac{\partial (\mathbf{x}^T A \mathbf{x}) }{\partial \mathbf{x}} = \left( \begin{array}{cc} 2a_{11}x_1+(a_{12}+a_{21})x_2+(a_{31}+a_{13})x_3 \\ (a_{12}+a_{21})x_1+2a_{22}x_2+(a_{23}+a_{32})x_3 \\ (a_{13}+a_{31})x_1+(a_{23}+a_{32})x_2+2a_{33}x_3 \end{array} \right) \\ = \left( \begin{array}{cc} 2a_{11} & a_{12}+a_{21} & a_{13}+a_{31} \\ a_{21}+a_{12} & 2a_{22} & a_{23}+a_{32} \\ a_{31}+a_{13} & a_{32}+a_{23} & 2a_{33} \end{array} \right) \left( \begin{array}{cc} x_1 \\ x_2 \\ x_3 \end{array} \right) \\ = (A + A^T) \mathbf{x}
と計算できる。もしAが対称行列なら、さらに
\frac{\partial (\mathbf{x}^T A \mathbf{x}) }{\partial \mathbf{x}} = 2A \mathbf{x} と簡単にできる。この結果だけ見ると、高校数学の微分ax^2x微分すると2axとなるのと似てますね。

他の考え方

サイボウズ・ラボ光成さんのPRML の2 章のための数学によると、\frac{\partial}{\partial \mathbf{x}} の定義は\frac{\partial}{\partial x_i} を縦に並べた縦ベクトルとのこと。この定義で覚えたほうがイメージがつかみやすいかも。