
教師あり学習( SL ) は機械学習のパラダイムであり、入力オブジェクト (たとえば、予測変数のベクトル) と望ましい出力値 (人間がラベル付けした教師信号とも呼ばれる) によってモデルをトレーニングします。トレーニング データが処理され、新しいデータを期待される出力値にマッピングする関数が構築されます。[1]最適なシナリオでは、アルゴリズムは未知のインスタンスの出力値を正しく決定できます。これには、学習アルゴリズムがトレーニング データから未知の状況に「合理的な」方法で一般化する必要があります (帰納的バイアスを参照)。アルゴリズムのこの統計的品質は、いわゆる一般化誤差によって測定されます。
従うべき手順
教師あり学習の特定の問題を解決するには、次の手順を実行する必要があります。
- トレーニング サンプルの種類を決定します。他の作業を行う前に、ユーザーはトレーニング セットとして使用するデータの種類を決定する必要があります。たとえば、手書き分析の場合、これは手書きの 1 つの文字、手書きの単語全体、手書きの文全体、または手書きの段落全体である可能性があります。
- トレーニング セットを収集します。トレーニング セットは、関数の実際の使用状況を表す必要があります。したがって、入力オブジェクトのセットが収集され、対応する出力も、人間の専門家または測定から収集されます。
- 学習した関数の入力特徴表現を決定します。学習した関数の精度は、入力オブジェクトの表現方法に大きく依存します。通常、入力オブジェクトは、オブジェクトを説明する多数の特徴を含む特徴ベクトルに変換されます。次元の呪いのため、特徴の数は多すぎてはなりませんが、出力を正確に予測するのに十分な情報が含まれている必要があります。
- 学習した関数の構造と対応する学習アルゴリズムを決定します。たとえば、エンジニアはサポートベクターマシンまたは決定木の使用を選択できます。
- 設計を完了します。収集したトレーニング セットに対して学習アルゴリズムを実行します。一部の教師あり学習アルゴリズムでは、ユーザーが特定の制御パラメータを決定する必要があります。これらのパラメータは、トレーニング セットのサブセット (検証セットと呼ばれる)のパフォーマンスを最適化するか、クロス検証によって調整できます。
- 学習した関数の精度を評価します。パラメータの調整と学習の後、結果として得られた関数のパフォーマンスは、トレーニング セットとは別のテスト セットで測定する必要があります。
アルゴリズムの選択
さまざまな教師あり学習アルゴリズムが利用可能であり、それぞれに長所と短所があります。すべての教師あり学習の問題に最適に機能する単一の学習アルゴリズムは存在しません (「ノーフリーランチ定理」を参照)。
教師あり学習では、考慮すべき 4 つの主要な問題があります。
バイアスと分散のトレードオフ
最初の問題は、バイアスと分散のトレードオフです。[2]複数の異なるが同等に優れたトレーニング データ セットがあるとします。学習アルゴリズムは、これらの各データ セットでトレーニングしたときに、 の正しい出力を予測する際に体系的に間違っている場合、特定の入力に対してバイアスがかかっています。学習アルゴリズムは、異なるトレーニング セットでトレーニングしたときに異なる出力値を予測する場合、特定の入力に対して高い分散を持っています。学習された分類器の予測誤差は、学習アルゴリズムのバイアスと分散の合計に関係しています。[3]一般に、バイアスと分散にはトレードオフがあります。バイアスが低い学習アルゴリズムは、データにうまく適合できるように「柔軟」でなければなりません。しかし、学習アルゴリズムが柔軟すぎると、各トレーニング データ セットに異なる方法で適合し、分散が高くなります。多くの教師あり学習方法の重要な側面は、バイアスと分散のトレードオフを調整できることです (自動的に、またはユーザーが調整できるバイアス/分散パラメーターを提供することによって)。
関数の複雑さとトレーニングデータの量
2 つ目の問題は、「真の」関数 (分類器または回帰関数) の複雑さに対する、利用可能なトレーニング データの量です。真の関数が単純な場合、バイアスが高く分散が低い「柔軟性のない」学習アルゴリズムは、少量のデータから学習できます。しかし、真の関数が非常に複雑な場合 (たとえば、多くの異なる入力機能間の複雑な相互作用が含まれ、入力空間のさまざまな部分で異なる動作をするため)、関数は、バイアスが低く分散が高い「柔軟な」学習アルゴリズムと組み合わせた大量のトレーニング データでのみ学習できます。
入力空間の次元
3 つ目の問題は、入力空間の次元です。入力特徴ベクトルの次元が大きい場合、たとえ真の関数がそれらの特徴の少数にのみ依存していたとしても、関数の学習が困難になる可能性があります。これは、多くの「余分な」次元が学習アルゴリズムを混乱させ、高い分散を引き起こす可能性があるためです。したがって、大きな次元の入力データでは通常、分類器を調整して分散を低くし、バイアスを高くする必要があります。実際には、エンジニアが手動で入力データから無関係な特徴を削除できれば、学習した関数の精度が向上する可能性があります。さらに、関連する特徴を識別し、無関係な特徴を破棄しようとする特徴選択アルゴリズムが多数あります。これは、教師あり学習アルゴリズムを実行する前に、入力データをより低次元の空間にマッピングしようとする、より一般的な戦略である次元削減の一例です。
出力値のノイズ
4 番目の問題は、望ましい出力値 (監督対象変数)のノイズの程度です。望ましい出力値が (人為的エラーやセンサー エラーにより) 頻繁に不正確な場合、学習アルゴリズムはトレーニング例と正確に一致する関数を見つけようとすべきではありません。データを慎重に適合させすぎると、過剰適合につながります。学習しようとしている関数が学習モデルに対して複雑すぎる場合は、測定エラー (確率的ノイズ) がない場合でも過剰適合が発生する可能性があります。このような状況では、モデル化できない対象関数の部分がトレーニング データを「破損」します。この現象は、決定論的ノイズと呼ばれています。どちらかのタイプのノイズが存在する場合は、バイアスが高く、分散が低い推定値を使用することをお勧めします。
実際には、出力値のノイズを軽減するためのアプローチはいくつかあります。例えば、過剰適合を防ぐために早期に停止したり、教師あり学習アルゴリズムをトレーニングする前にノイズの多いトレーニング例を検出して削除したりします。ノイズの多いトレーニング例を識別するアルゴリズムはいくつかあり、トレーニング前にノイズの多いトレーニング例の疑いのある例を削除すると、一般化誤差が統計的に有意に減少しました。[4] [5]
考慮すべきその他の要素
学習アルゴリズムを選択して適用する際に考慮すべきその他の要素は次のとおりです。
- データの異質性。特徴ベクトルにさまざまな種類の特徴 (離散、離散順序、カウント、連続値) が含まれている場合、一部のアルゴリズムは他のアルゴリズムよりも簡単に適用できます。サポートベクターマシン、線形回帰、ロジスティック回帰、ニューラルネットワーク、最近傍法などの多くのアルゴリズムでは、入力特徴が数値であり、同様の範囲 (たとえば、[-1,1] 間隔) にスケーリングされている必要があります。最近傍法やガウスカーネルを使用したサポートベクターマシンなどの距離関数を使用する方法は、特にこれに敏感です。決定木の利点は、異質なデータを簡単に処理できることです。
- データの冗長性。入力特徴に冗長な情報(相関性の高い特徴など)が含まれている場合、一部の学習アルゴリズム(線形回帰、ロジスティック回帰、距離ベースの方法など)は数値的不安定性のためにパフォーマンスが低下します。これらの問題は、何らかの形式の正則化を課すことで解決できることが多いです。
- 相互作用と非線形性の存在。各特徴が出力に独立して寄与する場合、線形関数 (例:線形回帰、ロジスティック回帰、サポートベクターマシン、ナイーブベイズ) と距離関数 (例:最近傍法、ガウスカーネルを使用したサポートベクターマシン) に基づくアルゴリズムは一般にうまく機能します。ただし、特徴間に複雑な相互作用がある場合は、決定木やニューラルネットワークなどのアルゴリズムの方が適しています。これらのアルゴリズムは、これらの相互作用を検出するために特別に設計されているためです。線形方法も適用できますが、エンジニアはそれらを使用するときに相互作用を手動で指定する必要があります。
新しいアプリケーションを検討する場合、エンジニアは複数の学習アルゴリズムを比較し、どのアルゴリズムが現在の問題に最も適しているかを実験的に判断できます (相互検証を参照)。学習アルゴリズムのパフォーマンスの調整には非常に時間がかかります。リソースが固定されている場合、学習アルゴリズムの調整に余分な時間を費やすよりも、追加のトレーニング データやより有益な機能の収集に多くの時間を費やす方が効果的であることがよくあります。
アルゴリズム
最も広く使用されている学習アルゴリズムは次のとおりです。
教師あり学習アルゴリズムの仕組み
形式のトレーニング例のセットが与えられ、 が番目の例の特徴ベクトルであり、 がそのラベル (つまりクラス) である場合、学習アルゴリズムは関数 を探します。ここで、は入力空間であり、 は出力空間です。関数 は、通常仮説空間と呼ばれる、可能な関数の空間の要素です。 は、最高スコアを与える値を返すように定義されるスコアリング関数を使用して表すと便利な場合があります。 はスコアリング関数の空間を表します。
および は任意の関数空間になり得ますが、多くの学習アルゴリズムは確率モデルであり、 は条件付き確率モデルの形をとり、 は結合確率モデルの形をとります。たとえば、ナイーブベイズと線形判別分析は結合確率モデルですが、ロジスティック回帰は条件付き確率モデルです。
またはを選択するための基本的なアプローチには、経験的リスク最小化と構造的リスク最小化の2つがあります。[6]経験的リスク最小化は、トレーニングデータに最も適合する関数を探します。構造的リスク最小化には、バイアスと分散のトレードオフを制御する ペナルティ関数が含まれます。
どちらの場合も、トレーニング セットは、独立かつ同一に分布するペア、のサンプルで構成されていると想定されます。関数がトレーニング データにどの程度適合するかを測定するために、損失関数が定義されます。トレーニング例 の場合、値を予測する際の損失は です。
機能リスクは 、期待される機能損失として定義されます。これは、トレーニングデータから次のように推定できます。
- 。
経験的リスク最小化
経験的リスク最小化では、教師あり学習アルゴリズムはを最小化する関数を探します。したがって、を見つけるための最適化アルゴリズムを適用することで、教師あり学習アルゴリズムを構築できます。
が条件付き確率分布で、損失関数が負の対数尤度:の場合、経験的リスク最小化は最大尤度推定と同等になります。
候補関数が多数含まれている場合、またはトレーニング セットが十分に大きくない場合、経験的リスク最小化は高い分散と不十分な一般化につながります。学習アルゴリズムは、十分に一般化せずにトレーニング例を記憶することができます。これをオーバーフィッティングと呼びます。
構造リスクの最小化
構造的リスク最小化は、最適化に正則化ペナルティを組み込むことで、過剰適合を防止しようとします。正則化ペナルティは、より複雑な関数よりも単純な関数を優先するオッカムの剃刀の一種を実装するものと見なすことができます。
複雑性の異なる定義に応じて、さまざまなペナルティが採用されている。例えば、関数が次の形式の線形関数で ある場合を考える。
- 。
一般的な正規化ペナルティは で、これは重みのユークリッド ノルムの 2 乗であり、ノルムとも呼ばれます。その他のノルムには、ノルム、 、および「ノルム」があり、これは非ゼロの の数です。ペナルティは で表されます。
教師あり学習の最適化問題は、以下の式を最小化する 関数を見つけることである。
パラメータはバイアスと分散のトレードオフを制御します。 のとき、これは低いバイアスと高い分散を伴う経験的リスク最小化をもたらします。が大きいとき、学習アルゴリズムは高いバイアスと低い分散を持ちます。 の値は、クロス検証 を介して経験的に選択できます。
複雑性ペナルティは、ベイズ解釈によれば、 の負の対数事前確率、となり、その場合、は の事後確率となります。
生成トレーニング
上記のトレーニング方法は、異なる出力値を適切に区別する関数を見つけようとするため、識別トレーニング方法です (識別モデルを参照)。 が結合確率分布で、損失関数が負の対数尤度である特殊なケースでは、リスク最小化アルゴリズムは生成トレーニング を実行すると言われます。 は、データがどのように生成されたかを説明する生成モデルと見なすことができるからです。 生成トレーニング アルゴリズムは、多くの場合、識別トレーニング アルゴリズムよりも単純で計算効率が高くなります。 場合によっては、ナイーブ ベイズや線形判別分析のように、解を閉形式で計算できます。
一般化

