北野坂備忘録

主にインストールやプログラミングのメモを載せています。

計画行列(デザイン行列)とは何か:PRML編

 黄色本(『パターン認識機械学習』:PRML)を読んでいると、「計画行列」という単語が頻繁に出てきます。
 この計画行列ですが、英語では「design matrix」です。なので別書籍では「デザイン行列」と書かれていることもあります。
 日本語で「デザイン」というと「意匠」のことをイメージしますが、もともとは「設計」の意味です。というわけで日本語の翻訳としても「設計行列」のほうが良かったような気がします。
 この計画行列、もともとは統計学の生まれです。多種類の(重)回帰分析、(共)分散分析などの実験計画をモデル化して表すために作り出されました。たぶん「実験計画」が念頭にあったため「計画行列」という訳語になったものと思われます。

 統計学的計画行列がよくまとまっているのがこちら。
デザイン行列(配置行列)*  (「マルチメディア統計百科事典」より)
https://upo-net.ouj.ac.jp/tokei/xml/k3_04012.xml
 こちらのサイトでは「デザイン行列」「配置行列」と表記されています。

 対して、黄色本では計画行列Φを「基底関数φ_j(x_n)をN行M列に並べたもの」としています。ここでNは入力(及び目標値)の数、Mはモデルのパラメータ数です。

φ_0(x_1), φ_1(x_1),..., φ_M-1(x_1)
φ_0(x_2), φ_1(x_2),..., φ_M-1(x_2)
 …    …     …    …
φ_0(x_N), φ_1(x_N),..., φ_M-1(x_N) 

 で、基底関数とは、「入力変数に関して非線形な関数」です。
 この基底関数を線形結合させた「線形基底関数モデル」は、
・パラメータ(w)に関しては線形 = 解析しやすい
・入力変数(x)に関しては非線形 = 表現力が高い
 という特徴を持つため非常に有用です。

 つまり、黄色本において計画行列とは、具体的には
「(入力変数に関して非線形な関数である)基底関数をモデルのパラメータだけ右の列に並べ、更に入力変数の数だけ下の行に並べた行列」
であり、抽象的には
「当該の線形基底関数モデルを行列で表現したもの」
ということになります。