2019-04-15SHAREツイートシェアはてブLINEPocketこんにちは、ともろう(@tomorrowSLog)です。Colabを使って機械学習の勉強を始めました。機械学習の仕組みとか、コードによる実装とか色々学んでるんですが、とりあえず実際に何かコードを動かしてみたい!そこで機械学習のチュートリアルでよく用いられるデータセットを使って簡単なコードを動かしてみました。機械学習の細かい説明などはせず自分の備忘録かつ、とりあえず動くものが作りたい人向けに書いていきます。colabというgoogleが提供するクラウドサービスを利用します。プログラミングをする環境がないという人でも、インターネットにつながるパソコンさえあれば、今回のコードを動かすことができます。この記事では機械学習の詳しい説明はしてませんので、ご注意ください。ともろうプログラミングなんてやったことがないっていう人も、ぜひ手を動かしながらやってみてください。colabの説明はこの記事からどうぞ。参考文献こちらの動画を参考にさせていただきました。画像の可視化の細かい設定はこちらの書籍から参考にしました。{}".format(np.argmax(predictions[i])))plt.show()出力結果こんな感じの出力結果となり、97%の学習制度を出すことができました。表示させた文字と予想を照らし合わせても見事的中しているのがわかりますね。予測と画像を出力こんな感じの流れになっています。nptensorflow、matplotlib.pyplot、numpyを使っていきます。mnistの中には28×28ピクセルの手書きデータ(0~9)と答えのラベル(0~9)が入っています。x_trainの最初のデータを見てみると、1枚目のように0~255までの数字が与えられた塊がはいっています。これを表示させると2枚目のような柄になり、「5」という手書き文字のデータじゃないかなということがわかりますね。実際に答えのラベル(y_trainの最初のデータ)をみると、「5」というデータが格納されています。y_test)には10,000個入っています。1)正規化とは簡単にいうと、データを扱いやすく変形しています。その結果精度を見込むことができます。実際にこの過程を飛ばして学習させてみると学習制度は60%ほどとなり、文字と予想を照らし合わせてみても以下のようになります。先の出力結果で出した正規化ありの結果よりも結果が悪いのがみて取れます。["accuracy"])2つの隠れ層をもつモデルを作成しました。細かい説明は省略しますが、ここではどんな風に数字を操作するかや、どんな風に結果を評価していくかを設定しています。詳細を知りたい場合以下サイトが役に立ちます。epochs=3)4で作成したモデルに学習用データで学習させていきます。vall_acc)学習が終わったモデルがどれくらいのパフォーマンスを出すのかをみてみます。0.9718こんな感じでしたね。後ろのvall_accの方を見てみると0.9718となっていて97%の制度を出していることが確認できます。{}".format(np.argmax(predictions[i])))plt.show()今回作ったモデルが出した予想と、実際のデータを照らし合わせて可視化してみました。まとめ今回は細かい説明などはせず、とりあえず機械学習で動くものを作ってみたいという人を対象に(自分の備忘録も含め)この記事を書いてみました。colabで機械学習ができるということがわかっていただけたら嬉しいです。これを皮切りに自分で少しずつ数字をいじってみたり、細かいところまで機械学習の勉強へと進んでいく仲間が増えることを願ってます。コメントをキャンセルメールアドレスが公開されることはありません。