G検定(ジェネラリスト検定)
たくらすぶんるい
多クラス分類
Multiclass Classification
入力がn個のクラスのどれに当たるかを予測する分類で、二値の分類でシグモイド関数が表していた確率をsoftmax関数でn個の値の確率分布へ一般化して扱う。
詳しい説明
多クラス分類とは
多クラス分類は、入力xに対して、とりうる値がn個ある離散的な変数yのどれに当たるかを予測する分類です。英語ではMulticlass Classificationと呼びます。出力がn個の値のどれかになる点で、出力が2つの値のどちらかになる二値の分類と区別されます。
イアン・グッドフェロー(Ian Goodfellow)、ヨシュア・ベンジオ(Yoshua Bengio)、アーロン・クールヴィル(Aaron Courville)による教科書「Deep Learning」(2016年)の第6章は、ニューラルネットワークの出力でこの予測を表す方法を、二値の場合と並べて説明しています。
二値の場合に予測するもの
二値の分類では、ネットワークはひとつの数値を予測します。
ŷ = P(y=1|x)
これは入力xが与えられたとき、yが1である確率です。yがとりうる値は2つしかないので、もう一方の確率は1 - ŷで決まります。この1つの確率を表すのに使われるのがシグモイド関数です。
n値の場合に予測するもの
多クラス分類では、1つの数値では足りず、ベクトルŷを予測します。ベクトルの各要素は、それぞれのクラスの確率です。
ŷᵢ = P(y=i|x)
このベクトルが確率分布として成り立つには、次の2つの条件を満たす必要があります。
- 各要素ŷᵢが0以上1以下の範囲に入ること
- すべての要素を足した和が1になること
softmax関数はシグモイド関数の一般化
「Deep Learning」は、n個の値をとる離散変数の上の確率分布を表したいときにはいつでもsoftmax関数を使えると述べています。そして、softmax関数は二値の変数の確率分布を表すのに使われたシグモイド関数を一般化したものとみなせる、としています。
つまり、二値の分類と多クラス分類の違いは、次のように対応づけられます。
| 二値の分類 | 多クラス分類 | |||
|---|---|---|---|---|
| yがとりうる値 | 2個 | n個 | ||
| 予測するもの | 1つの数値ŷ = P(y=1\ | x) | ベクトルŷ、各要素ŷᵢ = P(y=i\ | x) |
| 確率を表す関数 | シグモイド関数 | softmax関数 |
多クラス分類を理解するときは、二値の分類で1つの確率を出していた仕組みを、n個の確率が0以上1以下で和が1になる形へ広げたもの、ととらえると整理しやすくなります。
試験で問われること
G検定
- 多クラス分類は、とりうる値がn個ある離散的な変数yのどれに当たるかを予測する分類です。出力が2つの値のどちらかになる二値の分類と対比して整理します。
- 二値の分類ではネットワークが1つの数値ŷ = P(y=1|x)を予測するのに対し、多クラス分類では各要素がŷᵢ = P(y=i|x)となるベクトルŷを予測します。
- 多クラス分類の出力ベクトルが確率分布として成り立つには、各要素ŷᵢが0以上1以下であり、すべての要素の和が1になる必要があります。
- n個の値をとる離散変数の確率分布を表すにはsoftmax関数を使います。softmax関数は、二値の変数の確率分布を表すシグモイド関数を一般化したものとみなせます。
最終更新日: 2026/09/23