H2O.aiで手書き数字MNIST分類
このページは、
機械学習ソフトH2O.aiの続きであり、H2O.ai上で、手書き数字認識MNISTのサンプルを実行してみます。
開発環境
Windows 8.1 Pro 64-bit(Windows 7やMacでも可能だと思われます)
Java 1.8.0_151-b12
H2O.ai 3.14.0.7
手順
チュートリアルの写経を行います。
前回の終了時は、以下のような画面になっているので、画面右側の、view example Flowsをクリック。
以下のような画面になるので、DeepLearning_MNIST.flow をクリック。
Load Notebookをクリック。
画面左側に出てくるチュートリアル(英語)を実行してみます。
一番上の行の右側の「すべて実行」ボタンをクリックします(これだけです!)。
すると、以下のように学習が始まります。
何分か待ちます。待っている間に私は寝てしまったので、何分かかったかは不明です。
終了後の画面です。
https://s3.amazonaws.com/h2o-public-test-data/bigdata/laptop/mnist/test.csv.gz
というところから、MNISTのtestデータセットをダウンロードしたようです。
ダウンロードしたデータのC785を、Enumに変更したようです。元画像が28×28=784のグレースケール画像なので、最後の785にラベルがあり
それをEnumに変更したのだと予想します。Enumが何を示しているのかはなんとなくしか分かりません。おそらく、整数なのかなと予想します。
こちらも、
https://s3.amazonaws.com/h2o-public-test-data/bigdata/laptop/mnist/train.csv.gz
というところから、MNISTのtrainデータセットをダウンロードしたようです。
詳細不明ですが、testデータと同様、C785を、Enumに変更したようです。Separateの意味はよく分かりませんでした。
とりあえず、train.hex(trainのデータ?)のsummeryを表示したみたいです。60000行、785列となっています。28×28の0から255までのグレースケール画像の値と、そのラベルで785であり、画像とラベルのセットが60000個並んだ行列ということだと思います。
モデルの構築ということで、“Deep Learning”を選択した後、ごちゃごちゃいろいろやっているようです。おそらく、隠れ層は2層で、L1が128ノード、L2が64ノードなのだと思うのですが、間違っていたらすみません。モデルの可視化もしてくれると便利なのですが、そのような機能があるのかどうかはまだ調べて切れておりません。
こちらは結果の出力、保存のようです。
training_logloss, validation_loglossのグラフが表示されています。横軸がEpoch数、縦軸が損失関数の値となっています。
このグラフは、今回は、あまり意味がないような気がしますが、”Top-10 Hit Ratios for training and validation”だそうです。
上がtrainデータのConfusion Matrix、下がvalidationデータのConfusion Matrix。縦(行)に、正解のラベルが記載されており、今回の機械学習モデルで判定した結果が横に並んでいます。上のtrainデータでは、本当は“0”である993個の画像のうち、992個を“0”と判定し、1個を“4”と判定しているので、Errorは0.0010となっています。
とりあえず、MNISTサンプルコードの実行は以上となります。
保存しないと消えてしまうので、とりあえず、画面左上のSaveボタンを押して、保存しておきます。後で、どうやって呼び出すのかはまだ私には分かりません。
実際に、自分でいろいろ操作するときには、下図の、“Assist me”ボタンをクリックして、いろいろやっていくようです。
参考文献
http://antena.tokyo/h2o%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E6%9C%AA%E6%9D%A5%E4%BA%88%E6%B8%AC%E3%80%80%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%83%BC%E3%81%AE%E8%AA%BF%E6%95%B4%E3%81%8C%E5%88%86%E3%81%8B
H2Oを使った未来予測 その準備と具体的使い方について
2016/02/12 2016/03/18
→H2o.aiに関する数少ない日本語解説サイト。
http://h2o-release.s3.amazonaws.com/h2o/rel-tukey/2/docs-website/h2o-docs/index.html
https://github.com/h2oai/h2o-3/blob/master/h2o-docs/src/product/tutorials/dl/dl.md
https://github.com/h2oai/h2o-3/blob/master/h2o-docs/src/product/flow/README.md
→こちらは、初めてH2O.aiを使用する人のための解説らしいです。
http://docs.h2o.ai/h2o/latest-stable/h2o-docs/booklets/DeepLearningBooklet.pdf
PDFファイルです。英語です。訳わからない数式がたくさん出てきます。私には理解不能です。
リンク
次:
(未定)
目次
前:
機械学習ソフトH2O.ai