こんにちは!
消費財メーカーでデータサイエンティストとして働いているウマたん(@statistics1012)です!
統計学の修士号を持っており、大学時代は統計学を主に専攻していました。
AIという言葉がいたるところで叫ばれるようになり久しいですが、
・結局AIとは何なのか?
・AIをどのようにビジネスに活用していけばよいのか?
理解していますでしょうか?
正直、AIという言葉を明確に理解せず使っているビジネスパーソンが多い気がしています。
会社でAIという言葉が登場した時は、かなり注意して本来の目的を確認するようにしています笑
そのようにAIとは素晴らしい未来を切り開いていく画期的なものでありながら、使い方によってはゴミにすらなるものなのです。
魔法のような何でもできるものと思ったら大間違い。
ここで、まずはAIとはどのようなものなのか、AIをどのようにビジネスに活用していけばよいのか理解しておきましょう!
目次
AIとは

そもそも人工知能(AI)とは何でしょうか?
少し前からAIという言葉が色んなところで聞かれるようになり、今では聞かない日はないまでになりました。実際にGoogleトレンドを見てみてもAIの流行が見て取れます。

人工知能(AI)と聞くとディープラーニングを思い浮かべる人も多いのではないでしょうか?
しかしディープラーニングが登場したのは2006年であり、人工知能という言葉はそれよりもずっと前からある言葉。
必ずしも人工知能(AI)=ディープラーニングとは言えないのです。
よく言われるのが、人工知能(AI)の中に機械学習がありその中にディープラーニングがあるという構造。

だからこそ人工知能(AI)という言葉は軽々しく使ってはいけないのです。
人工知能(AI)は定義の範囲が広く、簡単なルールベースのアルゴリズムでもAIだし機械学習もAIだしもちろんディープラーニングもAIだし。
どの文脈で人工知能(AI)という言葉が使われているかは注意しなくてはいけません。
AIの勉強法

さて、そんなAIですがどのように勉強していけばよいのでしょうか?
僕自身いままでAIまわりの勉強をしてきた経験から、なるべくここら辺をこんな手順で学んだらよいよ!というロードマップをお伝えします。
なんとなーく思い描いているAIの勉強範囲は以下の通り。
・統計の基本を勉強
・機械学習手法の基本を勉強
・ディープラーニング(深層学習)を勉強
・Python実装(並行して行いたい)
・インフラ/データベースまわりの知識
—-ここから先はAI開発がしたいのか・AI分析がしたいのか—-
【AI開発の場合】
・Flask/Django
・HTML/CSS/Javascript
【AI分析】
・より複雑な特徴量エンジニアリング
・統計的因果推論などの深い統計学理解
これは要らない!これは要る!みたいな議論はあるかもしれませんが、あくまで一意見として受け取ってもらえれば嬉しいです。
AI開発サイドとAI分析サイドでは必要要件が変わってくるので、ある程度自分はどちら側にいきたいのか明確にしておいた方がよいでしょう!
もちろんどちらもできる神人材もいますが、これからの世の中自分の軸足をぶらさずどちらかに置いておくことが大事です。
統計学の基本を勉強
まずは、統計学の基本を勉強しておくことをオススメします。
統計学の基本は、動画で簡単に解説しています。
統計的検定や相関関係の理解など、データサイエンスの基本的な部分をまずは学んでもらいます。
統計学の基本には以下の書籍あたりがオススメです。
少し分かりにくいなーという方はUdemyの以下のコースが広く分かりやすく解説しているのでオススメ!

データサイエンスの分野を幅広くおさえている講座で、全世界で好評なコース。
ユニークなアニメーションと一緒にビジネスサイドからデータサイエンスを学べるので分かりやすいです。
ちょっと長く冗長なので、もしある程度分かっているようであれば飛ばしながら見ていくとよいでしょう!
Udemyは世界最大の教育プラットフォームで非常におすすめ!
買い切りなので自分のペースで自分のレベルに合った教材を楽しめます。
僕自身めっちゃお世話になってます笑

このフェーズでは、基本的なデータの見方をおさえていきましょうね!
統計学の勉強法については以下の記事でまとめていますので詳しく知りたい方はぜひチェックしてみてください!

機械学習手法の基本を学ぶ
続いて機械学習手法の基本を学びます。
機械学習については動画で簡単に解説していますのでぜひチェックしてみてくださいね!
機械学習に分類される手法は非常に多くあります。
ここではディープラーニングにつながる基本的な機械学習手法の理解をしておきましょう!
機械学習手法を理解する上では、数学(微分・線形代数)の理解が欲しいところ。
機械学習アルゴリズムを理解するための土台になる微分の理解は以下のUdemyコースを見てみてみることをオススメしています。

教育サービスを提供するキカガクの代表取締役の方が丁寧に機械学習のアルゴリズムについて教えてくれます。
まあ機械学習の基本・土台となる単回帰分析を数式から学んでいくもの。
ビックリしたんですが、パワポではなく紙に手書きで進んでいくんです!
最初は抵抗があったものの、なるほど意外と分かりやすい。
よくよく考えたら学生時代の教育は先生が手書きで黒板に書いて進めてましたもんね。
書籍で学ぶより断然学びやすいです!
微分はこのくらいのレベルで問題ありませんが、深く微分について学びたいなら以下の最適化数学の書籍が非常におすすめです!
ちょっと難しいですが、深くエッセンスの詰まった書籍。
数学側に主眼を置いていますが、AI/機械学習手法と絡ませながら学ぶとより一層学びが深まる良書です。
線形代数を学ぶのにおすすめなのは先ほど紹介したUdemy講座の中級編!

