ニューラル ネットワークの出力層では、softmax 関数を使用して確率分布を近似するのが一般的です。
これは、指数のために計算コストが高くなります。すべての出力が正になるように単純に Z 変換を実行し、すべての出力をすべての出力の合計で割って正規化しないのはなぜですか?
ニューラル ネットワークの出力層では、softmax 関数を使用して確率分布を近似するのが一般的です。
これは、指数のために計算コストが高くなります。すべての出力が正になるように単純に Z 変換を実行し、すべての出力をすべての出力の合計で割って正規化しないのはなぜですか?
の値q_i
は無制限のスコアであり、対数尤度として解釈されることもあります。この解釈では、未処理の確率値を復元するには、指数化する必要があります。
統計アルゴリズムがしばしば対数尤度損失関数を使用する理由の 1 つは、それらがより数値的に安定していることです。確率の積は、非常に小さな浮動小数点数で表される可能性があります。対数尤度損失関数を使用すると、確率の積が合計になります。
もう 1 つの理由は、多変量ガウス分布から引き出されると想定される確率変数の推定量を導出するときに、対数尤度が自然に発生することです。たとえば、最尤推定量 (ML) 推定量と最小二乗法への接続方法を参照してください。
マルチクラスの分類問題を見ています。つまり、予測変数はカテゴリy
の 1 つを取ることができます。確率論では、これは通常、多項分布によってモデル化されます。多項分布は、指数族分布のメンバーです。指数族分布の特性を使用して確率を再構築できます。これはソフトマックスの式と一致します。k
k > 2
P(k=?|x)
問題が多項分布以外の別の分布でモデル化できると思われる場合は、ソフトマックスとは異なる結論に達する可能性があります。
詳細および正式な導出については、CS229 レクチャー ノート (9.3 Softmax Regression)を参照してください。
さらに、ソフトマックスに対して通常実行される便利なトリックは次のとおりです。