ベイズ分類器とニューラルネット

先の記事で、ピクセル相互の共分散を考慮したベイズ分類器にすると、MNISTで94%の正解率を実現できることを示した。この分類器は、ピクセル相互の独立分布を前提にしたNaive Bayes Classifier (単純ベイズ分類器)とは違う。MNISTの場合、28X28=784次元(ピクセル数)のベクトルが考慮されている。共分散マトリクスが使われるので、それらの相互関係が考慮されているところがすごいのである。

もちろん、全く共分散がないピクセル関係もある。また、特に、画像の端のピクセルなどは、そもそも1以上の値を持つことがないので、どの他のピクセルとも相関がゼロだったりする。pythonのscipy.statsライブラリの多変量正規分布の共分散マトリクスは、フルランクではなくてもいいので、こうしたゼロ相関に寛容である。

共分散マトリクスで全てのベクトル要素同士が関連しているというのは、ニューラルネットと構造はよく似ている。この全要素をつなげている共分散マトリクスは、分類されるべきパターン(概念)それぞれ一つずつあるので、例えばMNISTの識字の場合は10層のネットワークがあることになる。

学習によってこれらの共分散マトリクスが形成されるということは、ディープラーニングでウェイトの学習が行われるのと類似の機能である。

この共分散マトリクスを分析にすのは興味深い。やってみたい。