hirolog

20代医大生のブログ。日々の情報収集のアウトプット。

プログラミング初心者が機械学習を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

pythonでの実装→pythonではじめる機械学習

とお互いに補完するポジションとして勉強すると効率よく勉強できると思います。

また、couseraでは扱っていない決定木、ランダムフォレスト、勾配ブースティング回帰木について勉強できたのが良かったです。

注意点としては、やたらmglearnというライブラリを用いたコードが出てきて、最初はそれも写経していたのですが、たまに動かないこともあったりしたのでやめました。基本的には視覚的に解説するときにグラフの作成で用いられることが多いので、mglearnの部分は無視してしまっていいと思います。

逆にscikit-learnには様々なデータセットが用意されているので(2章の最初で紹介される)、実際にそれぞれのアルゴリズムをそれらのデータセットに入れてみて試しながら進めるのが良いと思います。

また、適宜scikit-learnのページを見ながら進めると参考になることも多いと思います。

https://scikit-learn.org/stable/index.html

明日に向けて

引き続き、「pythonではじめる機械学習」を進めていきます〜。