初心者が機械学習をどのように学んでいくべきかについて簡単にお話しようと思います。
結論から言うとまずはライブラリを使って実際のデータで遊んでみる!です。
これから詳しくお話していこうと思います。
対象者
まず本記事の対象者ですが、
対象なりともプログラミングをしたことがあって、これから機械学習をしていきたい人を対象としています。
もしプログラミングもしたことがない人は以下の記事を参考にして学んでみてください。
学び方
まず最初に
まずは機械学習の中でも何を学びたいかを決定すべきです。
機械学習といっても非常に様々な分野があります。
例えば、教師あり学習、教師なし学習、強化学習、ディープラーニング等の様々な分野があります。
その中で今自分は何を学びたいかをまずは理解する必要があります。
を見てもらっても良いですし、
もしくは以下のような本を参照するのも良いと思います。
上記の本はかなり丁寧に機械学習周辺のことを説明してくれています。
なので、まずは「教師あり学習、教師なし学習、強化学習、ディープラーニング」が
それぞれどのようなものなのか簡単に理解することが重要になります。
そしてその後に学びたいことをある程度深く学んでいくべきと思います。
プログラミングをしながら理解していく
何を学ぶべきかをわかったら、その分野のもっともシンプルな問題を実際に実装することが大事になります。
理論より先に各アルゴリズムによって何ができるかを理解していきましょう。
これはすでにあるライブラリを用いてパッと実装してしまい動きを見てみることが良いと思います。
ライブラリで言えば、
- scikit-learn:機械学習全般を扱うライブラリ
- Keras: ニューラルネットワーク用のライブラリ
- PyTorch: ニューラルネットワーク用のライブラリ
などがあります。
そこからパラメーターを代えたりしながらどのようなアルゴリズムかを理解していきましょう。
アルゴリズムの理解
何ができるかを理解したら、そのアルゴリズムは具体的にどのような手順なのかを紙とペンを使いながら理解します。
どのような手順によってそのアルゴリズムが動いているかを理解していきましょう。
そして余力があれば、実際にそのアルゴリズムを実装することをオススメします。
実装できるぐらいに理解すれば、十分そのアルゴリズムを理解したと言えると思います。
終わりに
今回は簡単に機械学習の学び方を紹介しました。
書いてみて思ったのですが、これは機械学習に限定された学び方ではないような気がします(笑)
最近自分も機械学習について学んでいなかったので、これを期に新しい分野について学んでいこうと思います。