機械学習パラダイム
教師あり学習では、トレーニング データに予想される回答のラベルが付けられますが、 教師なし学習 では、モデルはラベルなしデータのパターンまたは構造を識別します。
機械学習 において 、 教師あり学習 ( SL )は 機械学習パラダイム の一種であり、 アルゴリズムは入力データと出力データのサンプルに基づいて、入力データを特定の出力にマッピングすることを学習します。このプロセスでは、ラベル付きデータを用いて統計モデルをトレーニングします。つまり、各入力データには正しい出力が与えられます。例えば、画像内の猫をモデルに識別させたい場合、教師あり学習では、明示的に「猫」とラベル付けされた多数の猫の画像(入力)をモデルに与えます(出力)。
教師あり学習の目標は、訓練されたモデルが新しい未知のデータの出力を正確に予測することです。 [1] そのためには、アルゴリズムが 訓練例から効果的に 一般化することが必要であり、その品質は 一般化誤差 によって測定されます。教師あり学習は、 分類 (スパムかどうかなどのカテゴリの予測)や 回帰 (住宅価格などの連続値の予測)などのタスクによく使用されます。
従うべき手順
教師あり学習の特定の問題を解決するには、次の手順を実行する必要があります。
トレーニングサンプルの種類を決定します。まず、ユーザーは トレーニングセットとして使用するデータの種類を決定する必要があります。例えば、 手書き文字分析 の場合 、これは手書き文字1文字、手書き単語1単語、手書き文1文、手書き段落1段落などになります。
トレーニングセットを収集します。トレーニングセットは、関数の実際の使用状況を代表するものでなければなりません。そのため、 人間の専門家 または測定から得られた入力オブジェクトのセットと、対応する出力を収集します。
学習済み関数の入力 特徴 表現を決定します。学習済み関数の精度は、入力オブジェクトの表現方法に大きく依存します。通常、入力オブジェクトは、オブジェクトを記述する多数の特徴を含む 特徴ベクトルに変換されます。 次元の呪い のため、特徴の数は多すぎるべきではありませんが 、出力を正確に予測するのに十分な情報を含む必要があります。
学習した関数の構造とそれに対応する学習アルゴリズムを決定します。例えば、 サポートベクターマシン や 決定木など を使用することを選択できます。
設計を完了します。収集したトレーニングセットに対して学習アルゴリズムを実行します。一部の教師あり学習アルゴリズムでは、ユーザーが特定の 制御パラメータ を決定する必要があります。これらのパラメータは、トレーニングセットのサブセット( 検証セット と呼ばれる)のパフォーマンスを最適化するか、交差検証 によって調整できます 。
学習した関数の精度を評価します。パラメータ調整と学習後、 トレーニングセットとは別の テストセットで、結果として得られた関数のパフォーマンスを測定する必要があります。
アルゴリズムの選択
教師あり学習アルゴリズムは多岐にわたり、それぞれに長所と短所があります。すべての教師あり学習問題に最適な単一の学習アルゴリズムは存在しません(「 ノーフリーランチ定理 」を参照)。
教師あり学習では、考慮すべき 4 つの主要な問題があります。
バイアスと分散のトレードオフ
最初の問題は、 バイアス と 分散 のトレードオフです。 [2] 複数の異なるが同等に優れたトレーニングデータセットが利用可能であると想像してください。学習アルゴリズムは 、これらのデータセットそれぞれでトレーニングした際に、特定の入力に対して正しい出力を予測する際に系統的に誤った予測をする場合、特定の入力に対してバイアスがかかっているとみなされます 。学習アルゴリズムは、異なるトレーニングデータセットでトレーニングした際に異なる出力値を予測する場合、特定の入力に対して高い分散を持っています 。学習された分類器の予測誤差は、学習アルゴリズムのバイアスと分散の合計に関係しています。 [3] 一般的に、バイアスと分散の間にはトレードオフがあります。バイアスが低い学習アルゴリズムは、データにうまく適合できるように「柔軟」でなければなりません。しかし、学習アルゴリズムが柔軟すぎると、各トレーニングデータセットに異なる適合をするため、分散が高くなります。多くの教師あり学習法の重要な側面は、このバイアスと分散のトレードオフを調整できることです(自動的に、またはユーザーが調整できるバイアス/分散パラメータを提供することによって)。
×
{\displaystyle x}
×
{\displaystyle x}
×
{\displaystyle x}
関数の複雑さとトレーニングデータの量
2つ目の問題は、「真の」関数(分類器または回帰関数)の複雑さに対する、利用可能なトレーニングデータの量です。真の関数が単純な場合、バイアスが高く分散が低い「柔軟性のない」学習アルゴリズムでも、少量のデータから学習できます。しかし、真の関数が非常に複雑な場合(例えば、多くの異なる入力特徴間の複雑な相互作用を伴い、入力空間の異なる部分で異なる動作をする場合)、関数は大量のトレーニングデータと、バイアスが低く分散が高い「柔軟な」学習アルゴリズムを組み合わせることでのみ学習できます。
3つ目の問題は、入力空間の次元性です。入力特徴ベクトルの次元数が大きい場合、真の関数がそれらの特徴量の少数にのみ依存している場合でも、関数の学習が困難になる可能性があります。これは、多くの「余分な」次元が学習アルゴリズムを混乱させ、高い分散を引き起こす可能性があるためです。したがって、高次元の入力データでは、通常、分類器を低分散かつ高バイアスになるように調整する必要があります。実際には、エンジニアが入力データから無関係な特徴量を手動で削除できれば、学習した関数の精度が向上する可能性があります。さらに、関連する特徴量を特定し、無関係な特徴量を破棄しようとする 特徴選択アルゴリズムも数多く存在します。これは、教師あり学習アルゴリズムを実行する前に、入力データを低次元空間にマッピングしようとする、より一般的な 次元削減 戦略の一例です 。
出力値のノイズ
4つ目の問題は、望ましい出力値(監視対象変数 )のノイズの程度です 。望ましい出力値が(人為的エラーやセンサーエラーによって)頻繁に不正確になる場合、学習アルゴリズムはトレーニング例と完全に一致する関数を見つけようとすべきではありません。データを過度に慎重に適合させようとすると、 過剰適合 につながります。学習しようとしている関数が学習モデルに対して複雑すぎる場合、測定エラー(確率的ノイズ)がなくても過剰適合が発生する可能性があります。このような状況では、モデル化できない対象関数の部分がトレーニングデータを「破損」させます。この現象は 決定論的ノイズ と呼ばれています。どちらかのタイプのノイズが存在する場合は、バイアスが高く分散が低い推定値を使用する方がよいでしょう。
実際には、出力値のノイズを軽減するためのアプローチはいくつかあります。例えば、過学習を防ぐための 早期停止 や、教師あり学習アルゴリズムの学習前にノイズの多い学習例を 検出し て除去するといったアプローチがあります。ノイズの多い学習例を特定するアルゴリズムはいくつかあり、学習前にノイズの疑いのある学習例を除去することで、 一般化誤差が 統計的 に有意に減少することが示されています 。 [4] [5]
考慮すべきその他の要素
学習アルゴリズムを選択して適用する際に考慮すべきその他の要素は次のとおりです。
新しいアプリケーションを検討する際、エンジニアは複数の学習アルゴリズムを比較し、どのアルゴリズムが現在の問題に最も適しているかを実験的に判断することができます( クロスバリデーション を参照)。学習アルゴリズムのパフォーマンスの調整には非常に時間がかかる場合があります。リソースが限られている場合、学習アルゴリズムの調整に余分な時間を費やすよりも、追加のトレーニングデータやより有益な特徴量の収集に多くの時間を費やす方が効果的であることが多いです。
アルゴリズム
最も広く使用されている学習アルゴリズムは次のとおりです。
教師あり学習アルゴリズムの仕組み
形式の訓練例 集合が与えられ、 は - 番目の例 の 特徴 ベクトル 、はそのラベル(すなわちクラス)であるとすると、学習アルゴリズムは関数 を求めます。 ここで 、 は入力空間、 は出力空間です。関数 は、 通常 仮説空間 と呼ばれる、可能な関数の空間 の要素です。 は、最高スコアを与える値を返すよう に 定義される スコアリング関数 を用いて 表現すると便利な場合があります 。 は スコアリング関数の空間を表します。
北
{\displaystyle N}
{
(
×
1
、
y
1
)
、
。
。
。
、
(
×
北
、
y
北
)
}
{\displaystyle \{(x_{1},y_{1}),...,(x_{N},\;y_{N})\}}
×
私
{\displaystyle x_{i}}
私
{\displaystyle i}
y
私
{\displaystyle y_{i}}
グラム
:
X
→
はい
{\displaystyle g:X\to Y}
X
{\displaystyle X}
はい
{\displaystyle Y}
グラム
{\displaystyle g}
G
{\displaystyle G}
グラム
{\displaystyle g}
f
:
X
×
はい
→
R
{\displaystyle f:X\times Y\to \mathbb {R} }
グラム
{\displaystyle g}
y
{\displaystyle y}
グラム
(
×
)
=
引数
最大
y
f
(
×
、
y
)
{\displaystyle g(x)={\underset {y}{\arg \max}}\;f(x,y)}
F
{\displaystyle F}
と は 任意の関数空間にすることができますが、多くの学習アルゴリズムは確率モデルであり、 は 条件付き確率 モデル の形をとり 、 は 結合確率 モデル の形をとります 。例えば、 ナイーブベイズ 分析と 線形判別分析 は結合確率モデルですが、 ロジスティック回帰は 条件付き確率モデルです。
G
{\displaystyle G}
F
{\displaystyle F}
グラム
{\displaystyle g}
グラム
(
×
)
=
引数
最大
y
P
(
y
|
×
)
{\displaystyle g(x)={\underset {y}{\arg \max}}\;P(y|x)}
f
{\displaystyle f}
f
(
×
、
y
)
=
P
(
×
、
y
)
{\displaystyle f(x,y)=P(x,y)}
または を選択するための基本的なアプローチは2つあります 。 経験的リスク最小化 と 構造的リスク最小化です 。 [6] 経験的リスク最小化は、訓練データに最も適合する関数を求めます。構造的リスク最小化には、 バイアスと分散のトレードオフを制御する
ペナルティ関数が含まれます。
f
{\displaystyle f}
グラム
{\displaystyle g}
どちらの場合も、訓練データ集合は独立かつ同一分布のペア 、 の標本で構成されていると仮定します 。関数が訓練データにどの程度適合するかを測定するために、 損失関数 が定義されます。訓練例 の場合 、値を予測する際の損失 は です 。
(
×
私
、
y
私
)
{\displaystyle (x_{i},\;y_{i})}
L
:
はい
×
はい
→
R
≥
0
{\displaystyle L:Y\times Y\to \mathbb {R} ^{\geq 0}}
(
×
私
、
y
私
)
{\displaystyle (x_{i},\;y_{i})}
y
^
{\displaystyle {\hat {y}}}
L
(
y
私
、
y
^
)
{\displaystyle L(y_{i},{\hat {y}})}
機能リスク は 期待損失として定義される 。これは訓練データから次のように推定できる
。
R
(
グラム
)
{\displaystyle R(g)}
グラム
{\displaystyle g}
グラム
{\displaystyle g}
R
e
メートル
p
(
グラム
)
=
1
北
∑
私
L
(
y
私
、
グラム
(
×
私
)
)
{\displaystyle R_{emp}(g)={\frac {1}{N}}\sum _{i}L(y_{i},g(x_{i}))}
。
経験的リスク最小化
経験的リスク最小化において、教師あり学習アルゴリズムは を最小化する関数を求めます。したがって、 を求める 最適化アルゴリズム を適用することで、教師あり学習アルゴリズムを構築できます 。
グラム
{\displaystyle g}
R
(
グラム
)
{\displaystyle R(g)}
グラム
{\displaystyle g}
が条件付き確率分布で 、損失関数が負の対数尤度:の 場合 、経験的リスク最小化は 最大尤度推定 と同等になります。
グラム
{\displaystyle g}
P
(
y
|
×
)
{\displaystyle P(y|x)}
L
(
y
、
y
^
)
=
−
ログ
P
(
y
|
×
)
{\displaystyle L(y,{\hat {y}})=-\log P(y|x)}
候補関数が多数含まれる場合 、または訓練データセットが十分に大きくない場合、経験的リスク最小化は大きな分散と不十分な汎化をもたらします。学習アルゴリズムは、十分に汎化することなく訓練例を記憶することができます(過学習)。
G
{\displaystyle G}
構造リスクの最小化
構造リスク最小化は、最適化に 正則化ペナルティ を組み込むことで、過適合を防止しようとします。正則化ペナルティは、より複雑な関数よりもより単純な関数を優先する、一種の オッカムの剃刀を 実装するものと見なすことができます 。
複雑性の様々な定義に応じて、様々なペナルティが採用されている。例えば、関数が 以下の形式の線形関数である
場合を考えてみよう。
グラム
{\displaystyle g}
グラム
(
×
)
=
∑
j
=
1
d
β
j
×
j
{\displaystyle g(x)=\sum _{j=1}^{d}\beta _{j}x_{j}}
。
一般的な正則化ペナルティは で、これは 重みの ユークリッドノルム の2乗であり、 ノルムとも呼ばれます。他のノルムには 、ノルム 、 、そして 「ノルム」 (非ゼロの の数)があります 。ペナルティは と表記されます 。
∑
j
β
j
2
{\displaystyle \sum _{j}\beta _{j}^{2}}
L
2
{\displaystyle L_{2}}
L
1
{\displaystyle L_{1}}
∑
j
|
β
j
|
{\displaystyle \sum _{j}|\beta _{j}|}
L
0
{\displaystyle L_{0}}
β
j
{\displaystyle \beta_{j}}
C
(
グラム
)
{\displaystyle C(g)}
教師あり学習の最適化問題は、 以下の関数を最小化する
関数を見つけることである。
グラム
{\displaystyle g}
J
(
グラム
)
=
R
e
メートル
p
(
グラム
)
+
λ
C
(
グラム
)
。
{\displaystyle J(g)=R_{emp}(g)+\lambda C(g).}
パラメータは バイアスと分散のトレードオフを制御します。 のとき 、これは低いバイアスと高い分散を伴う経験的リスク最小化をもたらします。 が大きいとき、学習アルゴリズムは高いバイアスと低い分散を持ちます。 の値は、 交差検証 によって経験的に選択できます 。
λ
{\displaystyle \lambda}
λ
=
0
{\displaystyle \lambda =0}
λ
{\displaystyle \lambda}
λ
{\displaystyle \lambda}
複雑性ペナルティは、ベイズ解釈によれば、 の負の対数事前確率、 であり 、 その場合、 は の事後確率 である 。
グラム
{\displaystyle g}
−
ログ
P
(
グラム
)
{\displaystyle -\log P(g)}
J
(
グラム
)
{\displaystyle J(g)}
グラム
{\displaystyle g}
生成的トレーニング
上で説明した訓練法は、 異なる出力値を適切に識別する 関数を見つけようとするため、 識別訓練法と呼ばれます( 識別モデル を参照)。が 結合確率分布 であり 、損失関数が負の対数尤度である特殊なケースでは 、リスク最小化アルゴリズムは 生成訓練を行うと言われています。これは、 がデータがどのように生成されたかを説明する 生成モデル と見なすことができる ためです 。生成訓練アルゴリズムは、識別訓練アルゴリズムよりも単純で計算効率が高いことがよくあります。場合によっては、 ナイーブベイズ や 線形判別分析 のように、解を閉形式で計算できます。
グラム
{\displaystyle g}
f
(
×
、
y
)
=
P
(
×
、
y
)
{\displaystyle f(x,y)=P(x,y)}
−
∑
私
ログ
P
(
×
私
、
y
私
)
、
{\displaystyle -\sum _{i}\log P(x_{i},y_{i}),}
f
{\displaystyle f}
一般化
課題において教師あり学習と教師なし学習の手法が採用される傾向。円の境界をまたぐ課題名が意図的なものである。これは、教師なし学習を用いた想像力豊かな課題(左)の古典的な区分が、今日の学習体系においては曖昧になっていることを示している。 標準的な教師あり学習の問題を一般化する方法がいくつかあります。
半教師あり学習 または 弱教師 :望ましい出力値は訓練データのサブセットに対してのみ提供されます。残りのデータはラベル付けされていないか、不正確にラベル付けされています。
能動学習 :能動学習アルゴリズムは、すべてのトレーニング例が最初から与えられていると想定するのではなく、通常は人間のユーザーにクエリを発行することで、インタラクティブに新しい例を収集します。多くの場合、クエリはラベルなしデータに基づいており、これは半教師あり学習と能動学習を組み合わせたシナリオです。
構造化予測: 目的の出力値が 解析ツリー やラベル付きグラフ などの複雑なオブジェクトである場合、標準メソッドを拡張する必要があります。
ランク付けの学習 : 入力がオブジェクトのセットであり、目的の出力がそれらのオブジェクトのランク付けである場合、この場合も標準の方法を拡張する必要があります。
アプローチとアルゴリズム
アプリケーション
一般的な問題
参照
参考文献
^ Mehryar Mohri 、Afshin Rostamizadeh、Ameet Talwalkar (2012) Foundations of Machine Learning 、MIT Press ISBN 9780262018258 。
^ S. Geman, E. Bienenstock, R. Doursat (1992). ニューラルネットワークとバイアス/分散のジレンマ. Neural Computation 4, 1–58.
^ G. James (2003)「一般損失関数の分散とバイアス」機械学習51, 115–135. (http://www-bcf.usc.edu/~gareth/research/bv.pdf)
^ CE BrodelyとMA Friedl (1999). 誤ったラベルが付けられたトレーニングインスタンスの識別と除去, Journal of Artificial Intelligence Research 11, 131–167. (http://jair.org/media/606/live-606-1803-jair.pdf)
^ MR SmithとT. Martinez (2011). 「誤分類されるべきインスタンスの識別と削除による分類精度の向上」. 国際ニューラルネットワーク合同会議 (IJCNN 2011) の議事録 . pp. 2690– 2697. CiteSeerX 10.1.1.221.1371 . doi :10.1109/IJCNN.2011.6033571.
^ Vapnik, VN 『統計学習理論の性質(第2版)』、Springer Verlag、2000年。
^ A. Maity (2016). 「RADARSAT-2偏光データの異なる地形における教師付き分類」 arXiv : 1608.00501 [cs.CV].
^ 「アジャイル調達のための主要テクノロジー | SIPMM出版物」. publication.sipmm.edu.sg . 2020年10月9日. 2022年6月16日 閲覧 。
外部リンク