教師あり学習(きょうしありがくしゅう, )とは、機械学習の手法の一つである。
既知の「問題」に対する「解答」を「教師」が教えてくれるという方法であり、「生徒」であるアルゴリズムが未知の「問題」に対応する「解答」を推論する事から名付けられたものである。そのような訓練に用いるデータを、教師データとも呼ぶ。
教師データは人間が用意する必要がある。例えば、正解画像とラベルのセットが教師データに該当する。分野ごとに扱う概念が異なるため自作のデータを用意することが普通であるが、公開されたデータセットも存在する。画像認識については、ImegeNet,MNISTが世界的に有名な公開された教師データ(としても使えるデータ)である。
概要 教師あり学習では、未知の確率分布を対象に学習を行う。実応用上は何らかを入力()、出力()とみなせる事が多く、例えばはに未知の関数を施した値に小さなノイズが載ったものである。アルゴリズムには、に従うとの組が訓練データとして与えられる。アルゴリズムが解くべきタスクは訓練データに属していない(かもしれない)データに対し、条件付き確率分布ないしそこから決まる値(たとえばの期待値)をよく近似することである#GBC 5.1.3節。近似の精度は事前に定められた損失関数という関数を使って評価する。したがって損失関数の値の期待値を小さくする事が、教師あり機械学習の目標であると言える。
機械学習の定義に沿って言えば、教師あり機械学習は以下のような機械学習であるといえる: +タスク経験性能指標ないしそこから決まる値をよく近似する事訓練データ損失関数の期待値
アルゴリズム 教師あり学習では事前知識であるから、未知のに対応するの分布を当てる事が求められる。このため、アルゴリズムが未知のから(ないしそこから決まる値)を求める操作を汎化もしくは推論(inference)と呼ぶ。タスクによっては「予測」「判断」「認識」等と呼ばれる事もある。
アルゴリズムは未知のデータからに対応するの分布の情報を推測する必要があるが、この推論の為に事前知識として与えられる訓練データにはから推論しなければならないが「解答」としてついている。
訓練フェーズと汎化フェーズ 多くの教師あり機械学習のモデルでは、実際の汎化を行う前に訓練もしくは学習と呼ばれる作業が発生し、機械学習のモデルは「訓練アルゴリズム」と「汎化アルゴリズム」のペアとして捉える事ができる。訓練アルゴリズムは訓練データを入力として受け取り、パラメータと呼ばれる値を出力する。パラメータは直観的には訓練データから有用な情報を引き出した「学習結果」であり、汎化の際にはこの「学習結果」であるを使って汎化を行う。すなわち、汎化アルゴリズムは入力の他にパラメータをも入力として受け取り、(ないしそこから決まる値)を求める。
変数の名称 教師あり機械学習において、変数を説明変数(explanation variable)、を目的変数、目標変数(target variable)、もしくは標的(target)と呼ぶ#瀧 p.20.。これらは別の名称で呼ばれる事も多く、を予測変数(predictor)、を応答変数(response variable)と呼んだり、を独立変数(independent variable)、を従属変数(dependent variable)と呼んだりする事もある#ESL p11-12。またタスクによってはこれら以外の名称で呼ばれる事もある。
タスク 教師あり学習に属する代表的なタスクとして回帰と分類がある。教師あり学習において、目的変数が量的変数である場合を回帰(regression)、有限集合に値を取るカテゴリ型変数のである場合を分類(classification)もしくは判別と呼ぶ。#金森 p.3.
典型的な訓練データ(例題)はベクトル(問題) とラベル(回答)の組として、 のように与えられる。ここで、は 番目のデータを表し、 は0または1の2値を取るのラベルで、 はベクトルを表す。
典型的な訓練データは分類問題では が離散値を、回帰問題では実数値を取る。
これらのデータに何らかの基準でもっとも合う関数関係 を求める「学習」によって求められることで、未知のデータ にに対して、予言 を得ることができる。を分類問題であれば分類器、回帰問題であれば回帰曲線などと称する。
回帰や分類における予測の不確実性を扱う枠組みとして、コンフォーマル予測がある。コンフォーマル予測では、回帰では予測区間を、分類では候補ラベルからなる予測集合を構成できる。
回帰 回帰の目標は入力が与えられたとき、に関する情報を予想する事である。典型的には
のようにが未知の関数の像にランダムなノイズを加えたデータであるケースにおいて、入力からの可能な限り正確な予想値を出力する事が求められる。なお回帰で扱う目的変数は連続量であり、典型的には実数を複数並べた数値ベクトルである。
他の教師あり機械学習アルゴリズムと同様、回帰アルゴリズムはに従って選ばれた訓練データの集合をとして受け取る事ができ、これらの訓練データをヒントにして入力に対応するの予想値
を出力する。予想の正確さは損失関数によって測られる。回帰では損失関数としては自乗誤差損失
を用いる事が多い。
回帰の目標は、汎化誤差(予測誤差、予測損失とも)
を小さく抑える事である。ここでは汎化アルゴリズムの出力であり、は期待値を表す。
分類 分類タスクでは、事前に定められた有限個のクラスが定められていて、各クラスには、「ネコ」、「イヌ」などのクラスラベル(もしくは単にラベル)と呼ばれるクラス名が割り振られている。分類タスクの目的は与えられた入力がのいずれに属するかを当てる事である。
分類タスクを解くアルゴリズムには大まかに「決定論的アプローチ」と「確率論的アプローチ」の2種類があり#瀧 p.8.、前者は分類タスクでは入力が与えられたとき、が属すると思われるクラスラベルを出力するというものであり、損失関数としては典型的には0-1損失
を使う#瀧 p.36.。
一方、後者はクラスラベルを直接出力するのではなく、確信度(confidence score)を出力するというものである。ここではが番目のクラスに属しているとどの程度確信しているかを表す尺度であり、とを満たす。
確信度を出力させる分類タスクでは、訓練データのも確信度と整合性が取れるように符号化する。すなわち、が番目のクラスに属している場合、とする。ここでは番目の成分が1でそれ以外の成分が0のベクトルである(このように1つの成分だけが1でそれ以外は0となるベクトルをone-hotベクトルとい、one-hotベクトルによりデータを表現する事をone-hot表現#瀧 p.30. という)。損失関数としては典型的には交差エントロピー
を使う。
回帰と分類の関係性 確信度を使った分類タスクに対するアルゴリズムを設計する典型的な手法は、回帰タスクのアルゴリズムを流用するというものである。すなわちクラスをone-hotベクトルで符号化した訓練データを使って回帰タスクのアルゴリズムを訓練し、訓練結果のアルゴリズムを分類タスクに利用するという手法である。ただし、回帰タスク出力は、分類タスクの出力である確信度と違い、とという条件を満たさないという問題が起こる。そこで一旦ソフトマックス変換
をかける事でこの問題を解決する。
逆に確信度を使った分類タスクを回帰タスクに流用する事もでき、この場合は上と同様の理由でソフトマックス変換の逆変換をかける必要がある。
バイアスと分散のトレードオフ
回帰では、入力に対応するの予測値を出力する事を求められ、はの期待値に近いことが望ましく、しかものばらつきは小さい方が望ましい。しかし下記に示すようにこの2つの要件はトレードオフの関係にある:
上では回帰の場合について述べたが、確信度を出力する分類でも同様である。
ベイズ規則 、をそれぞれ回帰や分類といった教師あり学習のタスクに対する損失関数、データ分布とし、関数に関する予測損失をと書き表す。このとき、予測損失の下限
を損失関数のもとでのベイズ誤差(Bayes error)と呼び、下限を達成するをベイズ規則(Bayes rule)という#金森 p.9.。ここでは可測関数全体の集合における下限である。
ベイズ規則は理論上の最良の予測関数であるが、実際には確率分布が未知なので、に関する予測損失を計算できず、ベイズ規則を求める事ができない。このため教師あり学習では既知のデータから可能な限りベイズ規則に近い値を出力するアルゴリズムを探索する事が求められる。
回帰 自乗損失を損失関数として選んだ場合、次の定理が成り立つ#ESL p22-23:
関数を回帰関数と呼ぶ事もある。
分類
(確信度ではなくクラスを直接出力するタイプの)分類タスクにおいて、0-1損失関するベイズ規則は以下のようになる:
半教師あり学習 半教師あり学習の一種は部分のデータがラベルを付き、部分のデータがラベルを付かないこと。他の状況は、学習の目標はデータのラベルよりも多い場合。例えば、画像のボックスのラベルだけで、分割の役割を果たすこと。
注釈
出典
参考文献
同書原著のweb版
:上述の書籍の英語版公式サイト。無料pdfあり。
関連項目 バックプロパゲーション サポートベクターマシン ID3 単純ベイズ分類器 過剰適合 事例ベース推論 ブースティング 教師なし学習