Rodhos Soft

備忘録を兼ねた技術的なメモです。Rofhos SoftではiOSアプリ開発を中心としてAndroid, Webサービス等の開発を承っております。まずはご相談下さい。

TensorFlowやってみた MIST For ML Beginners

このブログは以下を参考にしている。
http://www.tensorflow.org/tutorials/mnist/beginners/index.html#mnist-for-ml-beginners

MNISTとは

画像認識のテストに使う手書き文字のセットで機械学習におけるHellow, World的な立ち位置のもの。
このデータはYann Lecunのサイト(MNIST handwritten digit database, Yann LeCun, Corinna Cortes and Chris Burges
)にある。スクリプトがある。tensorflow/g3doc/tutorials/mnist/input_data.py - tensorflow - Git at Google

ダウンロードしたスクリプトは以下のようにしてコードに読み込める。

import input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)


データは

training用データ mnist.train (60000個のデータ)と
test用データ mnist.test(10000個のデータ)からなる。

trainingデータで学習し、testで学習結果をテストする。

データはイメージとそれに対応するラベルからなる。
イメージには手描きで書いた数字が書いてあり、ラベルは対応する数字になっている。
イメージは28pxかける28pxであり、かけて784個の数字で記録されている。
よって784次元ベクトルとみなせ、それがmnist.train.imagesには60000個あるので
あわせると[60000,784]のテンソルとみなせる。

ラベルは0-9までの数字で、これを10次元のone-hot vector(1成分だけ1で他は0なベクトル)で表記すれば、
mnist.train.labelsには[60000, 10]のテンソルとみなせる。