こんにちは!
事業会社でデジタルマーケター兼データサイエンティストみたいなことをやっているウマたん(@statistics1012)です。
最近は、いかに自社の事業にAIを絡ませていくかみたいな話を仕事でよくしています。
AIって聞くとなんだか難しそうなイメージを持つ人も多いと思います。
AIという言葉を何でも出来る万能ロボットだと思っている人も少なくありません。
実は、AIはしっかり理解すればそんなに難しくないんです。
この記事では、AIが何なのか理解した上でプログラミングをどのように選択するべきなのか、どのように学習していくべきなのか見ていきましょう!
まあプログラミング言語はPython1択なんですけどねっ!!笑
・AIとは何なのか
・どのプログラミング言語を選べばよいのか
・どのように学習していくべきなのか
目次
そもそもAI(人工知能)とは?
様々な場で使われているAIという言葉ですが、実際にどのような定義で使われているのかご存知でしょうか?
AI(人工知能)と聞くとディープラーニングを思い浮かべる人も多いのではないでしょうか?
しかしディープラーニングが登場したのは2006年であり、人工知能という言葉はそれよりもずっと前からある言葉。
必ずしもAI(人工知能)=ディープラーニングとは言えないのです。
よく言われるのが、AI(人工知能)の中に機械学習がありその中にディープラーニングがあるという構造。
AI(人工知能)という言葉自体は1950年代からあるんです。
AIには実は第1次~第3次ブームがあり、現在はその第3次ブームであると言われています。
第1次ブームではルールベースのアルゴリズム、第2次ブームではニューラルネットワーク、第3次ではニューラルネットワークを深層化したディープラーニングが中心になっています。
このようにAIは人によって捉え方が違うため、軽々しく使ってはいけないのです。
AIに関してもっと詳しく以下の記事でまとめています!
AI案件で求められるプログラミング言語はPython
AI案件で必要なプログラミングはPython1択です!
Pythonの世界での人気を見てみると・・・
全世界の人気ランキングでもPythonは上位に位置します!!
このトレンドは今後も変わらないでしょう。
なぜPythonがそれほど求められるのか。
それはPythonの出来る幅が広いこととPythonのコーディングが分かりやすく比較的敷居が低いから!
Pythonは簡単に取り組めつつ極めると奥が深い言語なんですねー!
ちなみにPythonよりもC+/C言語の方が圧倒的に処理が早いので全体はPythonで記述して処理に時間がかかる部分はC+/Cでリファクタリングするパターンもあります。
以下の記事でPythonの簡単な点や難しい点について詳しくまとめていますのでチェックしてみてください!
Pythonをマスターすればデータ解析だけでなく、Webアプリケーションの開発やWeb上データのクローリングなど様々なことができます!
次の章で詳しく見ていきましょう!
AI×Pythonで出来ること
さて、Pythonで出来ることにはどのようなことがあるのでしょう?
データ解析ができるイメージが漠然とあると思いますが、それだけに収まらないのがPythonの素晴らしさ!
Pythonで出来ることは大きく分けて以下の6つ!
【AIに直接的に関わる内容】
データ集計・加工・描画
機械学習を使った回帰・分類
【AIに間接的に関わる内容】
WEBスクレイピング
データベース操作
API連携
Webアプリケーション開発
AI案件に携わる上で絶対におさえなくてはいけないのが、「データ集計・加工・描画」と「機械学習を使った回帰・分類」ですね。
この2つをおさえておくことで基本的なデータ分析は可能です。
データ集計・加工・描画
Pythonでは、データの集計・加工・描画に便利なnumpy/pandas/matplotlibなどのフレームワークが用意されており、簡単に行うことができます!
これらは、データ解析を行う下準備に必要になってくるので必須な初歩スキルです!
Rだとdplyrパッケージによって同等の処理ができますが、Pythonの方が圧倒的に使いやすいです。
機械学習を使った回帰・分類
定番の機械学習手法からディープラーニングまで幅広いモデリングが求められます。
やはり、Pythonの特徴は機械学習フレームワークの充実。
様々な回帰・分類手法を実際に実装することが可能です。
最新の手法も比較的早くライブラリに実装されるので、最新のトレンドをキャッチアップしやすいのが特徴です。
機械学習手法は非常に多くの種類があります。
その中でも代表的な例として決定木を簡単に見ていきましょう!
決定木以外にもコード例もあわせてまとめている記事を以下に並べておきますのでぜひ見てみてください。
ちなみにディープラーニング(深層学習)まわりの手法も比較的カンタンに実装できちゃいます。
一般的な機械学習と比較すると高度な手法ですが、それでもPythonを使えば簡単に実装することができるんですよー!
TensorflowやKerasなどの使いやすいフレームワークが用意されているのです。
実際にディープラーニングを実装しているコードを以下に記載しておきます。
具体的には以下の記事にまとめていますので見てみてください!
また、勾配ブースティングと呼ばれる最先端の手法群もPythonなら余裕で実装可能!
LightGBMでディープラーニングと同様のMnistという手書き文字データを分類しています。
まずは、この前処理→機械学習によるモデリングまでPythonでできるようになればAIプログラミングの入門は完了です!
他にもPythonでできることはたーくさんあります。
以下の記事でPythonでできることに関しては詳しくまとめていますのでよければチェックしてみてください!
AIプログラミングのためのPython勉強法
さて、そんなAIプログラミングのためのPython勉強法について見ていきましょう!
まずは先ほどの2つ
データ集計・加工・描画
機械学習を使った回帰・分類
を習得するところからAIマスターへの道は始まります。
これらを勉強するプラットフォーム・サービスはいくつかあるんですが、以下の3つのサービスをおすすめしています。
最短でマスターするなら以下のロードマップがおすすめ!
PyQはコーディングをガツガツ進めるサービスでPythonでできることを幅広くおさえています。
本当にコーディング特化のサービスなので他のサービスと並行して進めるのもオススメ!
テックアカデミーは価格は高いですがパーソナルメンターがつくのでモチベーション保ったまま進められます。
プログラミングスクールは、価格は少々高いですがメンターのクオリティは高いのでおすすめ!
プログラミングスクールは以下にいくつか比較してまとめています!
そして、PyQとテックアカデミーで幅広く学んだ後は、自分にぴったりのコースをUdemyで受講するというパターンがおすすめ!
Udemyは、PyQやテックアカデミーと違って買い切りなので自分のペースで進められます。
色んな領域に特化したPython講座があるのでぜひチェックしてみてくださいねー!
20コース以上のPythonコースをひかくしていますので暇なときにチェックしてみてkづあさい笑
Python学習法に関しては以下の記事で詳しくまとめていますのであわせてチェックしてみてください!
PythonでプログラミングができるようになりAIアルゴリズム・機械学習を実装できるようになるのは素晴らしいことですが、それだけでは無用の長物になってしまいます。
出来るだけ並行してAIに関わる数学の知識や統計学の知識をインプットすることをオススメします!
理論と実装の両輪をしっかり回すことでAIをしっかり理解し上手く使える人になることができるでしょう!
まとめ:PythonをマスターしてAIプログラミングを加速させよう!
最後に、PythonをマスターすることはAI案件を回す上で重要なことですがあくまでPythonはツールです。
プログラミング言語はどれも目的を達成するためのツールでしかありません。
そのため目的を正しく持っていないと、せっかくのデータとエンジニアリングがムダな努力で終わってしまうのです。
AIを扱いデータから価値を生み出すデータサイエンティストになるためには、Pythonだけに縛られずマーケティングや統計的知見も必要です。
AIの勉強法は以下の記事でまとめています。
またAIを扱う職種であるデータサイエンティストになるためのロードマップも以下の記事でまとめていますので、ぜひあわせてチェックしてみてください!