2つのクラスの場合、バイナリクロスエントロピーはカテゴリカルクロスエントロピーと同じであることを理解しています。
さらに、ソフトマックスとは何かは明らかです。
したがって、カテゴリクロスエントロピーは、1 であるべき 1 つのコンポーネント (確率) にペナルティを課すだけであることがわかります。
しかし、ワンホット ベクトルでバイナリ クロス エントロピーを使用できない、または使用すべきではないのはなぜですか?
Normal Case for 1-Label-Multiclass-Mutual-exclusivity-classification:
################
pred = [0.1 0.3 0.2 0.4]
label (one hot) = [0 1 0 0]
costfunction: categorical crossentropy
= sum(label * -log(pred)) //just consider the 1-label
= 0.523
Why not that?
################
pred = [0.1 0.3 0.2 0.4]
label (one hot) = [0 1 0 0]
costfunction: binary crossentropy
= sum(- label * log(pred) - (1 - label) * log(1 - pred))
= 1*-log(0.3)-log(1-0.1)-log(1-0.2)-log(1-0.4)
= 0.887
バイナリ クロスエントロピーでは、ゼロがターゲット クラスであり、次のワンホット エンコーディングに対応することがわかります。
target class zero 0 -> [1 0]
target class one 1 -> [0 1]
要約すると、予測されたクラスの負の対数尤度を計算/要約するのはなぜですか。他の SHOULD-BE-ZERO-/NOT-THAT-CLASS クラスにペナルティを課さないのはなぜですか?
バイナリクロスエントロピーをワンホットベクトルに使用する場合。予想されるゼロ ラベルの確率にもペナルティが課せられます。