教師あり学習と教師なし学習と強化学習の違いをわかりやすく解説!


今回は、機械学習の3手法の「教師あり学習」「教師なし学習」「強化学習」の分類について解説していこうと思います。
教師あり学習と教師なし学習は、はっきり違いがわかりそうですが、強化学習とはいったい何なのでしょうか?
- 「教師あり学習」「教師なし学習」「強化学習」の違い
- 教師あり学習の簡単な解説
- 教師なし学習の簡単な解説
- 強化学習の簡単な解説
それでは見ていきましょう。
教師あり学習と教師なし学習と強化学習の違いとは?
先に、教師あり学習・教師なし学習・強化学習をざっくりと説明すると、
教師あり学習 | 正解ラベルの付いたデータを学習する |
教師なし学習 | 正解ラベルのないデータを学習(分析)する |
強化学習 | 現在の状況から将来的に一番価値のある行動を選択するように学習する |
といった感じです。
それぞれ、学習させる方法が明確に違います。
まず、教師あり学習と教師なし学習は、
正解ラベルの付いたデータを学習させるのかさせないのかの違いがあります。
教師あり学習は、正解ラベルの付いたデータを学習させる、
「人間がAIに教える」パターンです。
その学習工程において、人間が意図した出力をAIが出せるように調整します。
一方、教師なし学習は、正解ラベルの付いたデータが必要ありません。
AIがデータを、いくつかの似ているもののグループに分けたり、重要な情報を見つけ出したりします。
つまり、「AIが人間に気づかせてくれる」パターンといってもよいかもしれません。
実際、人間が見つけられないような隠れた本質的な部分をAIは見つけ出してくれます。
なので、分析・マーケティングの分野で多く用いられています。
そして、強化学習は、少し異色の存在です。
その学習方法は、「報酬」によって説明され、より多くの報酬を得られるような行動をAIが学習していきます。
教師あり学習(Supervised Learning)とは?
教師あり学習とは、その名の通り「教師データのある学習方法」です。
簡単に言えば、あらかじめ正解がわかっているデータを学習させる方法です。
つまり、「こういうデータが与えられたときはこういう出力をしなさいね」ということをAIに教え込んでいくのです。
そうすると、教えられたデータと特徴量の似ているデータなどは、結果的に同じ出力するように学習します。
学習がうまくいっていれば、意図した解答を返してくれるでしょう。

学習→予測の流れでモデルを構築していきます。
教師あり学習の流れ①:学習
教師あり学習は、まず初めに大量の学習用データを用意します。
そして、データにはそのデータの正解ラベルがついています。
例えば、猫の画像データには「猫」というラベルがつけられていて、猫ではない画像には「猫ではない」というラベルがつけられています。
その正解ラベルの付いたデータを大量に学習させます。
学習が終われば、正解ラベルのない画像も判断できるようになります。
それが次の予測段階です。
教師あり学習の流れ②:予測
十分な学習を終えると、正解ラベルのない新しい入力データに対して解答を出すことができるようになります。
さっきの例でいえば、新しい画像を与えたとき、それが猫であるか猫でないかをコンピュータが判別できるようになるってことです。
つまり、コンピュータが人間と同じように、なにかものを認識できるようになる技術ってことですね。
教師なし学習(Unsupervised Learning)とは?
教師なし学習とは、その名の通り「教師データのない学習方法」です。
教師データとは、先ほども書きましたが、あらかじめ正解がわかっている学習用のデータです。
教師なし学習ではその教師データがありません。
かっこよく言えば、教師がいない生徒が自力で一つの答えにたどり着くのです。
人間から見て「これは気づかなかった」「こんな発見が・・・」ということがあるので、分析面で重宝されます。

教師なし学習の例①:クラスタリング
教師なし学習で一番わかりやすいと思うのが「クラスタリング」と呼ばれる手法です。
日本語に訳せば「分類」という意味です。
クラスタリングとは、簡単言えば、
「特徴の似ている者同士でグループを作り、いくつかのグループに分けること」を言います。
人間が、直感的に「あ、これとこれ似てる!」っていうのと同じイメージです。

クラスタリングでは、どれだけ特徴が似ているかを分析して、似ている者同士でグループを作ります。
ある程度いい感じになる、または、指定したグループ数になるなどで分類が終了します。
このような分類は、正解ラベルがなくてもできます。
なぜなら、特徴量が似ている者同士を同じグループにすればよいだけだからです。
これが教師なし学習と呼ばれる所以です。
クラスタリングは、マーケティングの分野で使われることがあります。
例えば、クラスタリングの結果、「タバコ」と「ライター」が同じグループになったとします。
つまり、「ターゲット層が似ている」「一緒に買われやすい」というデータが出たということです。
そうであれば、「タバコ」の近くに「ライター」をおいておけば購入してくれるお客さんがもっと増えるかもしれませんよね。
ここで面白いのが、その商品Aと商品Bは人間から見て全く関係ないようなものに見えることがあることです。
例えば、「おむつ」と「ビール」に関連性があることは想像できたでしょうか?
「米国の大手スーパーマーケット・チェーンで販売データを分析した結果、顧客はおむつとビールを一緒に買う傾向があることが分かった。調査の結果、子供のいる家庭では母親はかさばる紙おむつを買うように父親に頼み、店に来た父親はついでに缶ビールを購入していた。そこでこの2つを並べて陳列したところ、売り上げが上昇した」
引用:https://www.itmedia.co.jp/im/articles/0504/18/news086.html
このように、一見関係がなさそうなものでも、AIは同じグループだと判断することもあります。
教師なし学習は、人間の先入観などがないため、人間があっと驚くような発見ができるというのも特徴的です。
教師なし学習の例②:主成分分析・次元削減
主成分分析とは、その名の通り、「主成分の分析」です。
もっとかみ砕いて言えば、
「いろんな情報がある中から重要な情報だけを抜き取る」
という統計学を使った技術です。

