【保存版・初心者向け】独学でAIエンジニアになりたい人向けのオススメのAI勉強方法 (2019年改定版)

# 追記

Pythonや機械学習がオンライン上で学べる[AI Academy](https://aiacademy.jp/texts/)を[note](https://note.mu/kazu_t/n/n5ec08705f31f)でも書きましたが、**3/17日からほとんどのコンテンツを永続的に無料で利用できる**よう致しましたので、是非この記事と合わせて使って頂けますと幸いです！

# AI Academy Bootcamp

[６ヶ月35,000円にてチャットで質問し放題の環境で、機械学習やデータ分析が学べるサービス](https://aiacademy.jp/bootcamp)を提供しております。
数十名在籍しているデータサイエンティストや機械学習エンジニアに質問し放題の環境でデータ分析、統計、機械学習、SQL等が学べます。AI人材に必要なスキルを効率よく体系的に身に付けたい方は是非ご検討ください！
![bootcamp_ad_72ppi.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/195675/f261ccc8-42db-a292-2511-6a742d1987f7.png)
https://aiacademy.jp/bootcamp


# はじめに

我々は、[AI Academy](https://aiacademy.jp/texts/)というサービスを通じて、これまで1500名以上の方々に、プログラミング(Python)、統計的機械学習、深層学習(Deep Learning)、機械学習のための数学、確率・統計などを教えてきました。
そんな中、サービスを通じて一人一人に最適な勉強方法を日々出会う初学者の方々に、私達なりの学習アドバイスを行なっていたのですが、1500名以上の初学者に教えていく中で、人工知能を勉強するにあたって、多くの『わからない』には、共通する点があることに気づきました。
この記事では、我々が解決してきた受講生の方々の共通の『わからない』を体系的にまとめることで、
これからAIエンジニアになりたいと考えている多くの初学者にとって、役に立てれるのではないかと思い記事にすることに致しました。
今回の記事を通して、1人でも多くの方に何か参考になることがありましたら幸いです。

※この記事は以前書いた[【保存版・初心者向け】独学でAIエンジニアになりたい人向けのオススメの勉強方法](https://qiita.com/tani_AI_Academy/items/4da02cb056646ba43b9d)の改定版記事になります。
前回の内容で紹介していない書籍や、前回紹介していた書籍を今回は紹介していなかったりもします。
学習ロードマップも更新しましたので、最後までお読み頂けますと幸いです。

# この記事の対象者

この記事の対象者は次のような方達に向けて書いております。

**・将来Pythonでデータ分析をしたいと考えているが、何から手をつけたら良いかわからないという方**

**・将来、人工知能に関連した業務に携わりたいと検討中の初学者の方**

**・未経験者からAIエンジニアになりたく、そのためにどのような知識が必要か知りたい方**

**・AIプログラミングスクールや専門学校に進学しようか考えているが、独学で勉強できる方法を知りたいという方**

# 対象ではない方

・既に業務でデータ分析している方

・機械学習やディープラーニングを使ったWebアプリなどを作りたいと考えている方

・ディープラーニングの資格試験の勉強方法

などなどは対象としておりません。


# AIエンジニアに最低限必要な知識

**AIエンジニアに最低限必要な知識を大きく6つに分けて見ました。**
ここでは、将来AIエンジニアとして業務を行うにあたり、大きく分けて__6つの内容の基礎知識__の全体像を把握してください。

__①プログラミングスキル__
- Python
- numpy、pandas、matplotlib、scikit-learn、TensorFlowやkeras

__②数学__
- 微分、線形代数、ベクトル、行列、確率など

__③統計の知識__
- 標準偏差、分散、確率分布、推定、検定などなど

__④機械学習の基礎知識__

- 教師あり学習と教師なし学習
- 前処理、特徴量設計、学習と評価
- 単回帰、重回帰分析、最小二乗法、パーセプトロン、ロジスティック回帰
- 決定木、ランダムフォレスト、サポートベクトルマシン、K-means、etc..
- ディープラーニングの実装スキル及び知識
- scikit-learn
- TensorFlowやKerasなどのフレームワークの知識
- scikit-learnで学習済みモデルを作るまでの流れなど。<br>
   1.データの収集とデータの前処理欠損値の補完や外れ値の削除)<br>
   2.特徴量の設計（特徴量の選択)<br>
   3.モデル開発(モデルの選択と学習）<br>
   4.モデル評価・・・交差検証、混合行列など<br>


__⑤SQLを使ってデータベースを操作する知識__
- select、insert、update、delete、where、like、limit、sum、avg、max、group by、having、order by、テーブル結合、ビュー、サブクエリ、caseなどなど

__⓺クラウドの知識__
- AWSやGCPやAzureなどのクラウドインフラ回りの知識

大きく6つもあり、意外と多いなと思われたかもしれませんが、一度に全てやるのではなく、まずは①と④の2つに絞ることをオススメします。
理由は、実際にプログラムを書き、目に見える形にすることで継続して学びやすくなるからです。
はじめに理論から入ると独学だと挫折してしまうので。
その後、③の統計や②の数学、⑤のSQL、⓺のクラウドを進めていきましょう。

1. ①プログラミングスキル
2. ④機械学習の基礎知識
3. ③の統計、②の数学
4. ⑤のSQL、⓺のクラウド


# 人工知能を独学で勉強するオススメの方法

必要な知識は前の節で紹介しましたが、どのようにそれらを学べば良いのでしょうか。
①から⑥を学ぶ上で、以下のような順で知識を身につけていくことをオススメしています。

フェーズ1 pythonプログラミングと人工知能概論を学ぶ
フェーズ2 機械学習プログラミング
フェーズ3 Kaggleに挑戦
フェーズ4 SQL、スクレイピング、クラウドなどの技術も身につける。
フェーズ5 機械学習を活用したプロダクト制作をする
フェーズ6 教える
フェーズ7 専門分野を確立する

このフェーズごとに学んでいくことがもっとも自分自身に負荷をかけず、楽しく学ぶことができると考えています。

フェーズ1ではプログラミング初学者の方を指しております。
もし、プログラミングを初めてという方は是非フェーズ1から目を通してください。

フェーズ2では実際にフェーズ1で学んだ内容をベースに、機械学習プログラミングに関する勉強方法を説明して参ります。
既にscikit-learnを使った機械学習プログラミングを行なっている方は飛ばして頂いても構いません。

フェーズ3ではKaggleなどを利用し、実際にコンペに参加し、実践的な機械学習プログラミングを学ぶ方法を記述しています。

フェーズ4　機械学習をやる上で、データベースからデータを取り出すことは頻繁に行われますので、SQLの知識は必須です。ここでは、SQLの他にスクレイピング（データ収集用）、クラウド関連の内容に関して記述しています。

フェーズ5 機械学習スキルを活用してプロダクト制作に取り掛かりましょう。このレベルまで到達した方は、プロダクト制作を通じて学ぶという内容に関して記述しています。

フェーズ6 人に教えることで自分の分かっていなかったことが明確になることがあります。ですので、友人などに機械学習を教えて自分の理解を深めるという内容に関して記述しています。

フェーズ7 人工知能の領域は幅広く、画像認識や自然言語処理、音声認識などがあります。ここでは専門分野を確立する方法に関して記述しています。


以降、7つのフェーズごとに、どのようにこれらに取り組めば良いのか、__オススメの書籍__などを紹介しながら説明していきます。

### フェーズ1 pythonプログラミングと人工知能概論を学ぶ

独学で、書籍を使って、
人工知能開発に最低限必要な知識は「機械学習の知識」と「Pythonの知識」と「機械学習のための数学と確率・統計学」です。

このフェーズでは、「機械学習の知識」と「Pythonの知識」に絞り、一旦「機械学習のための数学と確率・統計学」は違うフェーズに回しても大丈夫です。
数学や確率がわからなくても、機械学習用のライブラリを使えば機械学習を体験でき、理論だけの学びよりモチベーションが保ち安いからです。（人によっては理論からの方が継続できる方もいるかと思いますので断言はしません。）
その後、ライブラリに頼った実装をした後に、中で何が行われているのか気になってから、一度立ち戻って数学・統計学などを学ぶことをオススメします。

では、__オススメ書籍を紹介していきます。__

まず、プログラミング初心者または、Pythonの基本文法に自信がない方は下記書籍がオススメです。


・Python3 入門ノート
![p.jpg](https://qiita-image-store.s3.amazonaws.com/0/171715/6b05e2ee-d7c4-4516-96ef-a3e23584beac.jpeg)

http://amzn.asia/8ccnGQH

2894円

こちらの書籍はpythonの基礎にあたる基本文法だけでなく、機械学習プログラミングに関する基礎も学べます。
この書籍を一通り読み終えることで、pythonプログラミングの基礎力と、機械学習プログラミングの体験が出来ます。

また、pythonプログラミングを始める際には、__開発環境いらずのブラウザかつ無料で使える、CPU/GPUの機械学習環境が整った[Google Colaboratory](https://colab.research.google.com/notebooks/welcome.ipynb#recent=true)__を利用してPythonプログラミングをしていきましょう。

次に、人工知能の概要に関してさらっと学びたい方は下記の書籍をお勧めします。

・人工知能は人間を超えるか ディープラーニングの先にあるもの (角川EPUB選書) [単行本]

![ai.png](https://qiita-image-store.s3.amazonaws.com/0/171715/191649fe-bb3c-cc7a-96a8-0ffcb06bb875.png)

http://amzn.asia/iW1Ms5S

1512円


上記2冊はPythonの本を読み、出てくるプログラムを手を動かしながら進めてください。


さて、上記2冊で人工知能に関する知識及びPythonプログラミングの基礎が固まった方は、
機械学習の一連の流れと統計的機械学習のプログラミングを始めましょう。

### フェーズ2 機械学習プログラミング

・Pythonではじめる機械学習

![download.jpg](https://qiita-image-store.s3.amazonaws.com/0/171715/832c10ec-eb5c-a021-0c89-d859868df6f9.jpeg)


こちらも手を動かしながらコードを書き、またその後コードを読む(写経)をおこなってください。
ただ本を読むだけより、手を動かしながら進める方が理解が深まります。

http://amzn.asia/0GskuMa

3672円

もしくは

[PythonによるAIプログラミング入門 ―ディープラーニングを始める前に身につけておくべき15の基礎技術](https://www.amazon.co.jp/PythonによるAIプログラミング入門-―ディープラーニングを始める前に身につけておくべき15の基礎技術-Prateek-Joshi/dp/4873118727/)


![51OQ21JY1SL._SX350_BO1,204,203,200_.jpg](https://qiita-image-store.s3.amazonaws.com/0/195675/15352041-7faa-c7e8-9954-9dd0fede2f74.jpeg)

3672円

+α

![61qCGR2QqGL._SX390_BO1,204,203,200_.jpg](https://qiita-image-store.s3.amazonaws.com/0/171715/36da4189-41c6-9c7d-cdc4-f7f0410a02d5.jpeg)


http://amzn.asia/9EPUIpg
4320円

もしくは

[scikit-learnとTensorFlowによる実践機械学習 ](https://www.amazon.co.jp/scikit-learnとTensorFlowによる実践機械学習-Aurélien-Géron/dp/4873118344/)


![download-1.jpg](https://qiita-image-store.s3.amazonaws.com/0/195675/da3301c6-b734-eda1-bf34-9063713de3c1.jpeg)

4860円


・__数学__

[スバラシク実力がつくと評判の線形代数キャンパス・ゼミ―大学の数学がこんなに分かる!単位なんて楽に取れる! ](https://www.amazon.co.jp/%E3%82%B9%E3%83%90%E3%83%A9%E3%82%B7%E3%82%AF%E5%AE%9F%E5%8A%9B%E3%81%8C%E3%81%A4%E3%81%8F%E3%81%A8%E8%A9%95%E5%88%A4%E3%81%AE%E7%B7%9A%E5%BD%A2%E4%BB%A3%E6%95%B0%E3%82%AD%E3%83%A3%E3%83%B3%E3%83%91%E3%82%B9%E3%83%BB%E3%82%BC%E3%83%9F%E2%80%95%E5%A4%A7%E5%AD%A6%E3%81%AE%E6%95%B0%E5%AD%A6%E3%81%8C%E3%81%93%E3%82%93%E3%81%AA%E3%81%AB%E5%88%86%E3%81%8B%E3%82%8B-%E5%8D%98%E4%BD%8D%E3%81%AA%E3%82%93%E3%81%A6%E6%A5%BD%E3%81%AB%E5%8F%96%E3%82%8C%E3%82%8B-%E9%A6%AC%E5%A0%B4-%E6%95%AC%E4%B9%8B/dp/4866150874/)


![519VbvfQvDL._SX351_BO1,204,203,200_.jpg](https://qiita-image-store.s3.amazonaws.com/0/195675/78f9de7d-5a5a-2133-d6cb-c2cca933ea4c.jpeg)




[機械学習に必要な数学編](https://aiacademy.jp/texts/#mathematics)

もしくは、



[やさしく学ぶ 機械学習を理解するための数学のきほん](http://amzn.asia/b2XXln9)

![5149k70AUiL._SX348_BO1,204,203,200_.jpg](https://qiita-image-store.s3.amazonaws.com/0/171715/ac665ed7-e3ee-28db-ec10-ceb25dbc9088.jpeg)


2786円

機械学習の技術書を読み、数式アレルギーが出た方はキカガクさんの動画をオススメします。
手書きで講義で数学が学べ、何より説明がわかりやすいです。
数学がアレルギーの方は上記のほんと合わせて、2つの動画を利用することをオススメします。

[【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 - | Udemy](https://www.udemy.com/kikagaku_blackbox_1/learn/v4/overview)

[【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 中級編 - | Udemy](https://www.udemy.com/kikagaku_blackbox_2/learn/v4/overview)



・__数学+α__
機械学習のアルゴリズムを数学を学びながら、Pythonで実装したい方は下記書籍はオススメです。

[機械学習のエッセンス -実装しながら学ぶPython,数学,アルゴリズム- (Machine Learning) ](https://www.amazon.co.jp/機械学習のエッセンス-実装しながら学ぶPython-アルゴリズム-Machine-Learning/dp/4797393963/)

![download-1.jpg](https://qiita-image-store.s3.amazonaws.com/0/195675/8cf355d4-c27a-99ca-2707-292f4943c5ca.jpeg)



・__統計学__

[統計学入門 (基礎統計学Ⅰ)](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/)


![download.jpg](https://qiita-image-store.s3.amazonaws.com/0/195675/f0f7c438-a3da-1fac-16f8-ebc4affdae5b.jpeg)

3,024円

[確率・統計学編](https://aiacademy.jp/texts/#statistics)
・__データ前処理__
前処理大全[データ分析のためのSQL/R/Python実践テクニック]

![download.jpg](https://qiita-image-store.s3.amazonaws.com/0/171715/d1dbacab-1ae6-1b3b-6e20-d2def4526422.jpeg)

http://amzn.asia/aa5dHB0
3240円



次に、ライブラリを用いてDeep Learning（ディープラーニング）に関して勉強してみると良いでしょう。
（最近は、PyTorchも人気が出でおり、色々と試して使いやすいものを選ぶのが良いかと思います。）
初心者にオススメなのはKerasです。

・Keras
PythonとKerasによるディープラーニング

![51-0e4nTugL._SX387_BO1,204,203,200_.jpg](https://qiita-image-store.s3.amazonaws.com/0/171715/d002e41e-5545-eaed-9865-3ba47507cea9.jpeg)

http://amzn.asia/8Ya7Xu5

4190円


書籍以外にも、[Udemy](https://www.udemy.com)などがオススメです。
次の動画も合わせてご利用してみてください。

[Pythonで機械学習：scikit-learnで学ぶ識別入門](https://www.udemy.com/python-scikit-learn/)


### フェーズ3 Kaggleに挑戦

さて、フェーズ1,2では書店で販売されている機械学習関連の書籍を紹介しました。
上記の書籍を順番に1〜3ヶ月ほど手を動かしながら進めると、機械学習の一連の流れや、自分で機械学習のモデルを読み書きできるレベルになっているはずです。

ここでは、次のフェーズとして[Kaggle](https://www.kaggle.com/)や[SIGNATE(旧 DeepAnalytics)](https://signate.jp/)を使って、実践します。
Kaggleは、世界中のデータサイエンティストが集まるコンペティションサイトです。
企業などが分析してほしいデータをここに載せて、ユーザーが分析をして、分析の精度を競います。
上位３位にはデータをあげた企業から賞金が出る場合もあります。
Kaggleのオススメの使い方としては、Kernels（カーネル）という機能を使うことです。
カーネルでは、各データセットに対して他のユーザーが構築したモデルのコードの説明などがわかりやすく書いてあります。

[Python データ分析実践編](https://aiacademy.jp/texts/#data_practice)

__Kaggleで実際にデータ解析を行うとわかりますが、データの前処理が大変重要です。__
__ここでのポイントとしては、pandasを上手く使いこなせるかが鍵になっております。__

pandasのデータ加工でわからないことがあれば、
[pandas公式 チュートリアル](https://pandas.pydata.org/pandas-docs/stable/tutorials.html)から再度復習してみてください。

書籍としては[Pythonによるデータ分析入門](http://amzn.asia/1Al0GEt)がオススメです。

![download.jpg](https://qiita-image-store.s3.amazonaws.com/0/195675/fdfbfd08-2c76-4bae-fecf-39c7371a5f62.jpeg)

[Pythonデータ分析/機械学習のための基本コーディング! pandasライブラリ活用入門 ](https://www.amazon.co.jp/Python%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90-%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%82%B3%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0-pandas%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E6%B4%BB%E7%94%A8%E5%85%A5%E9%96%80-impress-gear/dp/4295005657/)

![516poI4UKkL._SX390_BO1,204,203,200_.jpg](https://qiita-image-store.s3.amazonaws.com/0/195675/aea5d146-5019-3910-8bcf-16a52831b287.jpeg)



[機械学習のための特徴量エンジニアリング ―その原理とPythonによる実践](https://www.amazon.co.jp/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E7%89%B9%E5%BE%B4%E9%87%8F%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0-%E2%80%95%E3%81%9D%E3%81%AE%E5%8E%9F%E7%90%86%E3%81%A8Python%E3%81%AB%E3%82%88%E3%82%8B%E5%AE%9F%E8%B7%B5-%E3%82%AA%E3%83%A9%E3%82%A4%E3%83%AA%E3%83%BC%E3%83%BB%E3%82%B8%E3%83%A3%E3%83%91%E3%83%B3-Alice-Zheng/dp/4873118689/)
![51kp-FCHJ2L._SX388_BO1,204,203,200_.jpg](https://qiita-image-store.s3.amazonaws.com/0/195675/b9ddc040-d842-7430-c36c-f0b2cb80bc85.jpeg)



### フェーズ4　SQL、スクレイピング、クラウドなどの技術も身につける。
実データに関しては、Web上のデータであればデータベースに保存されていることが多いため、SQLの知識も必要になります。
SQLが使えると、自分でDBから必要なデータを抽出できますし、csvなどで書き出してpythonでそのままデータ分析に繋げることが出来ます。

ここでは、SQLを使ってデータ分析をするための参考になる書籍を紹介します。
・ProgateのSQL編（SQL初級者向け）
[Progate[プロゲート] SQL](https://prog-8.com/languages/sql)

・[AI Academy SQL編](https://aiacademy.jp/texts/#sql) (SQL初心者向け)
・[AI Academy SQL編](https://aiacademy.jp/texts/#sql_2) (SQL中級者向け)

・SQLを使って分析をする(SQL中級者向け)
[ビッグデータ分析・活用のためのSQLレシピ](http://amzn.asia/4gDmIEe)

![61kzm62vzeL._SX382_BO1,204,203,200_.jpg](https://qiita-image-store.s3.amazonaws.com/0/171715/83645d57-92e3-5660-d8a1-7c7746aee8f7.jpeg)

データ収集はデータベースから行うこともあれば、スクレイピング等で行うこともあります。
スクレイピングはWebサイトに掲載されている情報を収集するための技術です。
ここでは、スクレイピングの技術習得のためにオススメの書籍を二冊紹介いたします。
・1冊目にオススメ
[Pythonによるスクレイピング&機械学習 開発テクニック BeautifulSoup,scikit-learn,TensorFlowを使ってみよう](http://amzn.asia/c7mpmzl)

![61sxmRFvyfL._SX376_BO1,204,203,200_.jpg](https://qiita-image-store.s3.amazonaws.com/0/171715/f1db9b94-348c-601a-b1f8-bd9c55b454fc.jpeg)

・[AI Academy Webスクレイピング編](https://aiacademy.jp/texts/#web) 


・2冊目にオススメ

[Pythonスクレイピングの基本と実践 データサイエンティストのためのWebデータ収集術 (impress top gear) ](https://www.amazon.co.jp/Python%E3%82%B9%E3%82%AF%E3%83%AC%E3%82%A4%E3%83%94%E3%83%B3%E3%82%B0%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%81%A8%E5%AE%9F%E8%B7%B5-%E3%83%87%E3%83%BC%E3%82%BF%E3%82%B5%E3%82%A4%E3%82%A8%E3%83%B3%E3%83%86%E3%82%A3%E3%82%B9%E3%83%88%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AEWeb%E3%83%87%E3%83%BC%E3%82%BF%E5%8F%8E%E9%9B%86%E8%A1%93-impress-top-gear/dp/4295005282/)

![51psvzLBhdL._SX390_BO1,204,203,200_.jpg](https://qiita-image-store.s3.amazonaws.com/0/195675/02267f0a-978a-f4ff-549e-6eafb8117846.jpeg)

もしくは
[Pythonクローリング&スクレイピング -データ収集・解析のための実践開発ガイド](http://amzn.asia/6ei5m41)

![51IiWeYB-7L._SX399_BO1,204,203,200_.jpg](https://qiita-image-store.s3.amazonaws.com/0/171715/6f8f377a-0bde-7efc-c039-6f13378bc06b.jpeg)

・クラウド
ここではGoogle Cloud Platform(GCP)の簡単な説明をします。

Google Cloud Platformは、Googleが保有する膨大なインフラストラクチャや機械学習等といったサービスを使った分だけの支払いで利用することができるクラウドサービスの総称であり、GCPを使うことでサービスを開発する上でのインフラ周りや、高性能なデータ分析・機械学習サービスを各種APIを通じて利用が出来ます。
GCPとよく比較されるサービスとしてAmazonのAWS、Micro softのAzureなどがありますがそれらの違いは下記記事を参考にして見てください。

[Google Cloud Platform とAWS、Azureの違い](https://clonos.jp/knowledge/detail01/)

また、GCPのAPIをPythonで呼び出すことが出来ますが、下記画像にある通り画像認識・動画解析、音声認識、自然言語処理などのAPIが用意されています。
自分の作りたいものを作るときに、0からscikit-learnやKerasなどを使って自前で作るより、APIを使った方が簡単にかつ、精度の良いものを作ることが出来ます。
__自分にあったAPIを探し、ドキュメントや、Googleで検索したり、qiitaで調べたりして出てきた記事を参考にすれば実装が出来たりします。__

![スクリーンショット 2018-05-07 16.55.00.png](https://qiita-image-store.s3.amazonaws.com/0/171715/f6680ac4-e2df-71aa-407f-68e1bde158fd.png)



[GOOGLE CLOUD PLATFORM での PYTHON](https://cloud.google.com/python/?hl=ja)






### フェーズ5 機械学習スキルを活用してプロダクト制作をする

フェーズ5まで、機械学習スキルやそれ以外の人工知能関連技術を学びました。
ほとんど最後のフェーズですが、次のフェーズとしては__プロダクト制作__をすることをオススメします。

プロダクトには様々な形があると思いますが、ひとまずWebアプリケーションが学習コストが少なく済むので、オススメです。
次に、モバイルのアプリなどに取り組んで見ても良いでしょう。
Webアプリケーション作成にはPythonの他にも、HTML, CSS, JavaScriptの知識が必要です。
これらの知識はプロゲート, ドットインストールなどを利用して身につけましょう。

・HTML, CSS, JavaScript
[プロゲート](https://prog-8.com/)
[3分動画のドットインストール(dotinstall)](https://dotinstall.com/)

また、PythonでのWebアプリケーション開発はDjango,Flaskなどのフレームワークが有効ですが、一人で学ぶには、Flaskが学びやすいです。
FlaskはUdemyの動画を参考にすると良いでしょう。
[Udemy](https://www.udemy.com/python-flask-course/)

[AI Academy Webアプリケーション開発編](https://aiacademy.jp/texts/#api)

**動画やテキストをただ見る、読むのはでなく、実際にプログラムを打ち込みながら手を動かして進めるのがオススメです。**
また、学習済みモデルを組み込んだWeb APIをFlaskなどで作れるようになっておくと良いです。


さらに、Web開発を身につけた方は、Google CloudのAPIなども合わせ学び、これまで学んだことを合わせてあなたのアイデアを形にしてみてください。
Google Cloudでは、画像・動画分析、音声認識、テキスト分析などを容易に扱うことが可能です。


### フェーズ6 教える

プログラミングや機械学習を学んだら、友人でも良いので誰かに教えることをオススメします。
教える方法としては、イベントやセミナーを行うのも良いですし、Skypeなどを使い、友人にマンツーマンレッスンを行なったり、カフェで直接教えたりするのが良いです。

教える以外にもQiitaやブログに記事を書いたり、本を書くとかも良いかと思います。
AI Academyでは受講生の交流会やLT会もやっており、人前で教える機会も提供しておりますので、是非ご活用して見てください！

### フェーズ7 専門分野を確立する

人工知能の領域には、画像認識や自然言語処理、音声認識、強化学習などあります。
フェーズ6まで進めた方は、自分の専門分野を身につけていきましょう。

・画像認識

[画像認識 (機械学習プロフェッショナルシリーズ) ](https://www.amazon.co.jp/画像認識-機械学習プロフェッショナルシリーズ-原田-達也/dp/4061529129/)
![download-2.jpg](https://qiita-image-store.s3.amazonaws.com/0/195675/8aec4df8-9455-d038-75c2-15f1277341b8.jpeg)


・自然言語処理

[深層学習による自然言語処理 (機械学習プロフェッショナルシリーズ) ](https://www.amazon.co.jp/%E6%B7%B1%E5%B1%A4%E5%AD%A6%E7%BF%92%E3%81%AB%E3%82%88%E3%82%8B%E8%87%AA%E7%84%B6%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86-%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%83%97%E3%83%AD%E3%83%95%E3%82%A7%E3%83%83%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%AB%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E5%9D%AA%E4%BA%95-%E7%A5%90%E5%A4%AA/dp/4061529242/)

![51VWk9HK-OL._SX353_BO1,204,203,200_.jpg](https://qiita-image-store.s3.amazonaws.com/0/195675/33acc968-6c94-2a38-afe9-05777dc31b23.jpeg)


・音声認識

[音声認識 (機械学習プロフェッショナルシリーズ) ](https://www.amazon.co.jp/音声認識-機械学習プロフェッショナルシリーズ-篠田-浩一/dp/4061529277/)

![41b3utAlyGL._SX353_BO1,204,203,200_.jpg](https://qiita-image-store.s3.amazonaws.com/0/195675/49c3299c-4969-338a-691e-45dc97a17c9f.jpeg)


・強化学習

[機械学習スタートアップシリーズ Pythonで学ぶ強化学習 入門から実践まで](https://www.amazon.co.jp/機械学習スタートアップシリーズ-Pythonで学ぶ強化学習-入門から実践まで-KS情報科学専門書-久保/dp/4065142989/)

![41OrKucXy5L._SX335_BO1,204,203,200_.jpg](https://qiita-image-store.s3.amazonaws.com/0/195675/3d3e4080-e2fb-5b48-2719-bb6a52a80b46.jpeg)

・深層学習（ディープラーニング）【理論と実装】

深層学習の理論と実装+Kerasを用いて、基礎からしっかり学びたい方は下記の3冊+αで、基礎から実践までカバーできます。


①[ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装](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/)

![512ru2i5gyL._SX352_BO1,204,203,200_.jpg](https://qiita-image-store.s3.amazonaws.com/0/195675/1b150bbc-03cd-e4c2-e25c-8583971a73d8.jpeg)

もしくは、

[はじめてのディープラーニング -Pythonで学ぶニューラルネットワークとバックプロパゲーション- (Machine Learning)](https://www.amazon.co.jp/はじめてのディープラーニング-Pythonで学ぶニューラルネットワークとバックプロパゲーション-Machine-Learning-我妻/dp/4797396814/)


![41pQqrFLL+L._SX350_BO1,204,203,200_.jpg](https://qiita-image-store.s3.amazonaws.com/0/195675/beef549a-c00d-39ed-8705-b7fc9d3f8cfd.jpeg)


②[ゼロから作るDeep Learning ❷ ―自然言語処理編](https://www.amazon.co.jp/ゼロから作るDeep-Learning-―自然言語処理編-斎藤-康毅/dp/4873118360/)

![51FoSTiivwL._SX350_BO1,204,203,200_.jpg](https://qiita-image-store.s3.amazonaws.com/0/195675/1c3100c2-b0b4-aa3c-9300-9559ce2b2cf2.jpeg)


③[深層学習](https://www.amazon.co.jp/深層学習-Ian-Goodfellow/dp/4048930621/)

![61zJusXfyjL._SX388_BO1,204,203,200_.jpg](https://qiita-image-store.s3.amazonaws.com/0/195675/4aa0dbfc-589a-92b6-e1ed-c6d7561c116a.jpeg)

+α


[直感 Deep Learning ―Python×Kerasでアイデアを形にするレシピ](https://www.amazon.co.jp/Deep-Learning-―Python×Kerasでアイデアを形にするレシピ-Antonio-Gulli/dp/4873118263/)


![download-1.jpg](https://qiita-image-store.s3.amazonaws.com/0/195675/5e125450-bd85-1afc-d60f-c4f200d398fb.jpeg)






# 学習ロードマップ

<img width="449" alt="スクリーンショット 2019-03-23 22.09.40.png" src="https://qiita-image-store.s3.amazonaws.com/0/195675/626b5d13-d04a-6ea4-179c-0236dceefa7a.png">

さて、上記で色々と書籍をご紹介しましたが、上記のロードマップの書籍をベース進めることで、機械学習エンジニアに最低限必要なスキルを体系的に身につけることができます。

順番ですが、①の機械学習から始め、必要に応じて数学・統計を進めてください。
①と②が終わったら、次に深層学習を進めるのをお勧めします。
ただし、AIエンジニアになることが目的ではなく、画像認識で〇〇を作りたい。という作りたいものが明確な方は、『直感 Deep Learning ―Python×Kerasでアイデアを形にするレシピ』だけで十分な場合もあります。

何度も記述していることですが、**ポイントなのが、基本的に書籍に出てくるコードは実際に書いて進めることです。**

例えば、英語などを勉強するときも教材を眺めるだけより、書いたり読み上げたり聞いたりすることが有効だったりします。
**プログラミング言語も同様で、ただ本を眺めるだけより、実際に写経することでより理解が深まります。**
ただし、どの教材も１００％理解する必要はありません。
どのタイミングで、次の書籍へ進むかの判断基準ですが、__書籍に書いてあること全て理解せずに、7割理解できたかな__というレベルで十分です。
そこに到達したら次へ進みましょう。

AIエンジニアとして就職・転職希望の方は上記の書籍の内容に加え、
上記でまとめたSQLの基礎的な内容の理解や、Kaggleのコンペもいくつかやったり、統計検定2級あたりを所持したり、普段から英語に慣れておくと良いかもしれません。


# まとめ

ここまでの流れをまとめます。

フェーズ1 pythonプログラミングと人工知能概論を学ぶ
フェーズ2 機械学習プログラミング
フェーズ3 Kaggleに挑戦
フェーズ4 SQL、スクレイピング、クラウドなどの技術も身につける。
フェーズ5 機械学習スキルを活用してプロダクト制作をする
フェーズ6 教える
フェーズ7 専門分野を確立する


# 英語に自信がある方へ

ここまでは、学習方法やオススメの書籍などを紹介しましたが、英語に自信がある方にはオススメのサービスを紹介します。
__※英語苦手だとしてもCoursera　（コーセラ）の機械学習は是非受講することをオススメします。__

①Coursera　（コーセラ）
[Coursera Machine Learning](https://www.coursera.org/learn/machine-learning)
コーセラは世界中の人に最高の教育を無料で提供するということを理念にしているオンライン教育サービスです。
特に機械学習のコースの講師はStanford Universityのアンドリュー・ウ(Andrew Ng)氏です。
アンドリュー氏は、人工知能の研究をしており、Google Brainの立ちあげやCouseraのファンダーでもあります。
シリコンバレーにあるBaiduの研究所で勤務しておられる方であり、機械学習を学ぶのに最も適した教材とも言え、機械学習の主要なアルゴリズムを直感的に理解し、実際にプログラミングできるように教えてくれます。
[Andrew Ng氏](https://twitter.com/AndrewYNg)は沢山褒めてくれるので、とても嬉しくなります笑
（※プログラミング言語はPythonではなく、Octave・MATLABです）

=== 追記ここから ===
**Twitterにて以下のようなリプがありましたので、追記いたします。**
> Octave・MATLABで学ぶのはプログラミング未経験の初学者にはハードルが高すぎ…ではないでしょうか？

プログラミング初心者の場合、Pythonに比らべ、Octave・MATLABは取っつきにくいかもしれません。
もしこの記事を読んでいるあなたが英語大丈夫！という場合、下記のYouTubeチャンネルでもOKです。
https://www.youtube.com/playlist?list=PLQVvvaa0QuDfKTOs3Keq_kaG2P55YRn5v
こちらは言語がPythonです。
また、書籍でしたら、Python 機械学習プログラミングがオススメです。
http://amzn.asia/9EPUIpg 
=== 追記ここまで ===

![スクリーンショット 2018-05-07 0.01.55.png](https://qiita-image-store.s3.amazonaws.com/0/171715/918b9c84-9e08-dc5d-af17-3e0ec70a8334.png)


②Learn with Google AI (ai.google education)
[Learn with Google AI](https://ai.google/education#?modal_active=none)

![スクリーンショット 2018-05-07 0.01.23.png](https://qiita-image-store.s3.amazonaws.com/0/171715/f2cc1f4b-46b8-aaa8-dca0-4d4f303cb569.png)

Google社内教育プログラムで無料で利用可能です。
コンテンツは、大変わかりやすい動画です。


## こちらもオススメ

[Udacity「Intro to Machine Learning](https://www.udacity.com/course/intro-to-machine-learning--ud120)
![スクリーンショット 2018-05-07 0.02.32.png](https://qiita-image-store.s3.amazonaws.com/0/171715/8e78a867-0c1d-b77d-2079-31e6cffb0716.png)

[Machine Learning with Python (YouTube)](https://www.youtube.com/playlist?list=PLQVvvaa0QuDfKTOs3Keq_kaG2P55YRn5v)
![スクリーンショット 2018-05-07 0.44.24.png](https://qiita-image-store.s3.amazonaws.com/0/171715/93a16a21-e71a-eb00-134e-1fcd84e79750.png)



# 本気でAIエンジニアを目指している方へ
上記内容を順に学んでいくことで、一定の基礎スキルが身につき、AIエンジニアとしての入り口に入れるかと思います。
ですが、実務でAIエンジニアとして活躍していくにはまだまだ知識的に足りない可能性があります。
その際には、以下に挙げる勉強法と、その書籍にも目を通していくことをオススメします。

1. C++及びJava言語で機械学習のアルゴリズムも書けるようにする。
2. [『データ解析のための統計モデリング入門――一般化線形モデル・階層ベイズモデル・MCMC』]( http://amzn.asia/5118g0M)以上の統計学の知識
と[統計学入門 (基礎統計学Ⅰ)](http://amzn.asia/6RuVPNl)
3. [統計的学習の基礎 ―データマイニング・推論・予測](http://amzn.asia/8mAkkJN)

ここで紹介した書籍をある程度読み、実際にプログラムを打つところまで終わったら、仕事を探してみましょう。
あなたが学生なら、実際にWantedlyなどで機械学習アルバイト・インターンを募集している会社に応募してみたり、社会人の方なら、社内の上司にデータ分析をしたいとお願いしてみるのも良いかもしれません。



# 終わりに

ここまでお読みいただきありがとうございました！

これまで長々と書いておりましたが、上記した書籍を全て１から学ぶにはそれなりの学習コストがかかります。

僕が会社で運営している[AI Academy](https://aiacademy.jp/texts/)という、無料で学べる（一部有料）オンラインAIプログラミング学習サービスや[AIスクール](https://aia-bootcamp.com/)も是非ご利用ください！

本気で将来AIエンジニアを目指されている方は[AI Academy Gym](https://aiacademy.jp/gym)もご検討頂けると幸いです！

最後にこの記事が良かったら是非シェア頂けると嬉しいです！
この記事読んで頂いた方は、返信が遅れる場合もありますが、[Twitter](https://twitter.com/tankazunori0914)にてDM頂ければ色々とご相談も乗ります。
改めて、ここまでお読みいただきありがとうございました！

# AI Academy Bootcamp

[６ヶ月35,000円にてチャットで質問し放題の環境で、機械学習やデータ分析が学べるサービス](https://aiacademy.jp/bootcamp)を提供しております。
数十名在籍しているデータサイエンティストや機械学習エンジニアに質問し放題の環境でデータ分析、統計、機械学習、SQL等が学べます。AI人材に必要なスキルを効率よく体系的に身に付けたい方は是非ご検討ください！
![bootcamp_ad_72ppi.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/195675/f261ccc8-42db-a292-2511-6a742d1987f7.png)
https://aiacademy.jp/bootcamp


# この記事を書いた人

株式会社エーアイアカデミー
代表取締役CEO　谷 一徳 

フォロー、参加お待ちしております！
[Twitter](https://twitter.com/tankazunori0914)
[Facebook](https://www.facebook.com/takazunori)
[人工知能研究コミュニティ](https://www.facebook.com/groups/1892746874314837/)