共分散を考慮したベイズ分類器 MNIST 94%


Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_4a8a08f09d37b73795649038408b5f33.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_4a8a08f09d37b73795649038408b5f33.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_9dd4e461268c8034f5c8564e155c67a6.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_9dd4e461268c8034f5c8564e155c67a6.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_07e9818e2e436232f49e2703b287ce35.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_07e9818e2e436232f49e2703b287ce35.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_57a09c65e4fbee92189f9458f1146004.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_57a09c65e4fbee92189f9458f1146004.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_c19f6b6a7bae1fd5b14f578c6edc3454.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_c19f6b6a7bae1fd5b14f578c6edc3454.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_9dd4e461268c8034f5c8564e155c67a6.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_9dd4e461268c8034f5c8564e155c67a6.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_025b3f94d79319f2067156076bf05243.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_025b3f94d79319f2067156076bf05243.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Naive Bayes Classifierでは、MNISTの正解率が84%にとどまったと言うことで、多変量ベルヌーイ分布の共分散を考慮したモデルで試みようとしたが、プログラミングの制約が大きくうまくいっていない。

そこで、こちらのサイトで紹介されている、ピクセル間の相関を多変量正規分布の相関で表現したモデルに注目した。プログラムも提示されているので、自分でもやってみたところ、MNISTの手書き文字認識で、なんと94%の正解率に到達した。ディープラーニングのパフォーマンスに肉薄している。計算では、このプログラム用のMNISTデータが見当たらなかったので、プログラムに合うようにフォーマットを整えたことくらいで、あとは普通に動いた。

理論的には、ある文字ラベルのもとで、ピクセルベクトルが生じる確率が、次のような多変量正規分布で表されるという前提になっている。

ベイズ定理から、

となる。は、ラベルに依存せず共通なので、結局右辺の分母の値を標本(事前学習データ)から求めて、左辺、すなわち、ピクセルベクトルが与えられた元での、出現確率が最大となる数字ラベルを求めれば良いわけである。実際の計算では、順序は変わらないので、右辺の対数をとったもので比較している。

ぱっと見、上の多変量正規分布の計算は、共分散行列の逆数を求めるというのが深刻な壁のように感じるが、プログラムでは、pythonの科学計算ライブラリで簡単に処理してしまっている。驚いた。何しろこのサイトの、pythonで書かれたプログラムは、ライブラリを巧妙に使っていて、超短く、効率的で、何しろ早い。

MNISTデータは、訓練用60000個あるが、プログラムでは、教育用に5000個、テスト用に5000個使っているだけである。それで、94%の正解率なのだが、これを例えば30000個を教育用に使っても、成果率は94%から上昇しない。つまり、5000個で、文字の特徴を捉えてしまっているのだ。悪く言えば、そこまでの分類器でしかないと言うこともできるが、それにしても94%という正解率、および、その使いやすさは、とてつもなく優れているというべきだ。

このサイトのプログラマーさんのすごさもある。あまりにプログラムが短い、すなわち、全く無駄がない。それによって、改めて、pythonというプログラミングの優秀さを感じた。私は大体、JavaとC++をメインにしているのだが、これからはpythonを本格的に使っていきたい。

ツールとしては、これ以上のものは望めない。自然言語の方に戻ろう。

