機械学習とは?具体的な手法や仕組みを誰でもわかりやすく解説!!

AIとセットで結構出てくるのが『機械学習』。

この『機械学習』、どんなものか知っていますか?

じつは一言に『機械学習』といっても様々な手法があるのです。

今回は機械学習についてわかりやすく説明します!

機械学習とは?

機械学習とは『コンピューターが大量のデータの中から法則性を見つけて学習する統計的な技術』です。

この法則性というものは特徴量と呼ばれていて、AIはこの特徴量から様々な予測や分類をします。

もう少しカッコよく言うと、機械学習では学習推論という2つの過程で成り立ってます。

人間が用意した大量のデータをAIが読み取り法則性(特徴量)を学ぶことを学習、その法則性を使ってAIが未知のデータを予測することを推論と呼びます。

👆学習と推論のイメージ図。ざ~っくりいうとこんな感じです。

機械学習の手法

さて、機械学習についてある程度のイメージはついたかと思います。

機械学習は『どのような問題を解決するか』によって手法が異なります。

手法は大きくこの3つに分けることができます。

  • 教師あり学習
  • 教師なし学習
  • 強化学習

詳しく見てみましょうか。

教師あり学習

教師あり学習は『学習の際にデータと正解ラベル(データに対しての回答)のあるデータをコンピュータを学習させ、法則性や特徴を見つける手法』のことです。

わかりやすく言うと、『答えを見て覚えながら、法則性を学んでいく手法』です。

例えると、計算問題を解いたら答えを見て答え合わせをして計算方法を覚えるイメージ…。

私たちが勉強する方法と似ていますネ。

どんなところで使われているかというと…

  • 降水量から傘の売り上げを予測する
  • 動物の画像から動物の種類を識別する

などに使われています。

具体的にどんなことをしているのかを解説しますね。

例えば、先ほど出てきた『動物の種類を識別する』もの。

これは学習にたくさんの動物の写真を用意しています。

これを『入力データ』と言います。

そしてその画像の1枚1枚対応した何の動物なのか書いてある別のデータ、『正解ラベルも用意しているのです。

この入力データと正解ラベルをセットにした『教師データをコンピューターは時間をかけて学習し、法則性を学びます。

そして学んだ法則性を基に予測したい画像からなんの動物かを当てることができるのです。

つまり…

教師あり学習を行うためには『入力データ』だけではなく、その入力に対応した答えである『教師データ』をコンピュータに大量に渡すことでコンピュータは『入力から答えを予測するための法則』を探すことができる、というコトです。

具体的な手法については今回は割愛させていただきます。

わかりやすく説明するととんでもなく長くなるので…ユルシテ。

実はこの『教師あり学習』、さらに2種類に分けることができます。

それが『分類問題』と『回帰問題』です。

先ほどの具体的な手法で分けると 『動物の画像から動物の種類を識別する』のが分類問題、『降水量から傘の売り上げを予測する』のが回帰問題です。

なにが違うんだ! というと…

学習するデータの種類(傾向)が違います。

『動物の種類を識別する』方は動物ごとに名前で分けられていて、

『このデータはこの動物!』『あのデータはあの動物!』とまとめて1つのデータでも種類ごとに区切られているのです。(ここでいうデータの動物の種類のことを離散値と呼びます。)

分類問題は主にこの離散値を取り扱います。

データがどのグループに属しているかを判別するのが分類問題ができることです。

一方、『降水量から売上を予測する』方はその時の降水量と売り上げで分けられています。

この降水量と売り上げのデータから、『この降水量の時は大体これくらい売れるかも…』ある程度予測ができるのです。(ここでいう売り上げを連続値と呼びます。)

回帰問題は主にこの連続値を取り扱います。

データが具体的にどれ位の数値になるかを詳しく予測できるのが回帰問題ができることです。

今はこれだけ覚えておけば100点です。

も~っとおおざっぱに言うと、『はい』『いいえ』で答えられたり、『どれに当てはまるかを』予測できるのが分類問題、具体的な数値を予測できるのが回帰問題って感じです。

めちゃくちゃ雑に言うと、ですけどね。

教師なし学習

データと正解ラベルをセットで学習させる教師あり学習に対して、教師なし学習の方では正解ラベル付きのデータを準備しません。

