趣味で機械学習の勉強をはじめました。目的は機械学習によって仮想通貨の価格を予測するモデルを構築するためです。
1ヶ月ほど時間に余裕があり、その間に機械学習の勉強を一通り終わらせたいと考えましたが、予想外に機械学習のために学ぶべき範囲は広いことを知りました。
とても1ヶ月では深く理解できない内容も多いため、今後また学び直せるようにロードマップを作成しました。
前提
- 高校では数学を2Bまでしっかり勉強した
- 大学は経済学部で、微分積分や線形代数、統計学の科目の単位を得た(授業にほぼ出ていず、記憶も定着していない)
- プログラミングはPythonは未経験だが、多言語(Ruby, JavaScript)の業務経験がある
機械学習で学ぶべきこと
機械学習を使うにあたり必要なことは、(個人的な)優先度が高い順に下記のとおりです。
これらは大きく分けて、実践的な分野と理論的な分野に分けることができます。 私はモチベーションを保つために、まず実践を重視し、わからない理論が出てきたら都度理論を確認するという進め方をしています。要は、手を動かしながら学んでいくスタイルが好きです。
次に、それぞれの分野でどのようなことを意識し、「何をどのように学習すべきか」見ていきます。
Step0. Python
機械学習で使うPythonの文法は基本的なものが多いため、機械学習を学びながら自然に身につけられます。 多言語でのプログラミング経験があれば、Pythonの特別な勉強は必要なさそうです。
Step1. 機械学習
学ぶべきこと - データ分析ライブラリ(numpy, pandas, matplotlib) - 機械学習ライブラリ(scikit-learn) - 特徴量エンジニアリング - アルゴリズム選定 & モデル構築 - 検証(バリデーション)
学習教材 www.udemy.com
Step2. ドメイン
個人や仕事でどのドメインを扱うかにより学習内容は異なりますが、私の場合金融領域に興味があります。 ドメイン固有の知識を学ぶことが目的ではありますが、機械学習と合わせて学べるとより実践力を高められます。
学習教材
Step3. 統計学
統計学の基本は一通り抑えていく必要があります。分析手法によってはより高度な内容も知る必要がありそうですが、まずは基本のみ。
学ぶべきこと - 分散 - 標準偏差 - 正規分布 - t検定 - カイ二乗検定 - 回帰分析
学習教材
Step4. 数学
高校数学は知っておいたほうが良いですが、すべての範囲が必要というわけではありません。 機械学習に必要な数学のみを学習するのが効率的です。また、教科書的な説明で理解が難しい内容は、動画や講義形式の書籍を利用して、躓くことなく理解を進めていくことが必要です。
学ぶべきこと - 微分・積分 - ベクトル - 行列 - 線形代数 - 確率
学習教材 www.udemy.com
参考
- 【2020年版・初心者向け】独学でAIエンジニアになりたい人向けのオススメの勉強方法 - Qiita
- 文系エンジニアが機械学習に入門するために小学校の算数から高校数学までを一気に復習してみました。 - Qiita
- 機械学習/ディープラーニングの「数学」が学べるオススメ本:AI・機械学習の独学リソース - @IT
最後に
学習半ばですので、随時アップデートしていきます。