グラム行列の意味と半正定値性

最終更新日 2018/10/27

グラム行列について、線形代数とデータ分析という2つの観点から見ていきます。また、グラム行列の性質についても解説します。

線形代数におけるグラム行列

行列 $A$ に対して、$A^{\top}A$ という行列をグラム行列と言います。

$A$ の各列(縦ベクトル)を $\overrightarrow{a_i}$ とおくと、
$A=(\overrightarrow{a_1},\cdots,\overrightarrow{a_n})$
と表現できますが、このときグラム行列の $ij$ 成分は、$\overrightarrow{a_i}\cdot\overrightarrow{a_j}$
と書けます。

~補足~
・$A$ は正方行列でなくても $A^{\top}A$ は正方行列になります。
・このページでは、$A$ は実行列とします。複素行列を考える場合は、転置 $A^{\top}$ の変わりに随伴行列 $A^{*}$ を用いてください。

データ分析におけるグラム行列

・$n$ 個のデータ:同じサイズの $n$ 本のベクトル $\overrightarrow{x_1},\cdots,\overrightarrow{x_n}$
および
・カーネル関数:$2$ つのデータを入力とし、実数を出力する関数 $K(\overrightarrow{x_i},\overrightarrow{x_j})$

が与えられたとき、
$ij$ 成分が $K(\overrightarrow{x_i},\overrightarrow{x_j})$ であるような行列をグラム行列と言うことがあります。このページでは「データ分析におけるグラム行列」と呼ぶことにします。

2つのグラム行列の関係

データ分析の文脈において、
カーネル関数 $K(\overrightarrow{x_i},\overrightarrow{x_j})$ が、
$K(\overrightarrow{x_i},\overrightarrow{x_j})=\phi(\overrightarrow{x_i})^{\top}\phi(\overrightarrow{x_j})$
という形で書ける場合について考えてみましょう。

ただし、$\phi$ はベクトルを入力として縦ベクトルを返す関数で、特徴ベクトルと呼ばれます。

このとき、特徴ベクトルを並べた行列を
$A=(\phi(\overrightarrow{x_1}),\cdots,\phi(\overrightarrow{x_n}))$
としてみましょう。

この場合、
$A^{\top}A$(線形代数におけるグラム行列

$ij$ 成分が $K(\overrightarrow{x_i},\overrightarrow{x_j})$ である行列(データ分析におけるグラム行列
は一致します。

グラム行列の半正定値性

ここからはベクトル $\overrightarrow{x}$ の矢印を省略して $x$ と書きます。

任意の(サイズの合う)ベクトル $x$ に対して、
$x^{\top}Gx \geq 0$
となるような対称行列 $G$ を半正定値行列と言います。

線形代数におけるグラム行列は半正定値行列です。なぜなら、$A^{\top}A$ は対称行列であり、任意の $x$ に対して
$x^{\top}A^{\top}Ax=(Ax)^{\top}(Ax)\\
=\|Ax\|^2\geq 0$
となるからです。

一方、データ分析におけるグラム行列は半正定値行列とは限りません。ですが、先程述べたようにカーネル関数が何かしらの特徴ベクトル $\phi$ の内積で書ける場合は、データ分析におけるグラム行列も $A^{\top}A$ という形で書けるので半正定値行列になることが保証されます。

次回は マルコフ決定過程(MDP) を解説します。

ページ上部へ戻る