物知らずPGの覚え書き

「理解したこと」や「こうやって使えた」などのプログラムの覚え書きとなります

TensorFlowのチュートリアル -MNIST For ML Beginners

MNISTとは

 

まず、はじめに今回しようするMNISTについて簡単に説明するMNISTとは手書き数字(0~9)の画像データセットの名称である。

 

今回使用するMNISTデータセットの中身は

  ・train          :  55000枚

  ・validation  :  5000枚 

  ・test           :  10000枚

の計70000枚で構成されており、手書き数字画像と正解用ラベルのセットとなる。

 

trainは学習で、validationはハイパーパラメータの学習で、testは作成したモデルの精度を確認する際に使用し、今回のコードでは検証用データは用いていない。

 

画像情報                    

 

画像一枚は28*28のグレー画像(=1チャンネル)となる      

 

      f:id:YoiTaka:20161226160922p:plain 

 

作成モデル

 

今回作成したモデルは以下になる     

         

       f:id:YoiTaka:20161226160700p:plain

 

層の深さは、入力層と出力層の2層のみのシンプルなモデルである。

入力層のニューロン数はMNISTの画像を一次元の配列に変換した際に縦×横×チャンネル数(28*28*1)の784となり、出力は0~9の計10個となる

この一次元の配列に変換する方法は隣接するピクセル情報の関係や形状を無視しているが今回はこの方法を用いる。

次回にCNNを用いた方法で推定を行いたいと思う。

 

 

コードの全文は以下になる 

 

TensorFlowチュートリアル -MNIST For ML Beginners

 

精度は約92%となった

 

おわりに

 

今回わかったことは、

 ・入力xや正解ラベルy_などはplaceholder

 ・重みWやバイアスbはVariable

を用いるということ。

 

そして、このコードを実装すればGPUを用いての計算もしてくれるので、簡単に機械学習を試せるライブラリであることがわかったので今後もTensorFlowを使って色々ためしていきたい

 

参考にさせていただいたサイト

 

  1. TensorFlow MNIST For ML Beginners チュートリアルの実施 - Qiita

  2. TensorFlow : ML 初心者向けの MNIST (コード解説) – TensorFlow 

/* パンくずリスト*/ /* カテゴリ階層化*/