二次形式の平方完成(Completing the square)の計算の流れ

二次形式の平方完成(Completing the square)を行うにあたって、行列演算の取り扱いはいきなり出てくると対応が難しいです。そこで当記事では行列が出てくる際の平方完成はどのように行えるかに関して取りまとめます。
作成にあたっては「パターン認識と機械学習」の$2.3.1$節の$(2.71)$式周辺の内容を元になるべくわかりやすく表すにあたって追記を行いました。なお、出典との対応がわかりやすいように重要な数式に関しては出典の番号も追記しました。

多次元正規分布の二次形式

$$
\large
\begin{align}
N(\mathbf{x}|\mathbf{\mu}, \mathbf{\Sigma}) = \frac{1}{(2 \pi)^{D/2}} \frac{1}{|\Sigma|^{1/2}} \exp \left( -\frac{1}{2}(\mathbf{x}-\mathbf{\mu})^{\mathrm{T}} \mathbf{\Sigma}^{-1}(\mathbf{x}-\mathbf{\mu}) \right) \quad (2.43)
\end{align}
$$

上記のように定義される多次元正規分布の$\exp$の内部の$(\mathbf{x}-\mathbf{\mu})^{\mathrm{T}} \mathbf{\Sigma}^{-1}(\mathbf{x}-\mathbf{\mu})$を$\Delta^2$のように定義する。このとき$\Delta^2$は下記のように表される。
$$
\large
\begin{align}
\Delta^2 = (\mathbf{x}-\mathbf{\mu})^{\mathrm{T}} \mathbf{\Sigma}^{-1}(\mathbf{x}-\mathbf{\mu}) \quad (2.44)
\end{align}
$$

上記の$\Delta^2$は平均ベクトル$\mathbf{\mu}$、共分散行列$\mathbf{\Sigma}$の多次元正規分布$N(\mathbf{x}|\mathbf{\mu}, \mathbf{\Sigma})$に対応しており、逆に平方完成を行う場合は$(2.44)$式の形式にまとめることが目標となる。$(2.44)$式の展開と平方完成に関しては次節で取り扱う。

二次形式の展開と平方完成

多次元正規分布における展開

前節で表した$(2.44)$式は下記のように展開を行うことができる。下記では計算の流れが追いやすいように詳しい変形の流れを確認した。
$$
\large
\begin{align}
\Delta^2 &= (\mathbf{x}-\mathbf{\mu})^{\mathrm{T}} \mathbf{\Sigma}^{-1}(\mathbf{x}-\mathbf{\mu}) \quad (2.44) \\
&= (\mathbf{x}^{\mathrm{T}}-\mathbf{\mu}^{\mathrm{T}}) \mathbf{\Sigma}^{-1}(\mathbf{x}-\mathbf{\mu}) \\
&= \mathbf{x}^{\mathrm{T}} \mathbf{\Sigma}^{-1} \mathbf{x} – \mathbf{x}^{\mathrm{T}} \mathbf{\Sigma}^{-1} \mathbf{\mu} – \mathbf{\mu}^{\mathrm{T}} \mathbf{\Sigma}^{-1} \mathbf{x} + \mathbf{\mu}^{\mathrm{T}} \mathbf{\Sigma}^{-1} \mathbf{\mu} \\
&= \mathbf{x}^{\mathrm{T}} \mathbf{\Sigma}^{-1} \mathbf{x} – \mathbf{x}^{\mathrm{T}} \mathbf{\Sigma}^{-1} \mathbf{\mu} – \mathbf{x}^{\mathrm{T}} \mathbf{\Sigma}^{-1} \mathbf{\mu} + \mathbf{\mu}^{\mathrm{T}} \mathbf{\Sigma}^{-1} \mathbf{\mu} \\
&= \mathbf{x}^{\mathrm{T}} \mathbf{\Sigma}^{-1} \mathbf{x} – 2 \mathbf{x}^{\mathrm{T}} \mathbf{\Sigma}^{-1} \mathbf{\mu} + \mathbf{\mu}^{\mathrm{T}} \mathbf{\Sigma}^{-1} \mathbf{\mu} \quad (1), (2.71)’
\end{align}
$$

$(1)$式に$\displaystyle – \frac{1}{2}$をかけたものが$(2.71)$式に対応するので、上記では$(2.71)’$のように表記を行なった。また、上記の計算にあたっては$\mathbf{x}^{\mathrm{T}} \mathbf{\Sigma}^{-1} \mathbf{\mu}, \mathbf{\mu}^{\mathrm{T}} \mathbf{\Sigma}^{-1} \mathbf{x}$がそれぞれスカラーであることより下記が成立することを用いた。
$$
\large
\begin{align}
\mathbf{x}^{\mathrm{T}} \mathbf{\Sigma}^{-1} \mathbf{\mu} &= (\mathbf{x}^{\mathrm{T}} \mathbf{\Sigma}^{-1} \mathbf{\mu})^{\mathrm{T}} \\
&= \mathbf{\mu}^{\mathrm{T}} (\mathbf{\Sigma}^{-1})^{\mathrm{T}} \mathbf{x} \\
&= \mathbf{\mu}^{\mathrm{T}} \mathbf{\Sigma}^{-1} \mathbf{x}
\end{align}
$$

ここで$\mathbf{\Sigma}^{-1}$が対称行列であることは「パターン認識と機械学習 演習$2.22$」より確認できる。

一般的な文字を用いた展開の表記

