はじめに
この記事は、「なんとなく機械学習に興味がわいた」という安直な理由で、業務に一切使わないけどそのお勉強をし始めたおじさんのお勉強ノートである。
それ以上でも、それ以下でもないのである。
そもそも機械学習とは
まずはじめに、機械学習という言葉の定義について確認してみようと思う。
ググってみるとこんな説明が出てきた。
機械学習とは、データを分析する方法の1つで、データから、「機械」(コンピューター)が自動で「学習」し、データの背景にあるルールやパターンを発見する方法。近年では、学習した成果に基づいて「予測・判断」することが重視されるようになった。
機械学習|用語解説|野村総合研究所(NRI)
少々言葉を変えて要素分解してみると、以下のようになる。
機械学習とは---
1.データ分析手法の一つ
2.過去のデータから「機械」(=コンピューター)が「学習」し、__データ__の__ルール__や__パターン__を発見する方法
3.近年のトレンドとして、「2.」で得られた__ルール__や__パターン__を使用して、「予測・判断」することが重要視されている
つまり、コンピューターさんを使って__データ__から__ルール__や__パターン__を導き出して、人間様の__未来予測__や__将来の判断__に役立てるためのデータ分析手法と説明することができる。
機械学習はどうやってやるの?
じゃあ、そのルールやパターンとやらはどうやって導き出すのか?
大きな分類として以下の3つに分けられるとのこと
・教師あり学習
・教師なし学習
・強化学習
では、それぞれについて詳しく見ていこうと思う。
教師とは?
まず、「教師とは何ぞや?」という疑問が湧いてくる。
教師というのは、いわゆる「答え」のことである。
この「答え」のことを機械学習では『ラベル』と呼ぶ。
そうなると次に、「じゃあ『ラベル』って何のこと?」という疑問が湧いてくる。
これは即ち、「予測対象の実際の結果」である。
例えば、前の日の気温や気圧などから翌日の天気が知りたいとなった場合、『ラベル』は翌日の天気(晴れ、曇り、雨など)になる。
気温が知りたいとなれば翌日の気温、気圧が知りたいとなれば翌日の気圧が『ラベル』になる。
つまり、教師あり学習は『ラベル』が__ある__状態で、教師なし学習は『ラベル』が__無い__状態でコンピューターさんがルールやパターンを見つけ出す手法のことだとわかる。
以上を踏まえて、教師あり学習と教師なし学習それぞれについてより詳しくみていこう。
教師あり学習
上にも書いたように、教師あり学習というのは予測対象である『ラベル』と同じ結果になることを目指してコンピューターさんがルールやパターンを導き出す方法のことである。
教師あり学習が利用される場面としては、天気の予測やコンビニなどの売上予測、競馬の予想AIなんかもこれにあてはまるのだろう。
何か一つ「これが知りたい!」というものがある場合、この手法を取ることが有効と思われる。
教師なし学習
繰り返しになってしまうが、教師なし学習というのは、予測対象である『ラベル』が無い状態でコンピューターさんがルールやパターンを導き出す方法のことである。
教師なし学習が使われる場面としては、顧客分析(ネットショッピングのレコメンドなど)、画像認識などである。
いわゆる、パターン認識などざっくりとグループ分けをしたい場合に使用される。
以上、教師あり・なし学習についてそれぞれ見てきたが、それぞれ共通していたのは学習するために必要なデータを事前に用意する必要があった点である。
これは機械学習をするうえでとても大きなハードルなわけだが、データを事前に用意する必要のない学習方法もある。強化学習と呼ばれるものである。
強化学習
強化学習とは、システム自身が試行錯誤しながら、精度を高めていく学習法である。
イメージを掴むにあたり、以下の動画が非常にわかりやすいので、ぜひご覧いただきたい。
つまり、マリオが最短でゴールするためにどのような操作をするのが最適であるかを、システム自身が失敗と成功を繰り返しながら、精度を「強化」させていく手法というわけである。
ロボットの歩行であったり、将棋や囲碁など、限られた操作方法(コマンド)しかない場合などに有効な手法である。
自動運転について
これまで学んだ内容を踏まえて、最近話題の自動運転にはどの技術がどのように使用されているのだろうか?
例えば、以下のようなことが考えられる。
・渋滞予測などを使用した目的地までのルート探索(教師あり学習)
・信号、歩行者、道路などの画像認識(教師なし学習)
・アクセル、ブレーキ、ハンドル操作などの運転技術(強化学習)
自動運転に使われる機械学習と一言にいっても、それぞれの用途によって使用される技術が違うことがよくわかる。
TO BE CONTINUED...