Sono, infatti, equivalenti, nel senso che uno può essere trasformato nell'altro.
Supponiamo che i tuoi dati siano rappresentati da un vettore , di dimensione arbitraria, e che tu abbia creato un classificatore binario per esso, usando una trasformazione affine seguita da una softmax:x
(z0z1)=(wT0wT1)x+(b0b1),
P(Ci|x)=softmax(zi)=eziez0+ez1,i∈{0,1}.
Trasformiamolo in un classificatore binario equivalente che utilizza un sigmoid invece del softmax. Prima di tutto, dobbiamo decidere quale è la probabilità che vogliamo che il sigmoid emetta (che può essere per la classe o ). Questa scelta è assolutamente arbitraria e quindi scelgo la classe . Quindi, il mio classificatore sarà nel formato:C0C1C0
z′=w′Tx+b′,
P(C0|x)=σ(z′)=11+e−z′,
P(C1|x)=1−σ(z′).
I classificatori sono equivalenti se le probabilità sono uguali, quindi dobbiamo imporre:
σ(z′)=softmax(z0)
Sostituendo , e con le loro espressioni in termini di e e facendo un po' di semplicità manipolazione algebrica, puoi verificare che l'uguaglianza di cui sopra sia valida se e solo se e sono dati da:z0z1z′w0,w1,w′,b0,b1,b′xw′b′
w′=w0−w1,
b′=b0−b1.