教師あり学習・教師なし学習・強化学習の違い:データ・正解の与え方・目的・手法・例を比較

機械学習は、データから学ぶときに何を手がかりにするかで、大きく3つに分けられます。教師あり学習は、入力と正解(ラベル)の組を与え、入力から正解を予測するモデルを学びます。教師なし学習は、正解のないデータだけから、似たもののまとまりや、データを少ない変数で表す構造を見つけます。強化学習は、エージェント(学習する主体)が環境の中で行動を選び、その結果として得られる報酬の合計が大きくなるような行動の選び方(方策)を、試行錯誤を通じて学びます。正解が用意できて予測したいなら教師あり学習、正解がなくデータの構造を知りたいなら教師なし学習、一連の行動の良し悪しを結果から学ばせたいなら強化学習、というのが基本の使い分けです。

項目教師あり学習教師なし学習強化学習
学習に使うデータ入力と正解(ラベル)の組正解のない入力のデータだけ環境とのやり取りで得られる、状態・行動・報酬の記録。前もって用意するのではなく、行動しながら集める
正解の与え方入力ごとに、正しい出力が与えられる与えられない行動ごとの正解は与えられない。報酬という良し悪しの評価だけが、遅れて得られることも多い
学習の目的新しい入力に対する出力を、正しく予測するデータの中のまとまりや構造を見つける将来にわたって受け取る報酬の合計を大きくする方策を見つける
主な課題回帰(数値を予測する)と分類(クラスを予測する)クラスタリング、次元削減、異常検知一連の行動の選び方(機械の制御、ゲームの手、順序の決定など)
代表的な手法線形回帰、ロジスティック回帰、決定木、サポートベクターマシン、ニューラルネットワークk平均法、階層的クラスタリング、主成分分析(PCA)Q学習、方策勾配法
評価のしかた取っておいたテスト用データで、正解率、適合率と再現率、平均二乗誤差などを使い、正解と比べて評価できる正解がないので評価しにくい。まとまりの良さを表す指標や、人が見て意味があるかで判断する得られた報酬の合計(累積報酬)で評価する
難しさ正解のラベルを用意する手間と費用がかかる。過学習に注意が要る結果の良し悪しを判断しにくく、見つかったまとまりの意味は人が解釈する必要がある多くの試行錯誤が必要になりやすい。実物で試すと危険や費用が大きいので、シミュレーションを使うことが多い。報酬の決め方も難しい
使われる例迷惑メールの判定、画像の認識、需要や価格の予測、装置の故障の予測顧客のグループ分け、データの可視化や学習の前処理、不正な取引や装置の異常の検知囲碁などのゲーム、ロボットの制御、言語モデルの出力を人の評価に合わせる調整

数値は代表的な目安で、世代や製品によって異なります。

どんなときに使うか

教師あり学習
過去のデータに正解(結果)が記録されていて、新しいデータについて同じものを予測したいときに向きます。実務で使われる機械学習の多くは、これに当たります。
教師なし学習
正解のラベルがない、または用意するのが難しいデータから、まとまりや傾向を見つけたいときに向きます。教師あり学習の前処理として、次元削減を使うこともあります。
強化学習
正しい答えを1つずつ示すのは難しいものの、行動の結果の良し悪しは評価できるときに向きます。何手も先の結果まで考えて、一連の行動を決める問題に使われます。

よくある質問

異常検知は、教師あり学習と教師なし学習のどちらですか?

データしだいで、どちらにもなります。正常なデータの傾向を学んで、そこから大きく外れたものを異常とみなす場合は、異常の正解のラベルを使わないので、教師なし学習の方法です。異常の例にもラベルが付いていて十分な数があれば、教師あり学習の分類として扱えます。実際には異常の例はとても少ないことが多いので、教師なし学習の方法がよく使われます。

半教師あり学習や自己教師あり学習とは何ですか?

半教師あり学習は、少しのラベル付きのデータと、大量のラベルのないデータを組み合わせて学ぶ方法です。自己教師あり学習は、文章の一部を隠してそれを当てさせるように、データそのものから正解を作って学ぶ方法で、大規模言語モデルの事前学習などに使われます。どちらも、ラベルを用意する手間を減らすための、教師あり学習と教師なし学習の中間的な方法です。

強化学習と教師あり学習の一番の違いは何ですか?

教師あり学習では、入力ごとに正しい出力が与えられ、それとの差を小さくするように学びます。強化学習では、行動ごとの正解は与えられず、報酬という評価だけを手がかりにします。しかも報酬は、一連の行動の後にまとめて得られることが多く、どの行動が良かったのかを自分で見極める必要があります。学習に使うデータを、自分の行動によって集める点も違います。

理解度チェック

教師あり学習の課題のうち、回帰に当たるものはどれか。

  1. Aメールの本文から、そのメールがスパムかどうかを判定する
  2. B手書きの数字の画像が、0〜9のどの数字かを見分ける
  3. C広さや駅からの距離などから、住宅の価格を予測する
答えと解説を見る

正解:C. 広さや駅からの距離などから、住宅の価格を予測する

