1. 定義と概要
多クラス分類とは、入力データを3つ以上のクラス(分類先となるカテゴリのこと)のうちどれか1つに割り当てる教師あり学習(正解ラベル付きのデータからルールを学ぶ学習方法)の分類タスクです。
代表例としては、手書きの数字画像を0から9までの10種類のどれかに判定する手書き数字認識や、動物の写真を「犬」「猫」「鳥」など複数の候補の中から見分けるタスクが挙げられます。入力に対してあらかじめ用意した複数の候補の中から1つを選び出す点が、多クラス分類に共通する特徴です。
分類タスクはまず、2つのクラスのどちらかに振り分ける二値分類(2つのクラスのどちらかに振り分ける分類タスク)として整理されます。しかし現実の課題では選択肢が3つ以上になることが多く、手書き数字なら10種類、ニュース記事のジャンル分けなら数十種類に及ぶこともあります。二値分類の考え方を複数のクラスへ拡張したものが、多クラス分類にあたります。
教師あり学習の枠組みや特徴量(分類の手がかりとなるデータの性質)といった分類タスク全般の基本は別記事「クラス分類」に譲り、本記事では多クラス分類に固有の手法と出力の仕組みに絞って解説します。
2. 試験対策ポイント
理解するうえで中心になるのが、出力層(ニューラルネットワークの最後にあり、最終的な予測結果を出す層)における活性化関数の対応関係です。二値分類ではシグモイド関数(出力を0から1の確率に変換する、二値分類でよく使う関数)を、多クラス分類ではソフトマックス関数(各クラスのスコアを、合計が1になる確率の形に変換する関数)を出力層に用います。
この対応関係を逆にした記述は、取り違えやすい典型です。二値分類と多クラス分類のどちらを扱うかによって、出力層に使う関数が変わります。
ソフトマックス関数は、各クラスの出力スコアを0から1の値に変換し、全クラスの出力の合計がちょうど1になるよう正規化する仕組みを持ちます。モデルは、この正規化された確率のうち最も値が高いクラスを予測結果として採用します。たとえば手書き数字認識であれば、0から9までの10個のスコアがそれぞれ確率として出力され、その中で最大のスコアを持つ数字が答えとして選ばれます。
学習の過程では、予測した確率と正解ラベルとのズレを測る損失関数(モデルの予測がどれだけ外れているかを数値で表す関数)として、交差エントロピー誤差(予測した確率と正解とのズレの大きさを測る、分類問題でよく使う損失関数)が組み合わされます。
多クラス分類を実現する手法としては、「One-vs-Rest」(一対他)、「One-vs-One」(一対一)、そして多クラスソフトマックスという3つがあります。まず整理したいのは、こうした手法ごとの違いです。それぞれ分類器をどう作るのかを並べておきます。
| 実現手法 | 分類器の作り方 |
|---|---|
| 「One-vs-Rest」(一対他) | 各クラスと「それ以外」を区別する二値分類器を、クラスの数だけ用意する |
| 「One-vs-One」(一対一) | クラスの組み合わせごとに二値分類器を用意する |
| 多クラスソフトマックス | 1つのネットワークの出力層で各クラスの確率を直接出力する |
「One-vs-Rest」はクラスの数と同じ数の分類器で済むのに対し、「One-vs-One」はクラスの組み合わせごとに分類器を用意するため、手法によって分類器の数と計算量が異なる関係にあります。
3. 関連概念との比較・相違点
二値分類(クラス分類の基本形)との最大の違いは、クラス数と、それに対応する出力層の活性化関数です。二値分類は2つのクラスのどちらかを判定して出力層にシグモイド関数を用いるのに対し、多クラス分類は3つ以上のクラスを判定して出力層にソフトマックス関数を用いる関係にあります。
この違いを2つの軸で並べると、次のようになります。
| 項目 | 二値分類 | 多クラス分類 |
|---|---|---|
| クラス数 | 2つ | 3つ以上 |
| 出力層の活性化関数 | シグモイド関数 | ソフトマックス関数 |
どちらの活性化関数を選ぶかは、扱う問題のクラス数によって自然に決まる関係にあります。分類タスク全般の枠組みは別記事「クラス分類」に譲り、ここではこの対応関係に絞って扱います。
マルチラベル分類(1つのデータに複数のラベルを同時に割り当てる分類方法)との違いは、1つのデータに割り当てるラベルの数です。多クラス分類は1つのデータにつき1クラスのみを割り当てるのに対し、マルチラベル分類は1枚の画像に「屋外」「人物」「昼」といった複数のタグを同時に付与します。
候補の中から1つだけを選ぶか、複数を同時に選ぶかという点が両者を分ける軸になります。多クラス分類とマルチラベル分類は名称が似ているため、クラス数の違いと混同されやすい組み合わせです。
4. ビジネス・実務での活用シナリオ
画像認識の分野では、手書き数字(0から9)や動物の写真判定など、10種類前後のカテゴリを一度に見分ける画像分類システムが使われています。検品ラインでは、製品の良品・不良品だけでなく不良の種類まで多クラスで判定することで、原因ごとの対処を自動的に振り分けられるようになり、仕分け作業の効率化につながります。単に良品か不良品かを判定する二値分類に比べ、不良の種類まで一度に特定できる点が多クラス分類ならではの強みです。
自然言語処理(人間が使う言葉をコンピュータに処理させる技術分野)の領域では、ニュース記事や問い合わせメールを「政治」「スポーツ」「経済」といった複数ジャンルへ自動的に振り分ける文書分類に多クラス分類が活用されています。膨大な文書を人手で仕分けるには時間がかかりますが、あらかじめ用意したジャンルの中から最も確率の高いものを機械が提示することで、情報整理や問い合わせの一次対応にかかる負担を抑えられます。
医療診断支援の現場では、検査画像や症状データをもとに、複数の疾患候補の中から可能性の高いものを提示するシステムに多クラス分類の考え方が用いられています。単に陽性か陰性かの二値判定にとどまらず、候補となる疾患を確率つきで並べて示せるため、医師が最終判断を下す際の材料を補う役割を果たします。複数の疾患が候補に挙がる場面では、確率の高い順に並べて提示できる多クラス分類の性質が実務上の利点になります。
5. 要点まとめ
- 多クラス分類は、入力データを3つ以上のクラスのどれか1つに割り当てる分類タスクで、二値分類の拡張にあたります。
- 出力層ではソフトマックス関数を用い、二値分類のシグモイド関数に対応する形で、各クラスの出力の合計が1になるよう確率に変換します。
- 「One-vs-Rest」・「One-vs-One」・多クラスソフトマックスという3つの実現手法があり、分類器の作り方と計算量が異なります。
6. 確認問題
問1多クラス分類は、入力データを3つ以上のクラスのうちどれか1つに割り当てる分類タスクである。
解答・解説をみる
○ 正しい
二値分類(2つのクラスのどちらかに振り分ける分類タスク)の拡張にあたり、手書き数字認識(0から9の10クラス)のようなタスクが代表例です。
問2多クラス分類のニューラルネットワークでは、出力層にソフトマックス関数ではなくシグモイド関数を用いるのが標準的である。
解答・解説をみる
× 誤り
標準はソフトマックス関数です。シグモイド関数は二値分類の出力層で使われる関数であり、両者の対応関係を逆にした記述は取り違えやすい点です。正しくは、多クラス分類はソフトマックス関数、二値分類はシグモイド関数という対応になります。
問3「One-vs-Rest」(一対他)は、各クラスと「それ以外」を区別する二値分類器を、クラス数と同じ数だけ用意する手法である。
解答・解説をみる
○ 正しい
「One-vs-Rest」はクラス数と同数の二値分類器を用意する手法であり、クラスの組み合わせごとに分類器を作る「One-vs-One」より分類器の数を抑えやすい傾向があります。