『答えもなしにどうやって学習するんだ?』と思うかもしれませんが、教師なし学習の方ではコンピューターが規則性や特徴を見つけ似ているものをグループで分けるのです。

例えると、色も形も違う積み木を『じゃあ仲間で分けて~』と言われたときに、どういう基準で分けるかを考えて分ける…感じかな?

教師なし学習はこんな所で使われています。

  • 過去に自分が買った商品から自分にあったおすすめ商品を表示する
  • 気象データから商品の売り上げを予測する

仕組みを見てみましょう。

教師なし学習も学習に大量の学習用データを用意します。

この大量のデータの中からグループの基準となる基準点をコンピュータがランダムに設定します。

この『基準点』はコンピュータが勝手に決めるものなので学習結果の解釈が難しかったり、学習する際に毎回結果が変わったりします。

なので、人間が『こんな感じで分けてほしい!』といってもできないのです。

さて、基準となる点が決まったらコンピュータは基準点ではないほかのデータがどの基準点に一番似ているかを判別し、グループに分けます。

特徴が似ているもの同士で分類することをクラスタリングといいます。

このクラスタリングは教師なし学習で最もメジャーな手法です。

強化学習

強化学習はかなり特殊な手法です。

教師あり学習・教師なし学習はどちらも学習用のデータを読み込んで法則性を学習していますが…

強化学習は『最も報酬が高くなるにはどんな行動をとればいいのか』を学習しています。

かみ砕いて言うと、目的を達成するためにどんな選択をすればいいのかを考えるのが強化学習です。

強化学習は近年機械学習の手法として加わり、注目されています。

例としては以下の通りです。

  • プロの人間に勝てる囲碁のAI
  • 自動運転の仕組み

皆さんも結構見聞きしたものがあるのではないでしょうか?

強化学習はエージェント環境に分かれています。

アクションゲームで例えるとエージェントは『プレイヤー』、環境は『ステージ』です。

私たちはゲーム画面を見て、『あぁ、この赤い旗のところまでいけばいいんだな』とわかりますが、コンピュータはそんなこと知る由もありません。

所詮は人間が決めたルールだからです。

なのでコンピューターが分かるようにルールを決めました。

  • 穴に落ちたらダメ
  • 敵に当たったらダメ
  • 赤い旗に向かって進むといい

人間的にはこの『赤い旗に向かって進む』行動をしてほしいワケですね。

なので赤い旗に近づくたびに得点(報酬と言います)をあげ、『ダメな行動』をしたときに減点することにしました。

するとコンピュータは自身(エージェント)が置かれている環境がどんな状況かをみて、どうするべきか行動を選択します。

コンピュータが行動するともちろん置かれている環境も変わるので、またどうするかを選択する…という行動が続きます。

そしてこの『行動』を選択した際にその行動がに応じて報酬が与えられ、コンピュータは学習します。

こうすることでコンピュータは何度も何度も行動を繰り返して、得点が高くなるように行動していく…というのが強化学習です。

ざっと言うと、コンピュータは勝ち負けやルールを『ハイ、覚えてね。』と言われても理解することはできませんが、『これやったら加点!これやったら減点!!』と数値化して、『じゃあ高得点取れるようにかんばってね~』とすれば、学習してくれるワケです。

つまり、やってほしいこと・ダメなことを数値化してなるべく高い点数(報酬)を取れるようにするのが強化学習の仕組みということですネ。

強化学習って機械学習の主な手法として取り扱われますが、個人的にはディープラーニングなのでは…?と思っています。

なんでこいつもセットなんだろう…

ディープラーニングは機械学習の1種ではあるけども…

まとめ

今回は機械学習の具体的な手法と仕組みについてざっくり解説しました。

今回のまとめ
  • 機械学習はコンピュータが大量のデータから法則性を見つけて学習する統計的な手法のこと
  • 機械学習は『学習』と『推論』、2つのプロセスで成り立っている。
  • 機械学習には『教師あり学習』、『教師なし学習』、『強化学習』など様々な手法がある

『機械学習って大体こんな感じで動いてるんだな~』がなんとなく理解できたでしょうか?

機械学習の詳しい手法についてはまた今度詳しく解説させていただきます。

数学とかバチボコに関わってくるので…