標準的な教師あり学習の問題を一般化する方法がいくつかあります。
- 半教師あり学習または弱い教師あり学習: 必要な出力値は、トレーニング データのサブセットに対してのみ提供されます。残りのデータはラベル付けされていないか、不正確にラベル付けされています。
- アクティブ ラーニング: アクティブ ラーニング アルゴリズムは、トレーニング例がすべて最初から与えられていると想定するのではなく、通常は人間のユーザーにクエリを実行して、インタラクティブに新しい例を収集します。多くの場合、クエリはラベルなしデータに基づいており、これは半教師あり学習とアクティブ ラーニングを組み合わせたシナリオです。
- 構造化予測: 目的の出力値が解析ツリーやラベル付きグラフなどの複雑なオブジェクトである場合、標準のメソッドを拡張する必要があります。
- ランク付けの学習: 入力がオブジェクトのセットであり、目的の出力がそれらのオブジェクトのランク付けである場合、標準の方法を再度拡張する必要があります。
アプローチとアルゴリズム
- 分析的学習
- 人工ニューラルネットワーク
- バックプロパゲーション
- ブースティング(メタアルゴリズム)
- ベイズ統計
- 事例に基づく推論
- 決定木学習
- 帰納的論理プログラミング
- ガウス過程回帰
- 遺伝的プログラミング
- データ処理のグループ方式
- カーネル推定器
- 学習オートマトン
- 学習分類システム
- ベクトル量子化の学習
- 最小メッセージ長(決定木、決定グラフなど)
- 多重線形部分空間学習
- ナイーブベイズ分類器
- 最大エントロピー分類器
- 条件付きランダムフィールド
- 最近傍アルゴリズム
- おそらくほぼ正しい学習(PAC)学習
- 知識獲得方法論「リップルダウンルール」
- シンボリック機械学習アルゴリズム
- サブシンボリック機械学習アルゴリズム
- サポートベクターマシン
- 最小複雑性マシン (MCM)
- ランダムフォレスト
- 分類器の集合
- 順序分類
- データ前処理
- 不均衡なデータセットの処理
- 統計的関係学習
- Proaftn、多基準分類アルゴリズム
アプリケーション
- バイオインフォマティクス
- ケミインフォマティクス
- データベースマーケティング
- 手書き認識
- 情報検索
- 情報抽出
- コンピュータビジョンにおける物体認識
- 光学文字認識
- スパム検出
- パターン認識
- 音声認識
- 教師あり学習は生物システムにおける下方因果関係の特殊なケースである
- 衛星画像を用いた地形分類[7]
- 調達プロセスにおける支出の分類[8]
一般的な問題
参照
参考文献
- ^ Mehryar Mohri、Afshin Rostamizadeh、Ameet Talwalkar (2012) Foundations of Machine Learning、The 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 Publications」。publication.sipmm.edu.sg . 2020-10-09 . 2022-06-16閲覧。
外部リンク
- 機械学習オープンソースソフトウェア (MLOSS)
