各章への補注

カーネル関数の積が正定値になるより直接的な証明

式(5.4)の \( k_{mul}(x,x') = k_1(x,x') k_2(x,x') \) が正定値になる証明は、本書では p.154 6.1(d) でテンソル積の正定値性の特殊な場合として示していましたが、グラム行列を使うと以下のように容易に証明できます。

データ点 \( x_1,\ldots,x_n \) に対するグラム行列を \( k_1, k_2 \) それぞれについて作り, \( K_1, K_2 \) とします。 \( K_1 \) を固有値展開し、

\[ K_1 = U \Lambda U^T \]

とします。 ここで、\( U \) は直交行列で、\( \Lambda \) は 正の固有値 \( \lambda_1,\ldots,\lambda_n \) を対角要素に持つ対角行列です。 上の式を成分で書くと、

\[ (K_1)_{ij} = \sum_{\alpha=1}^n \lambda_{\alpha} U_{i\alpha} U_{j\alpha} \]

となります。さて、二つの正定値グラム行列 \( K_1, K_2 \) の成分毎の積で定義されるグラム行列 \( K_{mul} \) (成分で書けば \( (K_{mul})_{ij} = (K_1)_{ij} (K_2)_{ij} \) ) が正定値であるためには任意の \( n \) 次元ベクトル \( {\bf a} \) に対して \( {\bf a}^T K_{mul} {\bf a} > 0 \) を示せばよいのですが、それは

\[ {\bf a}^T K_{mul} {\bf a} = \sum_{i=1}^n \sum_{j=1}^n a_i a_j (K_1)_{ij} (K_2)_{ij} = \sum_{i=1}^n \sum_{j=1}^n \sum_{l=1}^n a_i a_j \lambda_l U_{il} U_{jl} (K_2)_{ij} \]

と変形でき、さらに

\[ \sum_{l=1}^n \lambda_l \bigg(\sum_{i=1}^n \sum_{j=1}^n (a_i U_{il}) (a_j U_{jl}) (K_2)_{ij} \bigg) \]

となるので、\( K_2 \) の正定値性の定義よりこの大きな()内は常に正なので全体も正になります。 (証明終わり)


トップ   編集 凍結解除 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-08-25 (水) 14:45:53