目次

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