みなさま、こんばんわ🌜
まだまだ残暑が続いていますね😅
1 | Python 3年生 ディープラーニング 4日目 |
---|
本日は『Python 3年生 ディープラーニング』という本の4日目の学習でした。
機械に何かを学習させるためにはたくさんのデータが必要ですが、たくさんのデータを集めるのは大変です😅
そんなときに便利なデータを「水増しする方法」について学んでいきます。
どうやってデータを水増しするかというと、画像認識の場合は画像を少し傾けたり、左右反転させたりして同じ画像から「少し違う画像」をいっぱい作って機械に学習させ、学習の精度を上げていきます。
2 | データの準備と確認 |
---|
CIFAR-10 の画像データから、「犬」と「猫」の画像だけを取り出して、画像データを減らします。
まず、利用する外部ライブラリをインポートし、CIFAR-10 の画像を取り込みました。
犬だけ、猫だけのデータになっていることを確認しました。
本当に犬と猫だけのデータになっています。
猫データに犬データを追加して、学習データとテストデータに分けました。
データをシャッフルして、犬と猫が不規則にならんだデータを作りました。
3 | モデルを作って学習 |
---|
次に、Keras の学習モデルを作りました。
データを犬と猫だけに限定して画像データを減らしたので、学習回数を30回に増やして機械に学習させると、正解率が 77.00% になりました。
学習結果をグラフで確認すると、テストデータで過学習が起こっていました。
学習がうまくいかないのは、画像データを減らしたからですね😅
4 | 学習データを水増し |
---|
犬と猫の画像を、ランダムに少し回転させたり、少し移動させたり、左右反転させたりして、画像を多少変化させて学習データを水増ししました。
モデルに学習の追加をさせて、水増し画像で学習させると、正解率は 80.50% になりました。
画像データを水増しする前と比べて、正解率が 3.5% 上昇しています。
学習の状況をグラフ化して確認してみると、正解率が上がっているのがわかりました😃
テストデータで過学習も起こらず、スムーズに学習が進んでいるのがわかりますね。
学習済のモデルにテストデータを渡して答えを予測させると、ほとんどの画像を正しく認識していました。
学習データの水増しは便利ですね😊️
今日はここまで❗
最後までお読みいただき、ありがとうございました😄
また来てね~😄👋