機械学習と統計的分類において、多クラス分類または多項式分類は、インスタンスを 3 つ以上のクラスのいずれかに分類する問題です (インスタンスを 2 つのクラスのいずれかに分類することをバイナリ分類と呼びます)。たとえば、画像にバナナ、オレンジ、リンゴのどれが写っているかを判断することは、3 つのクラス (バナナ、オレンジ、リンゴ) が考えられるマルチクラス分類問題ですが、画像にリンゴが含まれているかどうかを判断することは、バイナリ分類問題です (2 つのクラスは、リンゴ、リンゴなし)。
多くの分類アルゴリズム (特に多項ロジスティック回帰) では、当然 2 つ以上のクラスの使用が許可されますが、中には本質的にバイナリアルゴリズムであるものもあります。ただし、さまざまな戦略によって、これらを多項分類器に変換できます。
マルチクラス分類は、各インスタンスに対して複数のラベルを予測するマルチラベル分類と混同しないでください(たとえば、前の例では、画像にリンゴとオレンジの両方が含まれていることを予測します)。
一般的な戦略
既存の多クラス分類技術は、以下のように分類できる。
- バイナリへの変換
- バイナリからの拡張
- 階層的分類[1]
バイナリへの変換
このセクションでは、マルチクラス分類の問題を複数のバイナリ分類問題に縮小する戦略について説明します。これは、1 対残りと1 対 1に分類できます。マルチクラス問題を複数のバイナリ問題に縮小することに基づいて開発された手法は、問題変換手法とも呼ばれます。
1対残り
1対残り[2] : 182, 338 (OvR またはone-vs.-all、OvA またはone-against-all、OAA) 戦略では、クラスごとに 1 つの分類器をトレーニングし、そのクラスのサンプルを陽性サンプル、その他のサンプルを陰性サンプルとします。この戦略では、基本分類器がクラスラベルだけでなく、決定に対して実数値のスコアを生成する必要があります (スコアリングルールも参照)。離散的なクラスラベルだけでは、1 つのサンプルに対して複数のクラスが予測されるなど、あいまいさが生じる可能性があります。[2] : 182 [注 1]
擬似コードでは、バイナリ分類学習器Lから構築された OvR 学習器のトレーニング アルゴリズムは次のようになります。
- 入力:
- L、学習器(バイナリ分類器のトレーニングアルゴリズム)
- サンプルX
- ラベルy、ここでy i ∈ {1, … K }はサンプルX iのラベルである
- 出力:
- k ∈ {1, …, K }に対する分類子f kのリスト
- 手順:
- {1, …, K }
内の各kについて
- y i = kの場合はz i = y i、 それ以外の場合はz i = 0となる新しいラベルベクトルzを構築する。
- LをX、zに適用してf kを得る
- {1, …, K }
内の各kについて
決定を下すということは、すべての分類器を未知のサンプルxに適用し、対応する分類器が最高の信頼スコアを報告する ラベルkを予測することを意味します。
この戦略は人気があるが、いくつかの問題を抱えたヒューリスティックである。第一に、信頼値のスケールはバイナリ分類器間で異なる可能性がある。第二に、トレーニング セットでクラス分布がバランスが取れていても、バイナリ分類学習者は不均衡な分布を見ることになる。これは、通常、負の集合が正の集合よりもはるかに大きいためである。[2] : 338
1対1
1対1(OvO)削減では、 K方向のマルチクラス問題に対してK(K −1)/2個のバイナリ分類器をトレーニングします。各分類器は元のトレーニングセットから2つのクラスのサンプルを受け取り、これら2つのクラスを区別することを学習する必要があります。予測時には、投票方式が適用されます。K (K −1)/2個の分類器すべてが未確認のサンプルに適用され、最も多くの「+1」予測を得たクラスが結合された分類器によって予測されます。[2] :339
OvRと同様に、OvOも入力空間の一部の領域が同じ数の投票を受け取る可能性があるという曖昧さを抱えている。[2] : 183
バイナリからの拡張
このセクションでは、既存のバイナリ分類器を拡張して多クラス分類問題を解決する戦略について説明します。多クラス分類問題に対処するために、ニューラル ネットワーク、決定木、k 近傍法、ナイーブ ベイズ、サポート ベクター マシン、エクストリーム ラーニングマシンに基づくいくつかのアルゴリズムが開発されています。これらのタイプの技術は、アルゴリズム適応技術とも呼ばれます。
ニューラルネットワーク
マルチクラスパーセプトロンは、マルチクラス問題への自然な拡張を提供します。出力層にバイナリ出力を持つニューロンを 1 つだけ持つ代わりに、N 個のバイナリニューロンを使用してマルチクラス分類を行うことができます。実際には、ニューラルネットワークの最後の層は通常、ソフトマックス関数層です。これは、クラスごとに N-1 個の他のロジスティック分類器の合計で正規化された、N 個のロジスティック分類器の代数的簡略化です。ニューラルネットワークベースの分類は、大きな改善と、さまざまな観点から考える余地をもたらしました。[3] [4]
極限学習マシン
エクストリーム ラーニング マシン(ELM) は、入力重みと隠しノード バイアスをランダムに選択できる、単一隠し層フィードフォワード ニューラル ネットワーク (SLFN) の特殊なケースです。マルチクラス分類用に、ELM には多くのバリエーションと開発が行われています。
k近傍法
k 最近傍法(kNN) は、最も古い非パラメトリック分類アルゴリズムの 1 つと考えられています。未知の例を分類するには、その例から他のすべてのトレーニング例までの距離を測定します。k 個の最小距離が特定され、これらの k 個の最近傍によって最もよく表されるクラスが出力クラス ラベルと見なされます。
ナイーブベイズ
ナイーブベイズは、最大事後確率 (MAP) の原理に基づく優れた分類器です。このアプローチは、2 つ以上のクラスがある場合にも自然に拡張可能であり、条件付き独立性という基本的な単純化された仮定にもかかわらず、優れたパフォーマンスを発揮することが示されています。
決定木
決定木学習は強力な分類手法です。ツリーは、利用可能な特徴の値に基づいてトレーニング データの分割を推測し、適切な一般化を行おうとします。このアルゴリズムは、バイナリまたはマルチクラスの分類問題を自然に処理できます。リーフ ノードは、関連する K クラスのいずれかを参照できます。
サポートベクターマシン
サポート ベクター マシンは、マージンを最大化する、つまり分離超平面から最も近い例までの最小距離を最大化するという考え方に基づいています。基本的な SVM はバイナリ分類のみをサポートしますが、マルチクラス分類のケースも処理できるように拡張が提案されています。これらの拡張では、さまざまなクラスの分離を処理するために、追加のパラメーターと制約が最適化問題に追加されます。
多式プログラミング
マルチエクスプレッションプログラミング(MEP) は、コンピュータプログラムを生成するための進化的アルゴリズムです (分類タスクにも使用できます)。MEP には、複数のプログラムを 1 つの染色体にエンコードするというユニークな機能があります。これらの各プログラムはクラスの出力を生成するために使用できるため、MEP は多クラス分類問題の解決に自然に適しています。
階層的分類
階層的分類は、出力空間をツリーに分割することで、多クラス分類の問題に取り組みます。各親ノードは複数の子ノードに分割され、各子ノードが 1 つのクラスのみを表すまでプロセスが続行されます。階層的分類に基づくいくつかの方法が提案されています。
学習パラダイム
学習パラダイムに基づいて、既存のマルチクラス分類技術は、バッチ学習とオンライン学習に分類できます。バッチ学習アルゴリズムでは、すべてのデータサンプルが事前に利用可能である必要があります。トレーニングデータ全体を使用してモデルをトレーニングし、見つかった関係を使用してテストサンプルを予測します。一方、オンライン学習アルゴリズムは、モデルを順次反復して段階的に構築します。反復 t では、オンラインアルゴリズムはサンプル x t を受け取り、現在のモデルを使用してそのラベル ŷ t を予測します。次に、アルゴリズムはx tの真のラベルy tを受け取り、サンプルラベルペア (x t、y t )に基づいてモデルを更新します。最近、漸進的学習技術と呼ばれる新しい学習パラダイムが開発されました。[5]漸進的学習技術は、新しいサンプルから学習できるだけでなく、新しいクラスのデータを学習しながら、これまでに学習した知識を保持することができます。[6]
評価
多クラス分類システムのパフォーマンスは、システムの予測値と参照ラベルを評価基準と比較することによって評価されることが多い。一般的な評価基準は、精度またはマクロF1である。[7]
参照
注記
- ^ マルチラベル分類では、OvR はバイナリ関連性として知られており、複数クラスの予測は問題ではなく機能と見なされます。
参考文献
- ^ Mohamed, Aly (2005). 「マルチクラス分類法に関する調査」技術レポート、Caltech。
- ^ abcde ビショップ、クリストファー M. (2006)。パターン認識と機械学習。シュプリンガー。
- ^ Ekin, Cubuk (2019). 「Autoaugment: データから拡張戦略を学ぶ」。IEEE /CVF コンピュータービジョンおよびパターン認識会議の議事録。
- ^ Kabir, HM Dipu (2023). 「背景情報によるクラス活性化の不確実性の低減」. arXiv : 2305.03238 [cs.CV].
- ^ Venkatesan, Rajasekar; Meng Joo, Er (2016). 「マルチクラス分類のための新しい漸進的学習手法」。Neurocomputing . 207 : 310–321. arXiv : 1609.00085 . doi :10.1016/j.neucom.2016.05.006. S2CID 12510650.
- ^ ヴェンカテサン、ラジャセカール。 「プログレッシブ学習テクニック」。
- ^ Opitz, Juri (2024). 「分類評価指標の詳細と一般的な評価方法の批判的考察」. Transactions of the Association for Computational Linguistics . 12 : 820–836. arXiv : 2404.16958 . doi :10.1162/tacl_a_00675.