本コースでは線形代数を学びながら重回帰分析まで展開していきます。
線形代数を学びながら微分も用いて定式化していきますよー!
実際に手計算で重回帰分析を行い、その後Pythonのscikit-learnを使って分析を行っていきます。
Pythonを使うとこんなにカンタンに計算できてしまうのかとビックリすると思いますが実際に手計算をする経験は有用。
数学の理解と一緒にPythonでの実装も学んでいくと理論と実務の両輪が上手くかみあってよいでしょう。
AIに必要な数学スキルについては以下の記事でまとめていますのでチェックしてみてください!

数学の基本をある程度固めた後は機械学習のアルゴリズムもだいぶ理解がしやすくなっています。
機械学習の手法はたくさんあるのであせらず順々に理解していきましょう!
・決定木
・k近傍法
・ランダムフォレスト
・SVM(サポートベクターマシン)
・ニューラルネットワーク
・ナイーブベイズ
・XGboost
・LightGBM
・Catboost
・k-means法
・主成分分析
手前味噌ですが、機械学習手法の中で非常にパフォーマンスの高いXGBoostを用いて企業課題を解決する物語「俺たちひよっこデータサイエンティストが世界を変える」を書いていますのでぜひ読んでみてください!
機械学習手法のアルゴリズム理解には以下の書籍がおすすめ。
少し難しく感じられるところもあると思いますが粘り強く勉強していきましょう!
正直「はじめての」レベルではないなーとは思ってます笑
機械学習の勉強法については以下の記事でまとめています!

ディープラーニングについて学ぶ
続いて、ディープラーニングについて学んでいきます。
動画でディープラーニングについて簡単に解説していますよー!
ディープラーニングを学ぶ上では以下の書籍は圧倒的にオススメ!!
(2021/02/27 15:53:54時点 Amazon調べ-詳細)
画像認識に強いCNN(畳み込みニューラルネットワーク)までを網羅しています。
時系列分析・自然言語処理に使われるRNN(再帰的ニューラルネットワーク)まで理解したいのであれば以下の書籍がおすすめ!
個人的にはCNNまで理解しておくだけでも十分だと思っています。
RNNは必要に応じて勉強してください。
ディープラーニングの勉強法については以下の記事で詳しくまとめています!

並行してPythonで実装もしっかり行うように

統計学・機械学習・ディープラーニングを勉強しつつ、それとは並行してPythonでの実装もできるようにしたいところ。
というかPythonでの実装をやらないとイメージもわかないですし飽きちゃいますよね。
理論まわりはUdemyのコースで取っ掛かりをつけて書籍で深めていくのがオススメですがPython実装はWebサービスを利用することをオススメしています。
自分でやり切る自信があるならPyQというサービスでコーディングしていくことがオススメです。

Python特化のサービスなだけあって、非常に広範な教材になっています。
環境構築をする必要がないので、すぐコーディングしていくことが可能。
もし、なかなかモチベーションが湧かないよという方はプログラミングスクールをオススメします。
どちらも僕自身が受講してみてオススメできるスクールになっています。


ただコストは高くつくのでまずは無料相談や無料体験をしてみて合いそうだなと思ったら受講してみると良いでしょう!
Pythonでの勉強法は以下の記事で詳しくまとめています!

必要に応じてインフラ・データベース周りの知識も付けたい

正直、AIを使いこなす上では理論が分かってPythonが分かってもまだ不十分です。
・データが貯まっているのはデータベースでありそこにアクセスしてデータを抽出してくること
・そのデータを流し込んでPythonで分析をする分析環境の構築や操作など
インフラ・データベース周りの知識も必要になってきます。
データベースでのデータ抽出においてはSQL言語の知識は必須。

僕自身実務ではAWSで分析サーバー立てて分析していますがそこら辺を勉強したければ以下のUdemy講座がオススメです!

AI開発側に進む場合

僕自身AI開発側の人間ではないのでもっと他に必要なスキルはあるはずですが、必要最低限Pythonで実装できるWebアプリケーションフレームワークFlask/Djangoの実装とWebサービス構築において必要であるHTML/CSS/Javascriptの習得は必須ですね。
FlaskとDjangoの違いについては以下の記事でまとめています!

Flaskでの簡単なWebアプリケーションを実装している記事を以下に挙げています。

参考にしてみてください!
AI分析側に進む場合

AI分析側に進む場合は、より深い統計的観点の理解や複雑な特徴量エンジニアリングの理解などが必要であると考えます。
統計の世界で非常に重要かつ深い分野である統計的因果推論については以下の記事でまとめています!

また特徴量エンジニアリングについては簡単に以下の記事でまとめています。

特徴量エンジニアリングに関しては以下の本がオススメです。
Kaggleに挑戦してみたり、実際に実務を通してレベルアップしていきたいところです。

AIの勉強方法 まとめ
だいぶがっつりAIの勉強方法についてまとめてきました。
これが必ずしも正解であるとは限りませんが、少なくともここで取り上げた教材やサービスは自分が実際に読んだり体験したりしていいなーと思ったものなので是非チェックしてみてください!
雰囲気を理解するのはUdemyがオススメで、
そこから理論を深める場合は書籍を使って、Pythonでの実装を進めていくのはPyQやテックアカデミー・AidemyなどのWebサービスを使用することをオススメします。
プログラミングスクールは少々お金はかかりますが、強制力をつけるためにもオススメですよー!
以下の記事で詳しく比較していますのでチェックしてみてくださいね!

そこからさらにAI開発側を強めるならUdemy、AI分析側を強めるなら書籍で勉強しつつKaggleなどのデータコンペに挑戦がなんとなーく良い気がします。
まあ結局はあなたのやる気次第!継続あるのみ!
ぜひAIを勉強して、世の中を変えるAI人材になってください!