「犬か猫か」なら二択ですが、「犬か猫か鳥か馬か」になった瞬間、分類問題は一段難しくなります。3つ以上のカテゴリに分ける多クラス分類では、二値分類器をどう組み合わせるかという工夫が生まれました。G検定ではOne-vs-RestとOne-vs-Oneの方式の違い、必要な分類器の数が定番の出題ポイントです。
📖 ひと言でいうと
多クラス分類は、データを3つ以上のクラス(カテゴリ)のいずれかに分類する手法です。二値分類器を複数組み合わせるOne-vs-Rest方式・One-vs-One方式と、全クラスの確率を一度に出す多クラスソフトマックスが代表的なアプローチです。
例えるなら、多人数の人気投票のやり方の違いです。「候補Aか、それ以外か」を候補ごとに聞くのがOne-vs-Rest、「AとBならどっち?」と総当たり戦をするのがOne-vs-One、全候補への支持率を一度に答えてもらうのがソフトマックス、という整理ができます。
🖼 1枚でわかる多クラス分類
📘 公式テキストの説明
データを複数のカテゴリに分類する手法を多クラス分類と呼ぶ。この手法は3つ以上のクラスを対象とする分類問題に対応するために開発された。代表的な手法として、One-vs-Rest、One-vs-One、多クラスソフトマックスの3種類がある。One-vs-Rest方式では、着目するクラスとそれ以外のクラスという二項対立の形で問題を捉える。この処理をすべてのクラスについて実施する。複数のクラスに分類される可能性がある場合は、各分類器の出力値の大きさを基準に最終的な判定を行う。One-vs-One方式は、2つのクラスの組み合わせごとに分類を行う。n個のクラスがある場合、必要な分類器の数はnC2個となる。この方式では、各分類器による判定結果の多数決によって、最終的なクラスを決定する。
この説明の背景には、「SVMやロジスティック回帰などの多くの分類器は、もともと2クラスを分ける二値分類器である」という事情があります。二値分類器しか手元にないとき、3クラス以上の問題をどう解くか——その答えが、二値分類器を複数束ねるOne-vs-Rest(OvR)とOne-vs-One(OvO)です。一方、多クラスソフトマックスは束ねるのではなく、1つのモデルが全クラスの確率を同時に出す直接的な方式です。
🔍 しっかり理解する
One-vs-Rest:1クラス対「その他全部」
犬・猫・鳥の3クラスなら、「犬か否か」「猫か否か」「鳥か否か」という3個の二値分類器を作ります。クラス数がnなら分類器はn個です。新しいデータは全分類器にかけ、たとえば「犬か否か」と「猫か否か」の両方が「はい」と言うような衝突が起きた場合は、各分類器の出力値(確信度)の大きさを比べて最終判定します。
One-vs-One:2クラスずつの総当たり戦
こちらは「犬vs猫」「犬vs鳥」「猫vs鳥」のように、2つのクラスの組み合わせごとに分類器を作ります。クラス数がnなら組み合わせの数はnC2個、つまりn×(n−1)÷2個です。3クラスなら3個、10クラスなら45個になります。新しいデータは全対戦にかけられ、各分類器の判定結果の多数決で最も勝ち数の多いクラスに決定します。分類器の個数はOvRより多くなりますが、1つ1つの分類器は2クラス分のデータだけで学習するため、個々の学習は小さく済みます。
- 「着目クラス vs それ以外」の二項対立
- 分類器の数はクラス数と同じn個
- 衝突時は出力値の大きさで最終判定
- 2クラスの組み合わせごとに対戦
- 分類器の数はnC2個(n=10なら45個)
- 判定結果の多数決で最終決定
多クラスソフトマックス:確率を一度に出す
第3の方式が多クラスソフトマックスです。モデルが各クラスに対するスコアを計算し、ソフトマックス関数で「合計すると1になる確率の形」に変換します。たとえば犬0.7・猫0.2・鳥0.1のような出力が得られ、最も確率の高いクラスを答えとします。二値分類器を束ねる必要がなく1つのモデルで完結するのが特徴で、ニューラルネットワークの出力層はほぼこの方式です。ディープラーニングの章で学ぶソフトマックス関数と同じものが、ここで多クラス分類の道具として登場していると押さえておきましょう。
💡 具体例で考える
手書き数字認識(0〜9の10クラス)をSVMで解くとします。SVMは二値分類器なので、OvR方式なら「0か否か」〜「9か否か」の10個の分類器を用意します。OvO方式なら10C2=45個の分類器で総当たり戦を行い、多数決で数字を決めます。同じ問題をニューラルネットワークで解くなら、出力層に10個のユニットを置き、ソフトマックスで10クラスの確率を一度に出すのが標準です。同じ10クラス分類でも、使う学習器によって多クラス化の戦略が変わる、という点がこの例のポイントです。
もう1つの例はニュース記事の自動カテゴリ分類です。「政治・経済・スポーツ・芸能」の4カテゴリなら、OvRで4個、OvOで6個の分類器になります。記事がどのカテゴリにも強く該当しそうなときに、OvRでは出力値の比較で決着させる、という運用がそのまま公式テキストの記述に対応します。
⚠️ よくある誤解・紛らわしい用語
- 二値分類との関係 — 多クラス分類は3クラス以上が対象です。ただしOvR・OvOの中身は二値分類器の組み合わせであり、「多クラス分類は二値分類と無関係」ではなく「二値分類を部品として使う」関係です。
- OvRとOvOの分類器数の混同 — OvRはn個、OvOはnC2個です。数値を入れ替えた選択肢が頻出なので、10クラスならOvR=10個・OvO=45個と具体数で覚えると安全です。
- 最終判定方法の混同 — OvRは「出力値の大きさ」、OvOは「多数決」です。方式と判定方法の組み合わせを入れ替えた誤答肢に注意してください。
- 多ラベル分類との違い — 多クラス分類は「1つのデータに1つのクラス」を割り当てます。1つのデータに複数のラベル(例: 1本の映画にアクションとコメディの両方)を付ける多ラベル分類は別の問題設定です。
📝 試験でのポイント
- 「n個のクラスに対して必要な分類器の数」を問う計算問題が典型です。OvR=n個、OvO=nC2=n(n−1)/2個を使えるようにしておきましょう。
- 「着目するクラスとそれ以外という二項対立」=OvR、「2つのクラスの組み合わせごと」=OvO、という言い回しの対応づけが問われます。
- 代表的な3手法(One-vs-Rest・One-vs-One・多クラスソフトマックス)をセットで選ばせる問題に備えてください。
- ソフトマックスは「出力の合計が1になる確率」という性質まで押さえると、ディープラーニング分野の問題にも流用できます。
📚 まとめ
多クラス分類は、3つ以上のクラスを対象とする分類問題への対応策です。二値分類器を「クラスvsその他」で束ねるOne-vs-Rest(n個・出力値で判定)、2クラス総当たりのOne-vs-One(nC2個・多数決)、そして全クラスの確率を一度に出す多クラスソフトマックスの3方式が代表です。方式名・分類器の数・最終判定方法の3点セットを対応づけて覚えることが、この用語の攻略法です。
