プログラミング初心者が機械学習を1ヶ月勉強し続ける #day13
今日の目標
昨日に引き続き、「ゼロから作るDeepLearning」を最後まで終わらせようと思います。
それが終わり次第、「pythonではじめる機械学習」に移行します。
13日目でやった事
ゼロから作るDeepLearning
かかった時間:6時間
難易度:★★★★☆
第7章:畳み込みニューラルネットワーク
画像認識に用いられているCNNについての章です。結構内容が難しくて、何回も読み直したりしたのでこの章に5時間くらいかかりました。。とても複雑ですが、コードがまさにパーツを当てはめていく感じで使いこなせたらかなり楽しいだろうなと思います。最後に実際に学習させたところ1時間くらいかかりました、さすがニューラルネットワーク、時間かかりますね。。
第8章:ディープラーニング
この章は実装ではなく、認識精度をさらに高めていくためにはディープラーニングという技術が有用であり、どのようなネットワークがこれまで構築されてきたかといったような話でした。またディープラーニングが現実ではどのような事例に応用されているのかが解説されています。
ゼロからつくるディープラーニングの感想
pythonの知識面が不安だったのですが、python入門ノートをやったレベルで十分対応可能でした。pythonの文法で忘れてしまった部分はググったり入門ノート読み返すというのを繰り返して実際に書きながら学んでいくのが良さそうです。
内容としては全くの初学者からでもおおよそ理解できるだろうな、というレベルで易しく書かれています。機械学習を学びたてのタイミングでも、ディープラーニングって結局何なん?というのがこの1冊でわかるのではないでしょうか。
最終的にはニューラルネットワークを自分で実装できるようになってしまうので、かなりよく出来ている本だなと感じました。
自分はcouseraで一度機械学習について学んだあとで読んだので、重複している部分が多々ありましたが、違う角度からの説明であり、より理解は深まったかと思います。とてもオススメできる一冊でした。
Pythonではじめる機械学習
かかった時間:6.5時間
難易度:★★★☆☆
第1章:はじめに
NumPyやpandasなどの導入などです。pythonを一度も触ったことのない人にとっては難易度が高く感じてしまうと思います。
第2章:教師あり学習
かなりヘビーでしたがとても勉強になりました。
特にcouseraで理論がわかっていると、それをpythonのscikit-learnを使うとどのように実装できるのか、実践的な部分が学べてとても勉強になります。
理論に関してはスペースが割かれていないので
・理論→cousera
とお互いに補完するポジションとして勉強すると効率よく勉強できると思います。
また、couseraでは扱っていない決定木、ランダムフォレスト、勾配ブースティング回帰木について勉強できたのが良かったです。
注意点としては、やたらmglearnというライブラリを用いたコードが出てきて、最初はそれも写経していたのですが、たまに動かないこともあったりしたのでやめました。基本的には視覚的に解説するときにグラフの作成で用いられることが多いので、mglearnの部分は無視してしまっていいと思います。
逆にscikit-learnには様々なデータセットが用意されているので(2章の最初で紹介される)、実際にそれぞれのアルゴリズムをそれらのデータセットに入れてみて試しながら進めるのが良いと思います。
また、適宜scikit-learnのページを見ながら進めると参考になることも多いと思います。
https://scikit-learn.org/stable/index.html