これから機械学習を勉強し始める方や、勉強しようか悩んでいる方。
- どれくらいの内容を勉強しないと機械学習ってできないの?
- どんなことを学習していくと機械学習ができるようになるの?
という疑問をもち、これから機械学習の勉強をしようか悩んだりなかなか学習に手を付けれない方もお見えでしょう。そんな方に向け、機械学習習得までのロードマップをまとめてみました。ぜひ学習を始める参考にしてください。
この記事を読むことにより、
- 機械学習の勉強はどの順番で行うと効果的か
- 各項目を何のために勉強するか
- 機械学習を勉強する各段階でどのような方法で勉強すればよいか
がわかります。
この記事の対象者
今回、この記事で対象とする方は
- 機械学習をこれから勉強する人
- 機械学習を勉強し始めたけど、このまま勉強していていいのか悩んでいる人
- 機械学習を勉強したいけど、どの程度勉強しないといけないかわからないので手が出せない人
など、これから機械学習の勉強を始める方、もしくは初めて間もない方で方向性がわかっていない方としています。
ロードマップは機械学習ができるようになっていく実感を持てることを第一に、楽しく上達できることに特に主眼を置いています。一般的なロードマップと内容が一部異なる部分があるかもしれませんが、成長を確実に実感でき、学習を楽しめる順番になっています。
ロードマップ5ステップ
まずは全体のロードマップは上図のようになります。一般的には最後の3つが「データ分析→数学→機械学習」の順になっていることが多いかもしれません。
勉強のモチベーションはやはりできるようになった実感があったほうが上がりやすいので、それを実感するために「機械学習→数学→データ分析」の順番となっています。
各ステップの内容と習得法
この章ではステップごとに、勉強する理由とその方法を考えていきます。本文中にも出てきますが、「プログラムを完璧にした後に機械学習を完璧にする」という進め方はしません。「プログラミング」から「データ分析」まではレベルアップしながら何度も行ったり来たりします。今回は独学で進める場合のロードマップとして提示します。
①機械学習の概要
なぜ勉強するの?
まずはこれから勉強する対象の概要を知ることは重要です。
- これから何を勉強しようとしているのか
- これから勉強する内容で自分がやりたいことは達成できるのか
- そもそも自分が勉強したい内容は機械学習なのか
など。特に「機械学習を勉強すること自体」が目的になっている方はここで全体像を確認しておいたほうがよいでしょう。なぜなら、実務では機械学習手法にかけるだけの状態になったデータを与えられ、出てきたままの結果を出力として渡すことはまずないからです。
解決すべき問題があり、そのためにどのようなデータを取り、どのような手法で解析し、出てきた結論をどのように解釈するか、というところまでが機械学習の一連の流れになります。
勉強内容とその対策
- 何をするのか
- 何ができるのか
- どんなことをするのか
は必ず以下のサイトで確認しておきましょう。
また、「AI For Everyone (すべての人のためのAIリテラシー講座)」という教材では上記の内容を非常にわかりやすく解説しているので、参考にしてください。Courseraの講座で、無料で登録ができ無料で視聴ができます。
東京大学の松尾先生とGoogleBrainやCourseraで有名なアンドリュー先生が直接講義をされており、アンドリュー先生のパートに関しては日本語訳がついています。
また、目標を持って学習したり、上記の内容を確認する意味でも「G検定」を受けるのも効果的です。G検定とその参考書に関しては以下のサイトを参照してください。
②プログラミング
なぜ勉強するの?
機械学習の手法を実際に使用するには、PythonやRなどのプログラムで実行するのが一番早く簡単にできます。一部の手法に関してはエクセルなどで代用することも可能ですが、手法が限定的な上に、非常に時間がかかることが多いです。
また、機械学習用プログラムというとPythonとRがありますが、利用者の多さと、そのための参考情報が多いPythonを学習することをお勧めします。
勉強内容とその対策
プログラミングの学習目的は、あくまでも「機械学習を行うため」です。最初に勉強し始める段階で何かのアプリケーションを作成できるほどの知識を身に付ける必要はありません。まずは機械学習を実施できるだけのプログラミング知識を身につけましょう。
具体的には
- Pandasでcsvファイルの読み込みから保存までができる
- Pandasでデータフレームのカラム追加・削除、行追加・削除ができる
- 数値データ、文字データなどのデータの形式を確認できて、変換ができる
までをできるとことが一つの目安になります。
ただし、機械学習の勉強が進むとプログラミングでやりたいことが増えるので、最低限の内容を覚えたらその後はやりたいことが出てくるたびにその知識をアップデートしていけば問題ありません。
その「最初の段階で覚えるべき内容」がまとまったPython基礎講座があるので、下に示します。こちらで学習するのが効率的です。
③機械学習
勉強内容とその対策
プログラミング方法の知識ををある程度身に付けると機械学習を実装すること自体は難しくありません。まずは形だけでも機械学習を実装して、実装自体はそんなに難しくないことを体感してみてください。
機械学習を実際に行ってみるためには以下のサイトが役に立ちます。手法はたくさんあるので、代表例を示しますが、サイト内の様々な機械学習手法を参考にしてみてください。
さて、機械学習手法をPythonで書いてみると気づくと思うのですが、実は「Pythonで機械学習手法を動かす」ことと、「機械学習を行うこと」とは別物です。
この手法はどんな意味があるのか、動かした後出てきた数値が何を意味しているのか、この手法でよいのか、この結論は正しいのかなど、機械学習を行っていくためには「プログラムの実装」と「データの分析」両方が重要であることがわかります。
このデータの分析についてはこの後の項目で考えていきます。なお、プログラミングのところでもありましたが、勉強を進めてデータ分析ができるようになると、再びここに戻ってきます。「プログラミング」から「データ分析」まで、できることが増えるとそれぞれの項目もアップデートしてさらに高いところを目指せるわけですね。
④数学(統計)
なぜ勉強するの?
「数学的なことは機械学習がやってくれるから必要ないのでは?」と思われがちですが、機械学習の結果で差がつくのはやはり数学とこの後出てくるデータ分析です。
機械学習手法の実装自体はそんなに難しいことではありません。どのような理由でどのようなパラメーターを入れるかという判断や、機械学習で出てきた答えの正しさの判断、出力された結果の解析などの数学知識で差が生まれ、解析の内容がより正しく正確なものになります。
特に統計は、今手元にあるデータがどのような元データの集まりの中にあったものなのかという考えは統計に即していますし、各分析の計算は数学そのものです。
勉強内容とその対策
初学者の段階でまず始めに学習しておくべき内容は、
- 統計:確率分布、検定、回帰
- 数学:(偏)微分、積分、行列
などです。数学で全分野をまんべんなくというのは範囲が広くて時間がかかってしまうので、まずは統計の3分野、数学の3分野を学び、その後機械学習を進めていく上で気になった項目を学んでいけばよいでしょう。
ほかの分野と共通ですが、こちらもレベルが上がると学習内容も増えますので、その時のレベルに合わせて知識をどんどんアップグレードしていきましょう。
⑤データ分析
なぜ勉強するの?
機械学習は機械学習手法を実装した時点で満足しがちなのですが、実はデータ分析が最も重要です。
まずは機械学習手法を使用する前にデータをしっかり分析すること。これをしなかった場合、現状のデータが正しく現状を表しているのかわからない上に、全く関係のないデータが混ざっていると解析結果が何を指しているのかわかりません。
また、出力された解析結果をしっかり分析すること。解析結果がデータを正しく表しているのか、体感とズレがあるのかないのか。あるとしたら何が理由でそれは正しいのか、などしっかり分析をしましょう。そのためのデータ分析について学びます。
勉強内容とその対策
1つ目、機械学習をする前にデータをしっかり分析するためにはまず基本的なデータの前処理方法を勉強しましょう。具体的には
- データに欠損があった場合にどのように対処するかがわかる
- データを確認してデータに過不足がないかを検討できる
- データの相関関係などを確認して項目の過不足がないかを検討できる
ところまでできるようになることが最初の目標です。この内容は以下の記事にまとめられているので、まずはこの内容ができるようになることが目標です。
次に、出力データの検証ですが、こちらはデータを別角度から分析してみることが有効です。その際に覚えておくとよい分析方法は以下の記事にまとまっているので、まずはこの5手法を理解することが目標となります。
『Tech Teacher』3つの魅力
魅力1. オーダーメイドのカリキュラム
『Tech Teacher』では、決められたカリキュラムがなくオーダーメイドでカリキュラムを組んでいます。「質問だけしたい」「相談相手が欲しい」等のご要望も実現できます。
魅力2. 担当教師によるマンツーマン指導
Tech Teacherでは、完全マンツーマン指導で目標達成までサポートします。
東京大学を始めとする難関大学の理系学生・院生・博士の教師がが1対1で、丁寧に指導しています。
そのため、理解できない箇所は何度も分かるまで説明を受けることができます。
魅力3. 3,960円/30分で必要な分だけ受講
Tech Teacherでは、授業を受けた分だけ後払いの「従量課金制」を採用しているので、必要な分だけ授業を受講することができます。また、初期費用は入会金22,000円のみです。一般的なプログラミングスクールとは異なり、多額な初期費用がかからないため、気軽に学習を始めることができます。
まとめ
・魅力1. 担当教師によるマンツーマン指導
・魅力2. オーダーメイドのカリキュラム
・魅力3. 3,960円/30分で必要な分だけ受講
質問のみのお問い合わせも受け付けております。
まとめ
今回は機械学習のロードマップを確認してきました。何度か言いましたが、レベルアップすると学習する内容も増えてきます。しかし、まずは一通り上記の内容を試してみて、機械学習を動かせる喜びに触れながら勉強を進めていってほしいです。
また、各ステップの判断基準となる「自分はどこまでできているか」「今の実力でどこを対策するべきなのか」はなかなか自分では判断しづらく、また「わからないところ」も判断しにくいものです。
そのため、マンツーマン指導のTechTeacherではこれらの判断をするだけでなく、学習中に生じた疑問点の解消やモチベーションの維持をあなた専属の先生に依頼することができます!以下のボタンからぜひお問い合わせしてみてください!