前項で取り扱った式表現をより一般的に表記するにあたって、下記のようなベクトルや行列を定義する。
$$
\large
\begin{align}
\mathbf{x} &= \left(\begin{array}{c} x_{1} \\ \vdots \\ x_{D} \end{array} \right) \\
\mathbf{p} &= \left(\begin{array}{c} a_{1} \\ \vdots \\ p_{D} \end{array} \right) \\
\mathbf{A} &= \left(\begin{array}{ccc} A_{11} & \cdots & A_{1D} \\ \vdots & \ddots & \vdots \\ A_{D1} & \cdots & A_{DD} \end{array} \right)
\end{align}
$$

ここで上記の行列$\mathbf{A}$は対称行列であり、$\mathbf{A}^{\mathrm{T}}=\mathbf{A}$が成立するとする。

このとき、平方完成を$(\mathbf{x}-\mathbf{p})^{\mathrm{T}}\mathbf{A}^{-1}(\mathbf{x}-\mathbf{p})$のように定義すると、前項と同様に$(\mathbf{x}-\mathbf{p})^{\mathrm{T}}A^{-1}(\mathbf{x}-\mathbf{p})$は下記のように展開できる。
$$
\large
\begin{align}
(\mathbf{x}-\mathbf{p})^{\mathrm{T}}\mathbf{A}^{-1}(\mathbf{x}-\mathbf{p}) = \mathbf{x}^{\mathrm{T}} \mathbf{A}^{-1} \mathbf{x} – 2 \mathbf{x}^{\mathrm{T}} \mathbf{A}^{-1} \mathbf{p} + \mathbf{p}^{\mathrm{T}} \mathbf{A}^{-1} \mathbf{p} \quad (2)
\end{align}
$$

ここで$(2)$式の$\mathbf{A}^{-1}$は$D \times D$正方行列、$\mathbf{A}^{-1} \mathbf{p}$は$D \times 1$ベクトルであることは抑えておくと良い。

平方完成

前項で取り扱った$(2)$式の右辺から左辺への対応を考えることで平方完成を行うことができる。以下、具体的にいくつかの例に対して$(2)$式との対応を考えることで$\mathbf{x}$に関する平方完成を行う。まず、$\mathbf{p}$、$\mathbf{A}$の代わりに下記のベクトルと行列を定義する。
$$
\large
\begin{align}
\mathbf{b} &= \left(\begin{array}{c} b_{1} \\ \vdots \\ b_{D} \end{array} \right) \\
\mathbf{B} &= \left(\begin{array}{ccc} B_{11} & \cdots & B_{1D} \\ \vdots & \ddots & \vdots \\ B_{D1} & \cdots & B_{DD} \end{array} \right) \\
\mathbf{C} &= \left(\begin{array}{ccc} C_{11} & \cdots & C_{1D} \\ \vdots & \ddots & \vdots \\ C_{D1} & \cdots & C_{DD} \end{array} \right)
\end{align}
$$

上記の$\mathbf{B},\mathbf{C}$は$\mathbf{A}$と同様に対称行列のみを考える。

・$\mathbf{x}^{\mathrm{T}} \mathbf{B} \mathbf{x} – 2 \mathbf{x}^{\mathrm{T}} \mathbf{B} \mathbf{b}$
$$
\large
\begin{align}
\mathbf{x}^{\mathrm{T}} \mathbf{B} \mathbf{x} – 2 \mathbf{x}^{\mathrm{T}} \mathbf{B} \mathbf{b} = \mathbf{x}^{\mathrm{T}} \mathbf{B} \mathbf{x} – 2 \mathbf{x}^{\mathrm{T}} (\mathbf{B} \mathbf{b})
\end{align}
$$

$(2)$式との対応により、下記のように$\mathbf{p}$、$\mathbf{A}$を導出できる。
$$
\large
\begin{align}
\mathbf{A}^{-1} &= \mathbf{B} \\
\mathbf{A}^{-1} \mathbf{p} &= \mathbf{B} \mathbf{b} \\
\mathbf{p} &= \mathbf{A} \mathbf{B} \mathbf{b}
\end{align}
$$

・$\mathbf{x}^{\mathrm{T}} (\mathbf{B}+\mathbf{C)} \mathbf{x} + \mathbf{x}^{\mathrm{T}} \mathbf{B} \mathbf{b}$
$$
\large
\begin{align}
\mathbf{x}^{\mathrm{T}} (\mathbf{B}+\mathbf{C)} \mathbf{x} + \mathbf{x}^{\mathrm{T}} \mathbf{B} \mathbf{b} = \mathbf{x}^{\mathrm{T}} (\mathbf{B}+\mathbf{C}) \mathbf{x} – 2 \mathbf{x}^{\mathrm{T}} \left( – \frac{1}{2} \mathbf{B} \mathbf{b} \right)
\end{align}
$$

$(2)$式との対応により、下記のように$\mathbf{p}$、$\mathbf{A}$を導出できる。
$$
\large
\begin{align}
\mathbf{A}^{-1} &= \mathbf{B} + \mathbf{C} \\
\mathbf{A}^{-1} \mathbf{p} &= – \frac{1}{2} \mathbf{B} \mathbf{b} \\
\mathbf{p} &= – \frac{1}{2} \mathbf{A} \mathbf{B} \mathbf{b}
\end{align}
$$

参考

・多次元正規分布の確率密度関数の直感的な理解
https://www.hello-statisticians.com/explain-terms-cat/multi_norm_dist1.html

「二次形式の平方完成(Completing the square)の計算の流れ」への2件のフィードバック

コメントは受け付けていません。