TensorFlowのチュートリアル -MNIST For ML Beginners
まず、はじめに今回しようするMNISTについて簡単に説明するMNISTとは手書き数字(0~9)の画像データセットの名称である。
今回使用するMNISTデータセットの中身は
・train : 55000枚
・validation : 5000枚
・test : 10000枚
の計70000枚で構成されており、手書き数字画像と正解用ラベルのセットとなる。
trainは学習で、validationはハイパーパラメータの学習で、testは作成したモデルの精度を確認する際に使用し、今回のコードでは検証用データは用いていない。
画像一枚は28*28のグレー画像(=1チャンネル)となる
今回作成したモデルは以下になる
層の深さは、入力層と出力層の2層のみのシンプルなモデルである。
入力層のニューロン数はMNISTの画像を一次元の配列に変換した際に縦×横×チャンネル数(28*28*1)の784となり、出力は0~9の計10個となる
この一次元の配列に変換する方法は隣接するピクセル情報の関係や形状を無視しているが今回はこの方法を用いる。
次回にCNNを用いた方法で推定を行いたいと思う。
コードの全文は以下になる
TensorFlowチュートリアル -MNIST For ML Beginners
精度は約92%となった
今回わかったことは、
・入力xや正解ラベルy_などはplaceholder
・重みWやバイアスbはVariable
を用いるということ。
そして、このコードを実装すればGPUを用いての計算もしてくれるので、簡単に機械学習を試せるライブラリであることがわかったので今後もTensorFlowを使って色々ためしていきたい