ってことです。
例えば、5人の生徒を対象に「国語」「数学」「理科」「社会」の4教科のテストを実施したとします。
国語 | 数学 | 理科 | 社会 | 総合得点 | |
---|---|---|---|---|---|
Aさん | 63 | 80 | 82 | 42 | 267 |
Bさん | 65 | 100 | 98 | 60 | 323 |
Cさん | 96 | 45 | 50 | 95 | 286 |
Dさん | 83 | 79 | 81 | 76 | 319 |
Eさん | 95 | 98 | 89 | 94 | 376 |
いろんな項目あって、なんかパッとしないっていうか。
見るの疲れますよね。
なのでこうしちゃいます!
理系度 | 総合得点 | |
---|---|---|
Aさん | 20 | 267 |
Bさん | 30 | 323 |
Cさん | -40 | 286 |
Dさん | 1 | 319 |
Eさん | -1 | 376 |
こうすれば、良くも悪くもデータがすっきりしましたね。
これは、
- 国語の点数が高い人は、社会の点数も高い
- 数学の点数が高い人は、理科の点数も高い
っていうデータが出ているので、なんかもうまとめちゃおうねっていうことです。
このように、実際のデータから、核となる「主成分」を抜き取る処理を「主成分分析」といいます。
今回の主成分は、「総合得点」「理系度」の二つにまで絞ることができました。
主成分分析を使えば、データ項目を減らして考えること(次元削減)ができるので、データ分析の分野で多く使われています。

強化学習(Reinforcement Learning)とは?
囲碁のAIであるAlphaGoで用いられていることでも有名な「強化学習」は、教師あり学習でもない、教師なし学習でもない「異色の存在」といえるでしょう。
強化学習とは、
今置かれている状況から、何が将来的に価値のある行動なのかを学習する方法です。
人間にもこの機能は備わっています。
例えば、初めて自転車に乗ったときは、乗り方がわからずすぐに倒れてしまいます。
しばらくすると、何回も試行錯誤しているうちに、少しの間だけ乗れるようになってきます。
そうすると、
- こうやって足を動かせば、長く乗れた。
- こんな感じの姿勢だと、長く乗れたな。
だとか、自分でいろいろ試すうちに長く乗れるような体の動かし方がわかってくるのです。
この「自転車に長く乗っていられる行動」っていうのが、「将来的に価値のある行動」であり、そのような行動を模索していくという学習方法になります。
強化学習の考え方とは?将来的な価値?
例えば、将来的な価値が「お金を稼ぐこと」だった場合、
「アルバイトをしてお金を稼ぎ続けること」
「ビジネス本を読みまくって実践すること」
この二つの選択肢はどちらのほうがいいと思いますか?
明らかに後者の「ビジネス本を読みまくって実践すること」のほうが良いと思いませんか?
これは、「将来的にお金が稼げる可能性が高い」から良いのですね。
この考えが強化学習の学習方法に近いです。
ほかにも、先に1000万km先の目的地に着いたほうが勝ちだった場合。
「いち早く目的地に近づくべきと思って走り出す」
「バイクの免許を取りに行き、後から追い上げる」
どちらが勝つでしょうか?
これも「将来的にバイクに乗ったほうが早くつく」ので後者でしょう。
このように、
「現在からみて将来的に価値のある行動をしよう!」
というのが強化学習の考えです。
強化学習における「報酬」と「罰」
囲碁や将棋は強化学習にもってこいです。
素人目には、囲碁や将棋の一手一手の選択が
「将来的に勝ちにつながる一手」なのか「負けにつながる一手」なのかはよくわかりません。
AIも最初は同じなので、実際にプレイして、すぐに負けるんだったらその指し方はあまりよくない、勝てるんだったらその指し方が良いと判断していくことになります。
これも自転車の例と同じです。
結果からフィードバックして、よりよい選択をするようにAIを強化していくんですね。
このフィードバックが「報酬」と「罰」になります。
いい結果を残せば「報酬」を与えます。
逆に悪い結果ならば「罰」を与えます。(もしくは報酬を与えないということもできる)
そうすることで、人間と同じく、将来的により多くの報酬がもらえるように選択し行動していくAIを作り出すことができます。
テトリスも同じです。
テトリスは、ゲームオーバーにならないように低く低く地形を保ちながらゲームをプレイする必要があります。
ですが、スコアを稼ぐためには、4ライン同時消しが必要になってきます。
4ライン消しを行うたびに報酬を与えたり、1,2,3ライン消しで罰を与えたり、高くなってきたらさらに罰を与えたりして学習を進めていくこともできます。
強化学習では、このように、今与えられるものではなく、将来的な価値を重要視する学習方法です。

教師あり学習と教師なし学習と強化学習の違いまとめ
機械学習の中でも、教師あり学習・教師なし学習・強化学習と3つの種類があります。
それぞれ、AIの実現にむけて違ったアプローチで攻めていることもわかりました。
ざっくりとした解釈は以下のような感じです。
- 教師あり学習:AIに正解を教えて意図した動作させる
- 教師なし学習:AIがほぼ勝手に分析する
- 強化学習:AIが将来的により多くの報酬を得られるような行動・選択を学ぶ
以上「教師あり学習と教師なし学習と強化学習の違いをわかりやすく解説!」でした!
以下の記事はこの記事を読んでくださった方にオススメの記事です。