MNISTの手書き数字データをベイズ推計してみた:Naive Bayes Classifier


Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_821a5d5d1cb3f256cbf121cd226c2b54.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_821a5d5d1cb3f256cbf121cd226c2b54.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_2461ba06bc48f5aa46a4ce9fc705f5b4.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_2461ba06bc48f5aa46a4ce9fc705f5b4.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_7b8b965ad4bca0e41ab51de7b31363a1.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_7b8b965ad4bca0e41ab51de7b31363a1.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_865c0c0b4ab0e063e5caa3387c1a8741.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_865c0c0b4ab0e063e5caa3387c1a8741.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_c957e702bad5bbe9549c5049e6380c40.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_c957e702bad5bbe9549c5049e6380c40.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_f1bf0f952d57a14739368d7e0fc0bf70.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_f1bf0f952d57a14739368d7e0fc0bf70.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_03c7c0ace395d80182db07ae2c30f034.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_03c7c0ace395d80182db07ae2c30f034.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_9dd4e461268c8034f5c8564e155c67a6.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_9dd4e461268c8034f5c8564e155c67a6.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_44e8e2a7bb39e7339f485bd5896a4e68.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_44e8e2a7bb39e7339f485bd5896a4e68.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_9dd4e461268c8034f5c8564e155c67a6.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_9dd4e461268c8034f5c8564e155c67a6.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_03c7c0ace395d80182db07ae2c30f034.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_03c7c0ace395d80182db07ae2c30f034.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_420c5ef441e2678c53d24357c5d183b7.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_420c5ef441e2678c53d24357c5d183b7.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_c19f6b6a7bae1fd5b14f578c6edc3454.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_c19f6b6a7bae1fd5b14f578c6edc3454.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_91aceeab65bbc7fb652288081b4d816e.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_91aceeab65bbc7fb652288081b4d816e.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_f1bf0f952d57a14739368d7e0fc0bf70.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_f1bf0f952d57a14739368d7e0fc0bf70.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_6bf77b34e55b063221283b656307d8d5.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_6bf77b34e55b063221283b656307d8d5.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_23368e8b963987006a66feb1d7631cb9.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_23368e8b963987006a66feb1d7631cb9.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_03c7c0ace395d80182db07ae2c30f034.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_03c7c0ace395d80182db07ae2c30f034.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_9dd4e461268c8034f5c8564e155c67a6.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_9dd4e461268c8034f5c8564e155c67a6.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_865c0c0b4ab0e063e5caa3387c1a8741.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_865c0c0b4ab0e063e5caa3387c1a8741.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_05e42209d67fe1eb15a055e9d3b3770e.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_05e42209d67fe1eb15a055e9d3b3770e.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_f1bf0f952d57a14739368d7e0fc0bf70.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_f1bf0f952d57a14739368d7e0fc0bf70.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_05e42209d67fe1eb15a055e9d3b3770e.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_05e42209d67fe1eb15a055e9d3b3770e.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_23368e8b963987006a66feb1d7631cb9.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_23368e8b963987006a66feb1d7631cb9.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_23368e8b963987006a66feb1d7631cb9.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_23368e8b963987006a66feb1d7631cb9.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_05e42209d67fe1eb15a055e9d3b3770e.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_05e42209d67fe1eb15a055e9d3b3770e.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_8e317c94debf0ff8b00ae7eee57a2c42.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_8e317c94debf0ff8b00ae7eee57a2c42.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_e8b64534878bbeb554956afaadab5b33.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_e8b64534878bbeb554956afaadab5b33.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_44e8e2a7bb39e7339f485bd5896a4e68.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_44e8e2a7bb39e7339f485bd5896a4e68.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

Warning: fopen(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_03c7c0ace395d80182db07ae2c30f034.gif): failed to open stream: Permission denied in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 123

Warning: fputs() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 124

Warning: fclose() expects parameter 1 to be resource, bool given in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 126

