AIプログラミング

機械学習-MNIST(プログラム)

更新日:

ソースコード

MNIST For ML Beginnerでのソースコードです。

MNISTの概要を知りたい場合は以下の記事を参照してください

 

 

ソースコードの詳細

準備作業

TensorflowのサンプルからMNISTのデータをインポートしMNIST_dataディレクトリ配下に格納しています。one_hot=Trueを指定しており、既に存在する場合は何もしません。
Tensorflowをインポートし、別名としてtfと定義しています。
入力データ、重み、バイアス用の配列を取得しています。
x:入力データ (1文字を表す画像データ 高さ(28)×幅(28)の784byte分)
w::重み (1文字を表す画像データ 高さ(28)×幅(28)の784byte分)。初期値を0に設定しています。
b:バイアス(0~9までに相当する10byte分)。初期値を0に設定しています。
正解値の確率(y)の計算方法を定義しています。
計算方法は入力データ(x)に重み(w)を掛け合わせ、バイアス(b)を足したものをソフトマックス関数(softmax)に入力した結果としています。

softmax-regression-vectorequation

正解データのラベル用の配列を取得しています。
y_:正解データ(0~9までに相当する10byte分)。初期値を0に設定しています。

勾配硬化法を用い交差エントロピーが最小となるようを最適化する定義をしています。

用意した変数Veriableの初期化を実行します。

教師あり学習

Sessionを開始しています。
1000回の訓練(train_step)の実行
next_batch(100)で100つのランダムな訓練セット(画像と対応するラベル)を選択しています。

評価の実行

# 計算された画像がどの数字であるかの予測yと正解ラベルy_を比較する定義を行っています。
# 正解であればTrueが返却されます。
# 精度の計算の定義をしています。
評価の実行をします。その結果の正解率の表示をします。約92%の正答率ということが分かります。

-AIプログラミング
-

Copyright© AI人工知能テクノロジー , 2019 All Rights Reserved.