機械学習やAIは、最近すっかり浸透してきており、もはや大学の研究を行っている人だけが使うというものではなくなってきました。
機械学習の浸透は、より加速していきます。
機械学習エンジニアやデータサイエンティストはもちろんのこと、それ以外のビジネス側で企画する人なども機械学習を知る必要がある場面も増えていくことでしょう。
本記事では、機械学習を身につけて、今後の機械学習が浸透した世界で活躍したいという人のために、初心者から機械学習を使いこなせる人材になるまでの勉強方法をご紹介します。
機械学習は、数式が多く出てくるイメージがあり、初心者は挫折しやすいと思いますので、できる限り段階を踏んで最初は数学が理解できなくても学べるような勉強方法にしました。
是非参考にしてみてください。
目次
機械学習とは
いきなり勉強方法を説明する前に、まずはそもそも機械学習とは何なのかというところから説明していきます。
機械学習とは、突き詰めていけば、単なる数値の計算です。
データから変換した特徴量を元に作られた、数値ベクトルを処理する関数を決める方法です。
どういうこと?という人も多いかと思うので、もう少し平たくいうと、データからルールや規則の発見や、様々な事象の予測や行動の決定を行う方法です。
例えば、洋服屋にくるユーザがメンズのSサイズの服を買うかどうかを判別したいという例で説明します。
このときユーザの情報は、年齢、性別、身長があったとします。
このときに、性別が男性で身長が低いユーザほどメンズのSサイズの服を買いやすいという結果を数学的に見つけ出すのが機械学習です。
表でまとめると、以下の表の「ルールや規則」と「予測や行動の決定」の部分を機械学習は見つけ出してくれます。
データ | 年齢、性別、身長 |
ルールや規則 | 男性、身長が低いユーザほどメンズのSサイズの服を買いやすい |
予測や行動の決定 | メンズのSサイズの服を買う確率 |
では、機械学習にはどんな種類があるのでしょう?
機械学習は大きく分けると下の三つの種類があります。
- 教師なし機械学習
- 教師あり機械学習
- 強化学習
詳しいことは、また別記事で説明しようと思いますが、この中で初心者が最も学ぶべきものは、教師あり機械学習です。
教師あり機械学習のいいところは、まずイメージがしやすいというところと、実際のビジネスの場で多く使われているというところです。
他の教師なし機械学習や、強化学習ももちろん実際に使われてはいるのですが、教師あり機械学習と比べると汎用性が低いです。
そのため、今回は教師あり機械学習に重点を置いて勉強方法を解説していきます。
機械学習を勉強するメリット
機械学習を勉強するメリットは、以下の3つです。
- 機械学習で何ができて、何ができないのかがわかる。
- 提案の幅が広がる
- 面白いアプリケーションを自分で作れるようになる
順番に説明していきます。
機械学習で何ができて、何ができないのかがわかる
機械学習で何ができるのか。そして、何ができないのかということを理解することはとても重要です。
これが分かれば、機械学習を身近なものとして捉えることができますし、ひょっとしてここにも機械学習が適応できるんじゃないかという発想も湧いてきます。
実際の仕事や自分のアプリケーションに機械学習を導入しようという気持ちが芽生えます。
機械学習は使うだけであれば、思っているほど難しい技術ではありません。
最新の機械学習を用いなくても、さくっと作ったものが既存の方法よりも高い性能を発揮するということもあります。
ですので、何に機械学習を適用できるのかを知って、まずはやってみようという気持ちを芽生えるということは、とても価値のあることなのです。
提案の幅が広がる
機械学習を知ることで提案する幅が広がります。
機械学習は何でもできるというわけではありませんが、データがちゃんとあれば思ったより多くのことができます。
そのため、「機械学習を使う」という選択肢を持つということは、必然的に提案する幅が広がるということに繋がります。
最近では、学校教育でプログラミングを勉強するという流れもできてきているので、機械学習を当たり前として理解している未来の下の世代の提案を聞き入れるためにも、機械学習の理解はしておきたいですね。
面白いアプリケーションが自分で作れるようになる
機械学習を使ったアプリケーションはどんどん作られていっています。
最近では、競馬AIや人狼ゲームAIなど、面白そうな機械学習も出てきています。
こういった最新技術が出てきたときに、機械学習の基礎を知っていると自分でも作ってみようとなります。
何だか難しそうだなと思ったとしても、機械学習を勉強している人からすれば、やっていることはそんなに難しいことじゃなかったりします。
面白そうな機械学習を自分で作ってみることができるということは、とても価値があることですね。
機械学習の勉強の必須項目
機械学習を初心者が学ぶのであれば、まず教師あり機械学習を学びましょう。
理由は、イメージがしやすいからと、実際のビジネスの場で多く使われているからです。
その中でも、まず最初に最低限知って欲しい項目を以下に紹介します。
- 回帰と分類
- pythonの基本的な使い方
- pythonの機械学習ライブラリ
- ニューラルネットワーク
- 決定木
上記を選んだ理由はシンプルで、上記が分かればまずは、自分でpython上で機械学習を実行することができるからです。
機械学習を学ぶ上で重要なことは、挫折しないことです。
いきなり、勉強をしようとしても大抵の人は数式の羅列をみて諦めます。
そのため、まずは自分で機械学習を体感してみて、そのあとで理論や数式を学ぶことを強くお勧めしたいです。
そして、その最初のステップとしての機械学習を体感するフェーズで必要なのが上記の5項目となっています。
上記の5項目を学んでいくステップは、ちゃんと解説していきますので安心してください。
もちろん、その後に理論や数式については、何を勉強すればいいかも本記事では解説します。
機械学習の勉強方法
機械学習の勉強方法は、以下の5STEPに分かれます。
- はじめてのAIの講座で概要を掴む
- 機械学習の現状を知る
- pythonを使って簡単な機械学習の実装をしてみる
- データ分析コンペに出て実際に使ってみる
- 機械学習を本で学ぶ
1~4が機械学習の必須項目で説明した5項目を学ぶためのSTEPで、5が理論や数式を学ぶステップとなっております。
順番に説明していきます。
はじめてのAIの講座で概要を掴む
まずは、あのGoogleが提供している「はじめてのAI」という動画講座で機械学習の基本的な部分を知りましょう。
この「はじめてのAI」という講座は、先ほどの必須項目のうち主に以下の二つを知ることができます。
- 回帰と分類
- ニューラルネットワーク
この講座は、私も実際に受けてみたのですが、機械学習を視覚的に解説してくれるので、初心者でもとても理解しやすい講座であると感じました。
さすが天下のGoogleさんですね!
こちらは無料でみることができて、かつ内容も1時間ほどなのでぜひ一度見てみましょう。
以下記事で講座の概要と講座を見るまでの手順が書いてあるので、詳しく知りたい方は参考にしてください。
Googleが提供するはじめてのAIの講座で機械学習を勉強する
機械学習の現状を知る
「はじめてのAI」をみて、何となくの視覚的イメージがついたら、次は機械学習がどこまでできるのか、そしてどういった方法があるのかということを学びましょう。
このフェーズでは、必須項目のうち以下の3つを学ぶことができます。
- 回帰と分類
- ニューラルネットワーク
- 決定木
このフェーズではある程度網羅性が欲しいので、本で学ぶことをお勧めします。
私が自信を持ってお勧めするのが以下「人工知能は人間を超えるか」という本です。
こちらの本は、松尾豊という東京大学の教授が書いている本です。
東京大学の松尾教授といえば、機械学習界では知らない人はいないというぐらい有名な方です。
そんな松尾教授がこれでもかというぐらい分かりやすく、かつ数式を使わずに機械学習について解説している本です。
機械学習を知っている人には、当たり前の内容なのであまり読まなくても良いと思いますが、初心者で機械学習をほとんど知らないという人は、必ず読むべき本だと思います。
pythonを使って簡単な機械学習の実装をしてみる
ここまでくれば、機械学習が何なのかのイメージはついているはずです。
ですので、このステップでは、数式などの難しいことを学ぶ前に実際に機械学習を動かしてみましょう。
機械学習を動かすには、「python」という言語を使います。
pythonって何?という方は以下記事で解説しているので参考にしてください。
このpythonを使って、簡単な機械学習を実装してみましょう。
おすすめは、「irisデータセット 機械学習」と検索して、花の種類を分類する機械学習を実装してみることです。
※こちらについては後日具体的なやり方を書いた記事を書くつもりです。
この、irisデータセットは、機械学習を学んだ誰もが触る有名なデータセットです。
しっかりとしたデータセットなので是非触ってみてください。
簡単な実装方法が分かれば良いので、上のirisデータセットを触るだけで良いと思いますが、
もっと色々実装したいという方に向けて、以下の本もお勧めしておきます。
こちらの本は実際のコードとともに機械学習を解説してくれている本です。
絶対やる必要があるわけではないと思っているので、やる気のある方は是非試してみてください。
データ分析コンペに出て実際に使ってみる
ここまでくると実際に機械学習を使えるぞという感覚になっているはずです。
もっと実践的な使い方を勉強するために、データ分析コンペに出てみましょう。
データ分析コンペとは、あるものを予測、分類する課題に対して、機械学習などを用いて解決し、その精度を競う大会のことです。
基本的にオフラインで開催され、コンペによっては賞金も出ます。
このコンペでは、精度がスコアとしてすぐにみることができるため、自分が何をしたときに精度が良くなったかということがわかり、より実践的に機械学習を実感できます。
また、ここでのスコアをあげたいと思うので、機械学習を本格的に勉強するモチベーションも湧いてきます。
賞金も出ますし、やらない手はないですね。
コンペでは、他の人がどんな方法やコードで高い精度を出したのかがわかるため、何が自分に足りてないのかも知ることができます。
楽しく技術を学んでいけるので、このステップは是非やってみてください。
実際にどんなデータ分析コンペがあるのか気になった方は、以下記事を参考にしてください。
機械学習を本で学ぶ
ここまでくれば、ある程度機械学習を学びたいという意欲が湧いているはずです。
また、データ分析コンペで得た断片的な知見により、数学的なアプローチを学ぶハードルも下がっているのではないでしょうか?
ここで初めて数式的アプローチを使った機械学習を学んでいきたいと思います。
機械学習を数式を用いて学ぶには、現状本が一番手っ取り早いです。
分厚い辞書のようなものを一冊買って、熟読することをお勧めします。
辞書なんて挫折しそう。。。という方は安心してください。
ここまでのステップを踏んだ状態だと、本を読んでも半分ぐらいは知っていることが出てきます。
残りの半分の知らないことを読みながら理解していくという流れになるため、想像よりかは辛い思いをせずに読めると思います。
ここで勉強する際にお勧めの本は、以下の本です。
この本は、コードと図と数式をフルに活用して機械学習を解説してくれているので、機械学習を深く学ぶことができます。
この本を一冊マスターすれば、あとはどの本を読んでも基本的には理解できるようになっています。
ここまでくれば、あなたも機械学習初心者から脱していると名乗ることができます。
まとめ
今回は、機械学習の初心者が機械学習を数式的に理解できるまでの、勉強方法をお伝えしました。
数式という高いハードルに挫折しないように、できるだけ実践から入ってモチベーションを保ちながらできる勉強方法にさせていただきました。
決して短い道のりではないと思いますが、今後の社会でより必要になってくるであろう機械学習について、一人でも多くの人がわかるぞ!と思えるような状態になることができれば嬉しいです!
本での勉強はハードルが高いという方は、オンライン動画学習のUdemyでの勉強がコスパが良くおすすめです。
以下記事でまとめてるので、勉強したいという方はぜひ読んでみてください。