Warning: getimagesize(/data/htdocs/ibot/wpibot//wp-content/plugins/latex/cache/tex_03c7c0ace395d80182db07ae2c30f034.gif): failed to open stream: No such file or directory in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 129

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 47

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /data/htdocs/ibot/wpibot/wp-content/plugins/latex/latex.php on line 49

この間、アソシアトロンの本を読んだりプログラムを書いたりするうちに、概念形成の場合は、アソシアトロンよりもベイズ推計のほうがパフォーマンスが良くなる可能性に思い当たった。そこで、このさい、この概念形成のベイズ推計モデルを使って、ディープラーニングなどの人工知能の性能評価に使われているMNISTの手書き数字データをベイズモデルで推計してみた。

MNISTデータは、中身を変えずに少し形式を変形して用いた。訓練用の60000個のデータで、事前確率を計算し、それをもとにテストデータ10000個で、テストした。どうせパフォーマンスはぼろぼろだろうと思ったが、84.1%の正解率だった。ディープラーニングだと90%の後半の数字が出るので(私が作ったDeep Learningのプログラムで、MNISTのテストした時には、96%にとどまったが:笑)、それから比べると相当低いが、私は正直、こんなに高い数字が出たことで、ちょう驚いた。どこか、正解を計算に使ったような、とんでもない間違いをしているのではないかと思ったくらいだ。

まず、プログラムが、ディープラーニングよりも無茶苦茶簡単なものになる。プログラムは、以下に置いてある。

https://github.com/toyowa/NaiveBayesClassifier

MNISTのデータは大きすぎて載せていないが、読み込み関数を見れば、どのようなフォーマットか理解できると思う。MNISTデータをテキストファイルとして、わかりやすいフォーマットに変えている。

プログラムの簡単さよりも遥かに大きな驚きは、60000個の学習から10000個のテストを終えるまでに、私の8コアのubuntu18.04で9秒33で終わってしまうのだ。プログラムはg++用のc++で書いている。テストは、4秒弱で終わる。データの読み込み時間がかかっているので、実際の計算はもっと短い。

これは、単純ベイズ分類器(Naive Bayes Classifier)というものだ。単純というのは、変数間の相関を考慮せず、独立であると想定していることである。独立でない場合については、のちに書く予定だ。

理論的な枠組みを示す。単純ベイズ分類器といっても、理論はそんな単純ではない。手書き数字データは、0から9までの10個の数字のラベルがつけられている。このラベルに結びついた事象をであらわす。MNISTでは1ピクセルを0から255の数値でその濃さを表しているが、ここでは正ならば1、負ならば0と変換しておく(多変量ベルヌーイ試行あるいはベルヌーイ分布にしている。これを多変量正規分布でも、試みたが色々不都合があった。機会があれば説明する)。このピクセルのベクトル(あるいは事象)をとしよう。はデータ番号(必要がないときは省略する)、はピクセル番号である。

このとき、ベイズ定理は次のように表される。

今、は、数字ラベルのときに、ピクセルベクトルが得られる確率であり、は、逆に、ベクトルが得られた時に、それが数字ラベルに属する確率、およびは、それぞれの条件に依存しない全体に対する確率である。

これは次のように変形できる。

式(1)

また、ここでは、変数(ピクセル値)の相関がないと想定しているので、は、極めて単純(Naive)な形になり、次のように求められる。

式(2)

ここで、は、ラベルがのときに、ピクセルベクトルの第番目の要素が1になる確率である。が、各ピクセルが1であったり0で会ったりする同時確率になっていることを示しているのである。すなわち、が1であるときはそのものになり、0であるときはのべき乗が0で、値が1になってしまうかわりにの冪乗が1になるという算段である。

これを用いて、(1)式の左辺の確率が最大のラベルを求めれた、それがピクセルデータから推計された数字ラベルとなる。

ただ、(2)式が784回もかけるかたちになっていて、途方も無い計算と思われるかもしれない。

計算について、もし、このような784回も積を取る形が望ましく無い場合は、自然対数をとって和のかたちにすることもあり得る。すなわち、われわれの目的は、(1)式において、を最大にするを求めることであり、各ラベルで共通する(1)式の分母は本質的役割を果たさない。そこで、(1)式の両辺を自然対数で変換変換して、(1)の右辺の分母だけを比較しても、最もあり得る数字ラベルを求めることは、理論的には全く問題ない。

ただ、実際の計算をすると、どちらも全く同じ答えを出し、自然対数を取る時間が余計にかかるだけであり、実際の計算では元々のかたちを用いている。

元々のかたちでの計算では、教育用データから事前確率を計算し、全てのテストデータを処理するのにMacPro上のUbuntu18.04 g++で8秒弱で計算を終えるのに対して、対数計算を加えると11秒かかった。計算結果は同じである。

なお、学習データは、基本60000個用いたが、1000個くらいから増やしていって、30000個くらいまでは、テストの正解率が上昇し、正解率は84.1%に達し、その後全く増加しなくなる。計算の確実性は高まっているようだが、パフォーマンスは良くならない。

Jetson xavierをCUDAで動かして、さしあたって10倍早くなる

MNISTの手書き数字データをアソシアトロンで認識させ、評価したいと思っている。6万個の学習データがあるので、想起ベクトルを75264次元にしている。1文字のピクセル数は文字28ビット×28ビット=784で、文字データのラベルは、1バイトなので本当は、1ピクセル256次元使いたいのだが、そうすると、私のJetson xavierでは、メモリを食い尽くしてしまうので、1文字の1バイトデータを96bit(CUDAは32の倍数が好みだから)に縮小して、結局、784×96=75264で、結局上の次元になる。

だから、アソシアトロンの想起マトリクスは75264×75264=5664669696要素を持つことになって、巨大である。でもこれならば、なんとかGPUのグローバルメモリを取れて、データのコミュニケーションができる。ただし、1データをunsigned shortの2バイトで、マトリクスの右上三角と左下三角は対称的なので、片側の三角だけをデータで取るなどの操作をしなければならない。まともに作ると、グローバルメモリに乗らないのだ。

6万個のデータをすべて想起行列に載せることはまだやっていないが、約50個のデータを載せてみた。XavierのGPUを使わずCPU(8コア乗っている)だけで1スレッドだけ使って動かすと、5分かかる。timeコマンドを使って計算した結果は次のようなものである。

real 5m47.163s
user 5m46.680s
sys 0m0.456s

まともに6万個やると、100時間、つまり4日ほどまるまるコンピュータを動かさないといけない。

これをJetson XavierのGPU(512コア)で並列計算させると、50個30秒で終わる。timeコマンドの結果は次のようになっている。

real 0m30.672s
user 0m28.764s
sys 0m1.656s

10倍早い。それでも6万個やると10時間かかる。1個のデータの計算に用いている総スレッド数は、2次元で、75264×75264=5664669696個にもなるが、いろいろなオーバーヘッドから、10倍にしかなっていない。まだ、ナイーブなプログラム(普通のCPUのプログラムをそのままGPU用にかえただけのもの)なので、パフォーマンスが出ていないのだろうと思う。

ちなみに、6年ほど前に購入したNVIDIAのTelsa k20cで、試してみよう。こちらは2千数百個のコアを持っている。同じように実行した結果は次のようなものだった。

real 0m48.809s
user 0m43.691s
sys 0m4.450s

最新のXavierよりも、遅い。

プログラムは、調整しおえたらGitHUに上げると思う。

アソシアトロン でMISNT

MINSTの手書き数字のパターン認識をアソシアトロンでできないかと思っている。ディープラーニングに勝とうというわけではない。そもそも、アソシアトロン ではできない可能性が高いが、何事も挑戦である。

基本的なアイデアはこうだ。

まず、MNSITは28X28の画像データになっている。以前、ディープラーニングでやったことがある。MNIST手書き数字データで93%の識別率

1ピクセル1バイトのデータになっていたと思う。例えば、ゼロ以上の値を持つピクセルを1とし、それ以外を-1としてアソシアトロン に乗せると、パターンのベクトル次元は、784次元しかない。一方MNISTの学習データは60000個あるのだ。784次元にこれだけのパターンを学習させるのは、つまり前のアソシアトロン の原理で説明したM行列を作成するのは、ほとんど不可能だというか、意味がない。識別不能であることがやる前から明らかだ。

アソシアトロン は、パターンの情報を分散させることでその威力は生まれているわけだから、784次元はMNISTには少なすぎるのである。

そこでまず、もともと1ピクセル1バイトだから、その値をビット化して、例えばあるピクセルのデータが77だったら、'01001101'として、のちに0を-1に変換すれば、784x8=6272次元になる。さらに、1ニューロンは、0,1,-1のいずれかなので、2ビット必要になるので、6272x2=12544ニューロンを使うことになる。具体的なやり方は、1の時は、10、0の時は、00、-1の時は11にすればいい(一つ使わないものが出るがそれは問題ない)。

これで結構増えた。

でもまだ足りない。何しろデータは60000組あるのである。ここで、少しトリッキーな操作をすることが考えられる。現時点では、あくまでも、こうしたらいいかなという程度の思いつきである。

上で示したように、1ピクセルは、8x2=16ビット(16ニューロン)で表されるのだが、この各ニューロンにランダムなゆらぎを与えよう。今、この16ニューロンは、先の作りから2ビットずつペアになっているのだが、この1ビットめに2ビット使う。この1ビットめが1の時は、新たな2ビットについて、01か10で表すのである。どちらで表すかは、データごとにランダムにxれぞれ0.5の確率で割り振る。

こんな不確実なゆらぎを与えても結果は多分変わらないだろうと思う。そうすると、パターンベクトルは、さらに8倍の大きさになる。

すなわち12544x8=100352、つまり約10万次元となるのである。これだけ増えれば、6万組の学習データの記憶が可能になるのではないか。

というのが、私のアイデアである。

ただ、この場合、一つのパターン行列が100352x100352ビットになる。すなわち約1Gになってしまう。これではちょっとコンピュータが持たない。だから、これはちょっと多すぎる。いや、できなくはないか。

Hikey970にUbuntu (Lebuntu) をインストールする

ニューラルネットワーク処理ユニット(NPU)を持つシングルボードコンピュータを、スイッチサイエンス社から39,744円で購入した。アマゾンに出ている商品と同じものだが、ここが一番安かった。

ひたすら好奇心である。NPUというものは、どれほどのものだろうということである。ただし、UPUをのぞいでも、このコンピュータのスペックはとてもいい。

まだ、NPUをどうやって動かすのか、というか、プログラミングに組み込むのかということはわかっていないが、さしあたり、試しに、Ubuntu、LemakerのUbuntuという意味で、Lebuntuというらしい、を組み込んでみた。

最終的には上記のようにlebuntuがスタートする。最大の弱点は、日本語環境が出てこないことだ。

インストールの仕方をメモがわりに記載する。
(1)Linux を用意する。
(2)このサイトから、lebuntuのimgファイル類をダウンロードする。
(3)rarファイルを解凍する。(ubuntuの場合、unrarが必要だった)
(4)その中に、lebuntu-rfs_flashing_guide.txtというドキュメントがあるので、そこに書いてある通りのことを実行すれば、インストールできる。その通り実行しないと失敗する!!
以下注意点
(1)INSTALLING BINARIES(only new boards)とFLASHING Lebuntu 16.04 IMAGE ONLYの二回実行する。
(2)Hikey970のUSB-CとLinuxのUSB端子をつなぐ。
(3)MACのVirtualBoxに入れたLinuxでやったら失敗した。USBのつながりがダメなようだ。Linuxマシンを用意する。私の場合は、Intelのスティックコンピュータに入れたUbuntuにつないで実行した。

特にないか。要は、先のマニュアル通りのことができればOKなのだ。

ただ、Lebuntuでは、日本語が使えない(使い方があるのかもしれないがわからない)ので、今度、正式のUbuntu 18.04をインストールしようと思う。

NPUは、Hikey970 with pre-built Tensorflowというのがあるので、そちらのimgを焼くことで実現するのだと思う。

日本語wikipediaにおける助詞・助動詞の使用頻度

先のいくつかの記事で示しているように、ロボットが知識的文章を短く語る時に、削除した語を繋ぐ助詞をAI的に選択させようとしている。(体言1:名詞・動詞)+(助詞1:助詞・助動詞)+(体言2:名詞・動詞)+(助詞2:助詞・助動詞)の語の並びの中で、体言1、体言2、助詞2が与えられた時に適切な、助詞1を選択させたい。これができれば、うまく、文章を短くできるだろうということである。

そこで、この並びを、日本語wikipediaの前文から拾い出して、それを元に、ディープラーニング用の学習データを作ろうということである。

4語対は、6千万個取れて、語は、word2vecのウェイトベクトルであらわすのだが、そのベクトルを取れる語は、さらに半分以下になってしまう。また、助詞、助動詞部分のパーターンがとてつもなく大きくなってしまう。「の」とか「を」などはたくさんあるが、全体で1回しか現れないようなものも拾ってしまう。これは、広い方のアルゴリズムにも依存するのだが。

そこで、いったいどのような助詞、助動詞が、どのような頻度で現れているのかを調べてみた。

まず、助詞2(ニューラルネットの入力になる)は次のようになっている。

の 	4848543
を 	3418017
に 	3153274
が 	2271523
は 	1676994
と 	1359190
で 	1134953
た 	833487
な 	515517
から 	481586
や 	449712
も 	403445
て 	391692
である 	384000
として 	321609
ている 	278220
には 	264654
では 	242007
ていた 	141653
によって 	117531
であり 	109701
により 	109549
であった 	107166
による 	101919
へ 	97715
でも 	97698
との 	95020
という 	95008
まで 	94623
への 	88007
にも 	87645
ない 	80116
での 	77605
たが 	71719
だった 	71462
など 	69269
ており 	69104
だ 	68336
ず 	64151
などの 	62250
より 	56385
とは 	53537
において 	50758
たと 	47488
からの 	46761
における 	45079
について 	38801
ば 	34365
たり 	33421
に対して 	32896
なかった 	32558
はと 	31786
としては 	31599
か 	31034
に対する 	30519
であると 	30483
としての 	30440
うと 	30412
とも 	29750
とともに 	29742
ていたが 	29645
だが 	29500
などを 	28746
までの 	28607
ながら 	27353
と共に 	26439
へと 	25588
に関する 	25518
だと 	25209
よりも 	24233
であるが 	24219
などが 	23941
ではなく 	23687
については 	23225
であったが 	21177
ているが 	20375
にて 	20046
てきた 	19284
でいる 	19168
からは 	19166
ても 	18992
ていない 	18033
などで 	17049
に対し 	16993
といった 	16725
だったが 	16552
をと 	16238
ていく 	15419
などに 	15401
ていると 	15107
てしまう 	14659
までに 	14412
にと 	14395
においては 	13755
でいた 	13566
ずに 	12898
のみ 	12697
なく 	12433
たものの 	12417
にかけて 	12292

明らかに、代表的助詞型を圧倒している。だから、全部を対象にすることはない。だいたい、上位128個くらいの使い方がわかればそれでいいのではないかと思う。入力に関しては次のようになっている。

の 	6087401
は 	2794515
に 	2311801
を 	1850357
が 	1667993
で 	1144968
と 	1039936
た 	1026311
な 	563759
や 	531865
から 	515033
て 	502233
には 	461876
では 	405320
も 	340662
である 	297177
として 	239221
ている 	200314
という 	145218
であり 	141251
ていた 	140480
との 	135622
により 	135543
による 	124273
への 	116794
での 	114556
たが 	110351
によって 	100663
まで 	99795
などの 	99002
ており 	98666
など 	95691
でも 	91841
ず 	91712
とは 	87425
であった 	78465
ない 	76015
にも 	73529
より 	69404
だ 	67224
において 	65830
からの 	63813
における 	59617
だった 	59331
ば 	53503
へ 	50134
としての 	44902
に対する 	40913
に対して 	40079
だが 	39554
としては 	38818
に関する 	37624
について 	37003
ていたが 	36863
までの 	35317
とともに 	33629
からは 	33043
ながら 	32942
たり 	31465
であるが 	31366
については 	30835
と共に 	30434
か 	28826
はと 	28675
ではなく 	27939
なかった 	27507
といった 	26896
などを 	25960
に対し 	25781
であったが 	25642
よりも 	24764
においては 	24509
ているが 	24095
ても 	22715
にかけて 	22410
にて 	22061
とも 	20988
だったが 	20078
てきた 	18660
までは 	15710
はの 	15630
などで 	15530
たものの 	15429
などが 	15169
うと 	14569
へと 	14314
までに 	14160
にとって 	13547
ていない 	13388
たという 	13324
でいる 	12949
ずに 	12844
についての 	12823
のの 	12695
でいた 	12154
ので 	12077
ほど 	11709
のみ 	11541
であると 	11315
だと 	11167
はという 	11122
がと 	11042
をと 	11024
ていく 	10883
てしまう 	10794
などに 	10719
においても 	10605
にと 	10454
を通じて 	10373
たと 	9804
だけでなく 	9448
ての 	9116
しか 	9065
にの 	9027
によっては 	8952
かの 	8682
であるという 	8620
に関しては 	8216
てしまった 	8172
ほどの 	8126
ていて 	8058
はなく 	8000
からも 	7909
ては 	7779
てくる 	7631
てから 	7518
にという 	7329
つつ 	7309

上位グループの順序は微妙に変わっている。助詞の位置が影響しているのだ。が、上位グループのメンバーはあまり変わらない。

助詞推定AIの改訂(2)

学習データ作成時に、日本語wikipediaからのデータの体現部分はword2vecでウェイト化する。それを、これまで、mariadbに載せたウェイトにアクセスする形にしていたが、そうすると、アクセスのための時間がかかって、マルチスレッドでやっている意味がないほどに、時間がかかった。何しろ、6000万を超える4対語である。プログラムを45スレッド、CPUは24スレッドで処理したのだが、数スレッドしか実際に稼働しなかった。

そこで、元々のword2vecのバイナリファイルから、ウェイトを冒頭に全て読み込んで、データベースへのアクセスを不要にしたら、一挙に処理速度があがった。数十倍早くなったと思う。当初は、十数時間かかりそうだったのに。

ディープラーニングのプログラムを組み直す(2)

相当基本的なところから組み直した。ごちゃごちゃしたプログラムをだいぶ整理した。直しはバグのもとであり、結局、MNISTの手書き文字の認識まで戻ってテストせざるを得なくなった。

ディープラーニングのエンジンである、バックプロパゲーションのところだけは、流石にいじらなかった(笑)ここをいじり始めたら収拾がつかなくなる。

以前は、学習とテストを同じ関数でやっていたが、きちんと切り分けた。CUIからGUIにインターフェイスをレベルアップさせた。

かなり拡張性も出てきたと思う。MNISTの正解率も以前のものと同じものに戻った。オブジェクトというか、クラスをかなり整理したので見やすいプログラムになったと思う。

これで、最適助詞選択プロジェクトに入る。

ディープラーニングのプログラムを組み直す(1)

昨年作ったディープラーニングのデータを組み直している。

もともと、プログラムは複雑である。ネットワークは、レイヤーとニューロンという構造を持っているし、バックプロパゲーションを組み込まないといけないし、さらに、私の場合はオートエンコーダ(自己符号化器)というディープラーニングの手法を組み込んでいる。

前回作ったプログラムは、
https://github.com/toyowa/jautoencoder
においてある。

プログラムの構造が、ネットワークの構造にうまく対応していない。オブジェクト指向が徹底されていないと行ってもいい。

問題はわかっても、直すのは手間がかかる。1年前の自分の頭に戻すのが大変なのだ。

MNISTの識字率、96%になったが

ディープラーニングの自己符号化手法で、入力層はピクセル数の784、隠れ層を順に、600、400,300、出力層は数字の0から9に対応させて10ユニットというネットワークの学習とテストをしたら識字率は、96%になった。これまでのをまとめると

モデル 隠れ層 確信度(正解ユニットの出力が0.8以上のデータ数) 正解率(%) 学習法
A 400 8435 93.1 通常
B 300-150 8557 94.13 自己符号化
C 600-300-150 7848 89.37 自己符号化
D 600-300-150-50 7893 90.06 自己符号化
E 600-400-300 8953 96.04 自己符号化

この確信度について説明しておこう。認識した数字は、最終層の10ニューロンのどれが発火しているかで判断するが、成果率は、単に一番出力値の大きなニューロンを選んでいる。例えば、他の九個のニューロンが0.1以下の値で、8番目のニューロンが0.15でも、これは8と認識したとしてそれが正解ならば正解としているのである。
そうではなくて、その出力ニューロンの発火を0.8以上の値を出していない限り発火と認めないとした場合の正解数を確信度としている。
すると、この確信度でもモデルEのパフォーマンスが最も高い。つまり正解率でも96%と最も高いが、0.8以上の発火に限定しても、ほぼ90%の正解率になる。
ただ、一月になるのは、このモデルE以外の自己符号化は、各層の自己符号化の学習で、36万回の学習をやらせて、やや過学習になったのかもしれないと思っている。モデルEは、データ数の60000回で、各層の事前学習もやめている。
その辺りのこともこれから確認したい。
正解ニューロンの発火出力ごとのヒストグラムは以下のようになっている。発火値が0.95以上のものをあげているが、ほとんどの正解が高い発火度で実現しているのは確認できるだろう。