質問: ディープラーニングの勉強をしています。 なぜシグモイド関数では多クラス分類できず、ソフトマックス関数では多クラス分類できるのでしょうか? シグモイド関数は0〜1の間で出力を表現し、もっとも大きい出力値を持つのをそのクラスに属する、と分類できそうな気がしていて、多クラス分類にはソフトマックス関数のみが使われている理由を知りたいです。
回答: sigmoid関数で多クラス分類ができないというのは誤解があります。logistic回帰はsigmoid関数を用いていますが多クラス分類ができます。ただ、sigmoid関数を使って多クラス分類を行う場合、one-restアプローチのようなテクニックが必要となり、計算量が増えます。(one-restアプローチは、識別したいクラスとそれ以外の残りの二値問題に簡略化して境界線を決定すると処理をクラス数だけ行い、結果を組み合わせて各クラスに属する確率を求めるもの) softmaxは多クラス問題を効率的に計算できるものとして導入されたものです。もともとはlogitモデルで用いられていたものです。このlogitモデルの多クラスに属する割合を計算する手法をニューラルネットに応用したのでしょう。なお、softmax関数はsigmoid関数の多変量展開したものだそうです。つまり、数字的にはsoftmax関数が一般的でsigmoid関数は二値問題の特殊解なのかもしれません。