Algoritmos de aprendizado de máquina, como classificadores, modelam estatisticamente os dados de entrada, aqui, determinando as probabilidades da entrada pertencentes a diferentes categorias. Para um número arbitrário de classes, normalmente uma camada softmax é anexada ao modelo para que as saídas tenham propriedades probabilísticas por design:
y⃗ = softmax ( a⃗ ) ≡ 1∑Eue- umEu× [ e- um1 1, e- um2, . . . , e- umn]
0 ≤ yEu≤ 1 para todos os i
y1 1+ y2+ . . . + yn= 1
Aqui, é a ativação da camada antes da camada softmax.uma
Isso é perfeitamente válido para duas classes, no entanto, também é possível usar um neurônio (em vez de dois), desde que sua saída seja satisfatória:
0 ≤ y≤ 1 para todas as entradas.
Isso pode ser garantido se uma transformação (diferenciável / suave para fins de retropropagação) for aplicada, que mapeie de para forma que a condição acima seja atendida. A função sigmóide atende aos nossos critérios. Não há nada de especial nisso, além de uma simples representação matemática,
umay
sigmóide ( a ) ≡ σ( Um ) ≡ 11 + e- um
propriedades matemáticas úteis (diferenciação, sendo delimitada entre 0 e 1 etc.), eficiência computacional e inclinação correta, de modo que a atualização dos pesos da rede tenha uma alteração pequena mas mensurável na saída para fins de otimização.
Conclusão
Não tenho certeza se o raciocínio do @ itdzer que mostra softmax e sigmoid são equivalentes se válidos, mas ele está certo ao escolher 1 neurônio em contraste com 2 neurônios para classificadores binários, pois são necessários menos parâmetros e computação. Também fui criticado por usar dois neurônios para um classificador binário, já que "é supérfluo".