機械学習初心者が1年間イロイロ勉強した遍歴[2018年度版]

# はじめに
タイトル通り、機械学習初心者が1年間緩く勉強してきた遍歴をまとめました。この勉強をやった結果を先に言っちゃうと、「初心者から脱することはできず！」です。ので、反面教師として見て頂けるといいのではないかと。

※ここでの紹介は勉強した順です

### 勉強開始時の当方のスペック
・理系の大学を10年前に卒業（勉強は何もやらなかったに等しい）
・SIerに就職するも、設計工程とベンダー管理がメインでプログラムを仕事で書いたことはない
・その後ITコンサルの道に進み、さらにITから離れパワポ職人と化す（本物の職人には成れていない）



# ①[書籍]ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
<img width="186" alt="キャプチャ.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/267688/e6eca58c-6cc8-73ea-92b2-5d5c27f6db86.png">
<a herf="https://www.amazon.co.jp/%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E4%BD%9C%E3%82%8BDeep-Learning-%E2%80%95Python%E3%81%A7%E5%AD%A6%E3%81%B6%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E3%81%AE%E7%90%86%E8%AB%96%E3%81%A8%E5%AE%9F%E8%A3%85-%E6%96%8E%E8%97%A4-%E5%BA%B7%E6%AF%85/dp/4873117585/ref=sr_1_1?ie=UTF8&qid=1546173990&sr=8-1&keywords=%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%AEdeep+learning">ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装</a>

この本を読んだのは今からちょうど1年前。いわゆる機械学習とDeepLearningとAIの差もよくわからなかった頃、<b>なんかDeepLearningが熱いらしいぞ</b>、とWebの記事を読んで手に取ることに。

他の人のレビューにもある通り、DeepLearningのライブラリを一切使わず、pythonを使って手組みしていきながら理解してく本。評判通り、上記スペックでも十分読める（理解できるとは言っていない）本。

これさえ読んどけば、上っ面レベルではDeepLearningを語れるようになるはずです。ただ、もっと数学的な理解もしておかんといかんなぁと思い次の本を手に取ります

# ②[書籍]やさしく学ぶ 機械学習を理解するための数学のきほん ~アヤノ&ミオと一緒に学ぶ 機械学習の理論と数学、実装まで~
<img width="184" alt="キャプチャ.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/267688/4e629a78-7a87-c3d9-b8d6-9e68523da8fd.png">
<a href="https://www.amazon.co.jp/%E3%82%84%E3%81%95%E3%81%97%E3%81%8F%E5%AD%A6%E3%81%B6-%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%82%92%E7%90%86%E8%A7%A3%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E6%95%B0%E5%AD%A6%E3%81%AE%E3%81%8D%E3%81%BB%E3%82%93-%E3%82%A2%E3%83%A4%E3%83%8E-%E3%83%9F%E3%82%AA%E3%81%A8%E4%B8%80%E7%B7%92%E3%81%AB%E5%AD%A6%E3%81%B6-%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%81%AE%E7%90%86%E8%AB%96%E3%81%A8%E6%95%B0%E5%AD%A6%E3%80%81%E5%AE%9F%E8%A3%85%E3%81%BE%E3%81%A7/dp/4839963525/ref=sr_1_1?ie=UTF8&qid=1546174284&sr=8-1&keywords=%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%82%92%E7%90%86%E8%A7%A3%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E6%95%B0%E5%AD%A6%E3%81%AE%E3%81%8D%E3%81%BB%E3%82%93">やさしく学ぶ 機械学習を理解するための数学のきほん ~アヤノ&ミオと一緒に学ぶ 機械学習の理論と数学、実装まで~</a>

内容は、高校3年生～大学1年生レベルの数学の復習と最尤推定法等の機械学習のアルゴリズムを数学的に解説してくれる本。このころのスペックの私には章を進むにつれて理解できなくなっていったが、なんとか最後まで読み切った感じです。

今思うと、先にpythonで機械学習のアルゴリズムを組んでそのあとにこの本を読むと理解度が深まったなぁと反省。

とはいえ、このころの私はなんか理解できた気がするしもうちょい難しい本を読むかと思い、次の本を手にすることになります。

