どらちゃんのポッケ

R・統計・技術メモなど勉強ログ置き場

DeepLearning(chainer)でirisデータの分類をしてみる

モチベーション

最近、ようやく、DeepLearningとは何か・どうやって実装するのかがボンヤリとつかめてきた。 DeepLearningが注目を浴びたのが画像認識というせいか、caffeといい、chainerといい、最初のチュートリアルはMNISTのデータ分類。MNISTがHello,world的な扱いになっている。

けど、画像認識のサンプルコードは個人的に、数値とかをイメージしずらいし、行列も大きくなりがちなので、サンプルコードを見てもあまりイメージができない・・・。ということで、chainerを使って、irisデータで分類のサンプルコードを書いてみた。

R大好きな私としては、Hello,worldはやっぱりirisデータでしょということで。

コード

学習結果

  • ロス関数

f:id:sleeping_micchi:20150823231954p:plain

  • accuracy

f:id:sleeping_micchi:20150823231958p:plain

  • trainはうまくいっているっぽいけど、testが全然できてない・・・
  • 一応、予測したときに、正解っぽのは出しているが・・・

感想

  • chainerのサンプルコードは、ブートストラップサンプルのやり方とかも知れるし、写経するだけで価値があるなと
  • numpyで線形代数を学習するかのように、深層学習 (機械学習プロフェッショナルシリーズ) の本を片手に、chainerでDeepLearningを勉強するのが良さそう
    • DeepLearningは個人的感想だと、他の機械学習アルゴリズムに比べて、理論と実装のギャップが大きいと思うので、気軽に試したりできるのが嬉しい
  • 一通り、動くようにはなったけど、まだまだ理解できていない。勉強しないと・・・。
    • optimizerの使い方とか
    • どのタイミングでどの変数が更新されるのかとか
    • 回帰とか、2値分類のときのNNの作り方
    • たたみ込みNNの実装とか
    • 活性関数、どこになにをするのかの設計とか
    • 学習が成功したがどうかの判断の基準

DeepLearningむずいってば。。