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