scikit-learn LinearSVCでの猫顔認識

  • 2018.01.16
  • AI
scikit-learn LinearSVCでの猫顔認識

1.scikit-learn LinearSVCでの猫顔認識のまとめ

・機械学習を使って猫顔の画像と猫でない画像の分類の精度向上に挑戦
・ダミー画像を猫と誤認識してしまう誤りが多い
・反転して学習用画像を増やしても正答率は向上しなかった

2.初回学習

学習用データ
猫顔画像データ8752枚とダミー画像1003枚

精度確認用データ
猫顔画像データ115枚とダミー画像96枚

正答率93.8%

誤認識は猫画像を猫ではないと認識したのが一枚、その他は全てダミー画像を猫と判断してしまった。

唯一、誤認識した猫様のお顔、輪郭データが捉えにくかったのだろうか?

その他の誤認識画像の例、何となく猫顔っぽいような気もする雲

2.二回目学習

 

定番テクニックと言われる学習用画像を反転させて、数を倍にした上で再学習、再テスト

正答率91.9%

悪くなってる!

猫画像を猫じゃないと誤認識するのは1枚で変わらず。猫でない画像を猫であると誤認識するのは減った画像もあったけど、ふえた画像がそれ以上に多い。

誤認識で増えた画像の例。

やっぱり、チューニングは中々時間がかかる。
面倒や手間に感じても可視化しないと改良案も見えてこないので可視化が非常に大事だと改めて思う。

ここまでのプログラムをgithubにあげておきました。
cat-face