教師あり学習は、入力と正解(ラベル)の組を使って、入力から出力を予測するモデルを学習する方法です。予測する出力が連続した数値のときを回帰、決まったいくつかのクラスのどれかのときを分類と呼びます。住宅の価格は連続した数値なので回帰です。スパムの判定は2クラス、手書きの数字の認識は10クラスの分類です。

教師なし学習に当たるものはどれか。

  1. A購買の履歴だけから、似た買い方をする顧客をいくつかのグループに分ける
  2. B過去の故障の有無の記録を正解として、装置のセンサーの値から故障を予測する
  3. C試行錯誤で得た報酬が大きくなるように、ゲームでの行動の選び方を学ぶ
答えと解説を見る

正解:A. 購買の履歴だけから、似た買い方をする顧客をいくつかのグループに分ける

教師なし学習は、正解のラベルがないデータから、データの中のまとまりや構造を見つける方法です。代表的なものに、似たデータをグループに分けるクラスタリングや、データを少ない変数で表す次元削減があります。故障の有無という正解を使って予測するのは教師あり学習、報酬を手がかりに行動を学ぶのは強化学習です。

強化学習の説明として、適切なものはどれか。

  1. A入力と正解の組を大量に与え、入力から正解を予測する関数を、予測と正解の差が小さくなるように学習する
  2. Bエージェントが環境の中で行動し、得られる報酬の合計が大きくなるような行動の選び方(方策)を学習する
  3. C正解のないデータを、特徴の似たもの同士が同じグループに入るように、いくつかのグループに分ける
答えと解説を見る

正解:B. エージェントが環境の中で行動し、得られる報酬の合計が大きくなるような行動の選び方(方策)を学習する

強化学習では、学習する主体(エージェント)が環境の状態を見て行動を選び、その結果として報酬を受け取ります。行動ごとの正解は与えられず、将来にわたって受け取る報酬の合計が大きくなるような方策を、試行錯誤を通じて学びます。囲碁などのゲーム、ロボットの制御、言語モデルの出力を人の評価に合わせる調整などに使われています。

  1. k平均法(k-means法)によるクラスタリングの手順として、適切なものはどれか。
  2. 主成分分析(PCA)の説明として、適切なものはどれか。

機械学習の基礎の練習問題へ

関連する用語の解説

教師あり学習
入力と正解(ラベル)の組からなるデータを使い、入力から正解を予測するモデルを学習する機械学習の方法。予測する出力が連続した数値なら回帰、決まったいくつかのクラスのどれかなら分類と呼ぶ。線形回帰、ロジスティック回帰、決定木、サポートベクターマシン、ニューラルネットワークなどのモデルが使われる。正解のラベルを用意するのに手間がかかることが多い。
教師なし学習
正解のラベルがないデータから、データの中のまとまりや構造を見つける機械学習の方法。似たデータをグループに分けるクラスタリング(k平均法など)、データを少ない変数で表す次元削減(主成分分析など)、ほかと大きく違うデータを見つける異常検知などに使われる。ラベルを用意しなくてよい一方で、結果の良し悪しを評価しにくい。
強化学習
エージェント(学習する主体)が環境の状態を見て行動を選び、その結果として受け取る報酬の合計(将来の分を含む)が大きくなるような行動の選び方(方策)を、試行錯誤を通じて学ぶ機械学習の方法。行動ごとの正解は与えられず、報酬が遅れて得られることも多い。ゲーム、ロボットの制御、言語モデルの出力を人の評価に合わせる調整などに使われる。
k平均法
データをあらかじめ決めたk個のクラスタに分ける、代表的なクラスタリングの方法。k個の中心を仮に決め、各データを最も近い中心のクラスタに割り当てることと、各クラスタのデータの平均を新しい中心にすることを、割り当てが変わらなくなるまで繰り返す。計算が簡単で大きなデータにも使えるが、結果が初期値に左右され、kを自分で決める必要があり、球状でないまとまりは分けにくい。
主成分分析(PCA)
多数の変数をもつデータを、情報をできるだけ失わずに少ない変数で表す次元削減の方法。データの分散が最も大きくなる方向を第1主成分とし、それと直交する方向のうち分散が最も大きい方向を第2主成分のように順に求め、上位の主成分だけでデータを表す。数学的には、データの共分散行列の固有ベクトルを求めることにあたる。データの可視化、雑音の除去、学習の前処理などに使われる。
過学習
モデルが学習用データの細かな特徴や偶然の雑音まで覚え込み、学習用データでは誤差が小さいのに、新しいデータに対する誤差(汎化誤差)が大きくなる状態。パラメータの多い複雑なモデルを少ないデータで学習すると起こりやすい。データを増やす、モデルを単純にする、正則化、ドロップアウト、早期終了などで抑える。
適合率と再現率
2クラス分類のモデルの評価指標。適合率(precision)は陽性と予測したもののうち実際に陽性だった割合 TP ÷ (TP + FP)、再現率(recall)は実際に陽性のもののうち陽性と予測できた割合 TP ÷ (TP + FN) である。一般に、判定のしきい値を変えると、一方が上がれば他方が下がる関係にある。両者の調和平均 2PR ÷ (P + R) をF値(F1スコア)と呼ぶ。

関連する比較