このようになり、識別器としてうまく機能していることがチェックできました!
これを使えば手書き文字の識別ができそうですね!
これを使えば手書き文字の識別ができそうですね!
4. Juliaで手書き文字の読み込み
なお、注意しなければいけないのは、学習データは白色で文字を書いているということで、画素は0-1の大きさで変動し、黒色は0であるということです。学習データとデータの形を合わせる必要があります。これのチェックはサンプルデータを出力させるとみることができます。
上のコードでprintln(kk)のコメントアウトを外してみると、画像がどのように配列で表されているかをチェックすることができます。
今、手書き画像を読み出すと、
上のコードでprintln(kk)のコメントアウトを外してみると、画像がどのように配列で表されているかをチェックすることができます。
今、手書き画像を読み出すと、
という結果になります。これは値の幅が-127から127となっていて、白が-127として表されていることに注意です。
もともとのデータと同じにするため、このデータを以下のように変換します。
もともとのデータと同じにするため、このデータを以下のように変換します。
こうすると、データの形が同じになります!面倒臭いので自動的にデータの形式を揃えてくれるものがあればなあ。
4. 実行結果
それでは実行してみましょう。
このような結果が得られ、8番目である確率が最も高いですよ、という結果になっています。判別できていますね。
今回のサンプルプログラムを実行することで、ニューラルネットワークを大まかにどのようにプログラムすればよいのかわかったと思います。次回ではまた別のサンプルを実行してみようと思います。
今回のサンプルプログラムを実行することで、ニューラルネットワークを大まかにどのようにプログラムすればよいのかわかったと思います。次回ではまた別のサンプルを実行してみようと思います。