機械学習を勉強していると、行列とベクトルの2次形式について触れることは多々あると思います。
2次形式は、多変量ガウス分布の指数部分に登場するなど、機械学習の応用として非常に登場頻度が高いため、是非とも学ぶ必要性がある形式です。
特に多変量ガウス分布が描く投稿線やマハラノビス距離などの統計量を扱う際にも、この2次形式を理解していることは必須です。
今回は、線形代数分野で頻出の2次形式について解説します。
2次形式の定義
まず、2次形式の定義を示します。
ベクトル$\bm{x}$をD次元ベクトル、$\bm{A}$をD次正方行列とするとき、
\begin{equation}
\bm{x^TAx}
\end{equation}で表現できる式を、2次形式という。
定義だけを示すと、味気ないですね。
2次形式の成分表示
(1)式を展開するとこのようになります。
\begin{equation}
\begin{split}
\bm{x^TAx} &= \bm{x^T}(\bm{Ax}) \\
&=\sum_{i = 1}^{D} x_i (\sum_{j=i}^{D} a_{ij}x_j) \\
&= \sum_{i = 1}^{D}\sum_{j = 1}^{D} a_{ij}x_ix_j
\end{split}
\end{equation}このように表現することができます。
2次形式の行列表示
2次形式を具体的な$\bm{x}$と$\bm{A}$を用いて計算してみましょう。
(1)式における、ベクトル$\bm{x}$と、実数から成る対象行列$\bm{A}$を、
\begin{equation}
x = \begin{pmatrix}
x_1 \\ x_2
\end{pmatrix},
A =
\begin{pmatrix}
a_{11} & a_{12} \\
a_{12} & a_{22} \\
\end{pmatrix}
\end{equation}上記のように定義すると、2次形式の値は、
\begin{equation}
\begin{split}
\bm{x^TAx} &=
\begin{pmatrix}
x_1 & x_2
\end{pmatrix}
\begin{pmatrix}
a_{11} & a_{12} \\
a_{12} & a_{22} \\
\end{pmatrix}
\begin{pmatrix}
x_1 \\ x_2
\end{pmatrix} \\
&=
\begin{pmatrix}
a_{11}x_1 + a_{12}x_2 & a_{12}x_1 + a_{22}x_2
\end{pmatrix}
\begin{pmatrix}
x_1 \\ x_2
\end{pmatrix} \\
& = a_{11}x_1^2 + 2a_{12} x_1x_2 + a_{22}x_2^2
\end{split}
\end{equation}となり、二時形式を対称行列で表現することがわかります。
この例だと2次元の例でしたが、実は3次元以上の場合でも、任意の2次形式は、対称行列を用いて表現することができます。この事実はよく使うことになるので、覚えておくと良いでしょう。
2次形式の微分
2次形式の微分については、次のような公式が成り立ちます。
2次形式$\bm{x^TAx}$を、ベクトル$\bm{x}$で微分して得られる勾配ベクトルは、
\begin{equation}
\frac{\partial (\bm{x^TAx})}{\bm{x}} = (A + A^T)\bm{x}
\end{equation}となる。ここで、$A$が対称行列であるときは、2次形式$\bm{x^TAx}$の勾配ベクトルは、
\begin{equation}
\frac{\partial (\bm{x^TAx})}{\bm{x}} = 2A\bm{x}
\end{equation}となる。
(3)、(4)式は、非常に多く登場するので覚えておくと良いでしょう。