機械学習入門チュートリアルscikit-learnで手書き数字学習と認識

はてなブックマーク - 機械学習入門チュートリアルscikit-learnで手書き数字学習と認識
LINEで送る
Pocket

前の記事はscikit-learnのワインのデータを確認したりして、scikitの基本を少し理解していただけましたでしょうか?

2019年の機械学習を始めるにはscikit-learnでしょう!

今回は、手書きの数字の画像データをそのものを特徴量として学習させて、どのぐらいの正確率で認識する機械学習を体験してもらいたいと思います。

このチュートリアルで期待できる学習結果

  • scikit-learnの手書き数字のデータセットを知ります。
  • 学習の方法を理解します。
  • 画像データの学習のイメージを持ちます。

まずデータに慣れましょう

今回のレシピの対象データは、手書き数字の画像データです。

つまり、8×8の画像です。全部で64ピクセルです。64の特徴量があるわけです。64次元のデータとも言います。

早速、その64ピクセルを見てみましょう。

(このチュートリアルもGoogle ColabかJupyter Notebookでコピペで実行できます。)

データを導入しますた。

データを表示してみましょう

こんな出力になります。

出力:

[0 1 2 … 8 9 8]

これは、数字のラベルですね。つまり、それぞれの画像が数字の1なのか、2なのかのラベルですね。教師ラベルのことですね。

試しに、三番目のデータを取り出してみましょう

これは、一つの数字の画像ですね。

データを画像として描画してみましょう

画像として使うときは matplotlib.pyplot.imreadを使います。

何に見えますか?なとなく「8」かな。少し分かりづらいですね。人間にとっても画像を見て「分類」タスクをする時に、難しい場面がありますね。

もう一つ別の数字を描画してみましょう。

今度は、interplotionを変えてみましょう。

こちらは数字の1ですね。

cmap(color map)で遊びましょう

ちょっと色をつけてみましょう。

いろんな色の表現がありますね。

複数データを描画してみましょう

このデータセットにはこういう手書きの数字で構成されていますね、はっきり確認できました。

このような数字データは全部で1797個があります。

各数字にそれぞれ約180個の画像データがあります。

次はこの1797個のデータを全部一気に三次元の空間に表示してみましょう。何が見えるかな。

手書き数字データセットを三次元の空間でみてみましょう

三次元データの描画方法については、第4章のmatplotlibのところを参照してください。

次は(0-9)数字データの色を指定する関数です。

64個の特徴量もありますので、ちょっと多いです。

ここで次元削減する必要が出てきます。

ここでは、scikit-learnで実装されているPCAを使って次元削減を行います。

作図して、描画します。

何となく、手書き数字のデータがそれぞれ、三次元の空間に固まっている事が視覚的に分かりますね。

それぞれのグラフ上の塊がそれぞれの手書きの数字です。

それの「三次元空間上」の特徴(学習済モデル)を把握すれば、新しい手書きの数字が来ても、その特徴(学習済モデル)を利用して、推論、判別ができます。

いよいよ学習させましょう

三次元の空間に、SVMアルゴリズムを使って、それぞれの数字の塊を分ける「超平面」を見つけることで学習させます。

分類機を導入してみましょう

教師データ: [0 1 2 … 8 9 8]

データの平均化

データを再構成

SVM作成

分類機を作成します。SVCは support vector classifier の略です。

学習データと検証データを分ける

この結果が出力されます:

最後予テストデータを表示します。

まとめ

いかがでしょうか?

この記事では、sciki-leanのデータセットを使って、手書きの数字の機械学習とその検証をやりましたね。

scikit-learnの実装された機能を作って、「分類(Classfication)」を簡単に実施できるという事を実感していただけたでしょうか。

はてなブックマーク - 機械学習入門チュートリアルscikit-learnで手書き数字学習と認識
LINEで送る
Pocket

Add a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close