# ③はじめてのパターン認識
<img width="188" alt="キャプチャ.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/267688/f1269873-3799-a9e8-9767-df669f985026.png">
<a herf="https://www.amazon.co.jp/%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%AE%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E8%AA%8D%E8%AD%98-%E5%B9%B3%E4%BA%95-%E6%9C%89%E4%B8%89/dp/4627849710/ref=sr_1_1?s=books&ie=UTF8&qid=1546175076&sr=1-1&keywords=%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%AE%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E8%AA%8D%E8%AD%98">はじめてのパターン認識</a>

これを理解できなきゃ機械学習エンジニアを名乗るんじゃない！と言われる基本中の基本の本(らしいです）。

機械学習のアルゴリズムを数学的にざざっと解説をしている良書らしいですが、当然このころの私には理解できるはずもなく。。。挫折しました。。。

今思えばここで勉強をやめてもよかったのですが、このころの私は仕事があまりにも暇で家に帰ってもやることがなかったので、次の教材に手を出すことになります。

# ④[udemy]Pythonで機械学習：scikit-learnで学ぶ識別入門
<img width="329" alt="キャプチャ.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/267688/ccffd2d2-7d9a-9ad3-8027-1a956b1e8668.png">
<a href="https://www.udemy.com/python-scikit-learn/">Pythonで機械学習：scikit-learnで学ぶ識別入門</a>
Udemyで開講している機械学習講座。タイトルにある通りsklearnをフル活用して機械学習ってなんやねん！を動画で解説してくれます。

これを最初にすればよかったと後悔するぐらい、機械学習の概観をとらえることができ、学習すること推論することはどういうことのなのかを懇切丁寧に解説してくれます。初心者向きです！

私が受けたときは1500円ぐらいで受けれたのでかなりお得でした！よくUdemyはセールをするので、その時に安くなっていれば即買いをお勧めします！


# ⑤[書籍]統計学入門 (基礎統計学Ⅰ) 
<img width="178" alt="キャプチャ.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/267688/8caf3b7d-8b83-a5bf-51e2-51e46ef21e70.png">
<a herf="https://www.amazon.co.jp/%E7%B5%B1%E8%A8%88%E5%AD%A6%E5%85%A5%E9%96%80-%E5%9F%BA%E7%A4%8E%E7%B5%B1%E8%A8%88%E5%AD%A6%E2%85%A0-%E6%9D%B1%E4%BA%AC%E5%A4%A7%E5%AD%A6%E6%95%99%E9%A4%8A%E5%AD%A6%E9%83%A8%E7%B5%B1%E8%A8%88%E5%AD%A6%E6%95%99%E5%AE%A4/dp/4130420658/ref=sr_1_1?ie=UTF8&qid=1546175889&sr=8-1&keywords=%E7%B5%B1%E8%A8%88%E5%AD%A6%E5%85%A5%E9%96%80">統計学入門 (基礎統計学Ⅰ) </a>

これも定番の本ですね。この本はたしかTJOさんのブログを読んで購入を決意。昔すこし統計を勉強していたこともあり、復習になるかなぁと思ったのですが。。。結果は惨敗。

他の人のレビューを見ても理解できると名著だが理解できない人にとっては難解な本でしかないとの感想をいくつも発見。。。

何も理解できていないんだなぁと思いすごく凹みました。。。もう勉強やめようかなぁとも思ったのですが、ここまでやったんだし基礎からやりなおすかぁと思い次の本を手に取ります

# ⑥言語処理のための機械学習入門 (自然言語処理シリーズ) 
<img width="187" alt="キャプチャ.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/267688/af464078-30f8-5a95-e150-3c9fcbc9cf6d.png">
<a herf="https://www.amazon.co.jp/%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E5%85%A5%E9%96%80-%E8%87%AA%E7%84%B6%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E9%AB%98%E6%9D%91-%E5%A4%A7%E4%B9%9F/dp/4339027510/ref=sr_1_1?ie=UTF8&qid=1546176405&sr=8-1&keywords=%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E5%85%A5%E9%96%80+%E8%87%AA%E7%84%B6%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA">言語処理のための機械学習入門 (自然言語処理シリーズ) </a>

この本と次に紹介する本は「はじパタ」を挫折した人たちは読むべし、とどこかのブログで紹介されていた本（どのブログだったかは忘れてしもた）

言語処理と書かれているけど、本の半分くらいを割いて数学の初歩的なところ（大学1年ぐらいかな？）を丁寧に解説しています。

後半は言語処理をどう学習・推論するかを数学的に解説しており、言語系の機械学習をしたいと思う人は絶対に読んだほうがいい本（と思う初心者）


# ⑦[書籍]これなら分かる最適化数学―基礎原理から計算手法まで
<img width="187" alt="キャプチャ.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/267688/63cfeb6e-d964-5362-6c9e-6271a5014bda.png">
<a href="https://www.amazon.co.jp/%E3%81%93%E3%82%8C%E3%81%AA%E3%82%89%E5%88%86%E3%81%8B%E3%82%8B%E6%9C%80%E9%81%A9%E5%8C%96%E6%95%B0%E5%AD%A6%E2%80%95%E5%9F%BA%E7%A4%8E%E5%8E%9F%E7%90%86%E3%81%8B%E3%82%89%E8%A8%88%E7%AE%97%E6%89%8B%E6%B3%95%E3%81%BE%E3%81%A7-%E9%87%91%E8%B0%B7-%E5%81%A5%E4%B8%80/dp/4320017862/ref=sr_1_1?ie=UTF8&qid=1546177170&sr=8-1&keywords=%E6%9C%80%E9%81%A9%E5%8C%96%E6%95%B0%E5%AD%A6">これなら分かる最適化数学―基礎原理から計算手法まで</a>
この本もはじパタを読むための数学知識を補完してくれる本としてブログで紹介された本。これも数学的な難易度は高校3年生ぐらいから大学1年生ぐらい。

本をなくしてしまった＆読んで時間がたってしまったので詳しい内容は語れませんが、はじパタを読めなかった自分でも読みこなすことができたので、はじパタを読めなかった人にはお勧めです！

# ⑧[coursera]Machine Learning
<img width="948" alt="キャプチャ.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/267688/aa8e611d-730d-3dd5-0a55-afa59d2190cf.png">
<a href="https://www.coursera.org/learn/machine-learning/home/welcome">Machine Learning</a>
スタンフォード大学の先生であり、courseraを立ち上げたAndrew Ng氏による動画講座。

数学ばっかりも飽きてきたのでそろそろ手を動かしたいなぁ思い、見つけた動画講座。全編英語ではあるが字幕はついており(ただし課題は英語)、機械学習を数学的に解説をしてくれてそのあと課題で実装してみましょう！というテンションの講座

頭ではわかっているつもりと実装できるには、ベルリンの壁のような壁があることをわからせてくれた本。おそらくこの感覚が論文を読んでも実装できないっていうやつなのかなぁと（論文を読んだことない奴がなにを言う）

ちなみに実装言語はOctaveというあまりなじみのない言語でしたが、文法はすごく簡単でネット上にも情報があふれているので、そんなに言語面では全く苦労しませんでした。

ちなみに、課題を実装した結果は以下GitHubにまとめていますので、詰まったら参考程度にみてくださいな。（ただし、全部解いてはいないので要注意！）
https://github.com/ejama12345/machine-learning_Ng



# ⑨[書籍]機械学習のエッセンス
<img width="186" alt="キャプチャ.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/267688/a84bbce4-0eab-5919-0198-f961821adfa0.png">
<a href="https://www.amazon.co.jp/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%81%AE%E3%82%A8%E3%83%83%E3%82%BB%E3%83%B3%E3%82%B9-%E5%AE%9F%E8%A3%85%E3%81%97%E3%81%AA%E3%81%8C%E3%82%89%E5%AD%A6%E3%81%B6Python-%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0-Machine-Learning/dp/4797393963/ref=sr_1_1?ie=UTF8&qid=1546177616&sr=8-1&keywords=%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%81%AE%E3%82%A8%E3%83%83%E3%82%BB%E3%83%B3%E3%82%B9">機械学習のエッセンス</a>

理論を学んで手組をする、自分はこのやり方じゃないと身につかないんだなぁと思いこの本を購入しました。まだ読んでる最中です。

内容は、「ゼロから作るDeep Learning」の機械学習版という立ち位置。ネット上には誤字脱字が多いなどという意見もありますが、個人的にはもし一年前に戻れるのなら一番最初にこの本から読んでいたことでしょう（一年前にはこの本はありませんが）


# 最後に
こうやって振り返ると、回り道がしすぎた感が溢れますなぁ。ぜひこれから勉強を始める人はこの記事を読んで最短経路で学んでいってほしいものです。

最後まで読んでいただきありがとうございました。よいお年を！