O que decide a escolha da função (Softmax vs Sigmoid) em um classificador Logístico?
Suponha que existem 4 classes de saída. Cada uma das funções acima fornece as probabilidades de cada classe ser a saída correta. Então, qual levar para um classificador?
Respostas:
A função sigmoide é usada para a regressão logística de duas classes, enquanto a função softmax é usada para a regressão logística multiclasse (também conhecida como MaxEnt, regressão logística multinomial, regressão softmax, Regressão softmax, Classificador de Entropia Máxima).
Na regressão logística de duas classes, as probabilidades previstas são as seguintes, usando a função sigmóide:
Na regressão logística multiclasse, com classes , as probabilidades previstas são as seguintes, usando a função softmax:K
Pode-se observar que a função softmax é uma extensão da função sigmóide para o caso multiclasse, conforme explicado abaixo. Vejamos a regressão logística multiclasse, com classes:K=2
com . Vemos que obtemos as mesmas probabilidades da regressão logística de duas classes usando a função sigmóide. A Wikipedia expande um pouco mais sobre isso.β=−(β0−β1)
fonte
Eles são, de fato, equivalentes, no sentido de que um pode ser transformado no outro.
Suponha que seus dados sejam representados por um vetor , de dimensão arbitrária, e você construiu um classificador binário para eles, usando uma transformação afim seguida por um softmax:x
Vamos transformá-lo em um classificador binário equivalente que usa um sigmóide em vez do softmax. Primeiro de tudo, temos que decidir qual é a probabilidade que queremos que o sigmóide (que pode ser da classe ou ). Essa escolha é absolutamente arbitrária e, portanto, escolho a classe . Então, meu classificador terá o formato:C0 C1 C0
Os classificadores são equivalentes se as probabilidades são as mesmas, portanto, devemos impor:
Substituindo , e pelas expressões em termos de e e fazendo algumas coisas simples manipulação algébrica, você pode verificar que a igualdade acima detém se e somente se e são dadas por:z0 z1 z′ w0,w1,w′,b0,b1,b′ x w′ b′
fonte
Notei que as pessoas geralmente são direcionadas para essa pergunta ao pesquisar se devem usar sigmóide ou softmax em redes neurais. Se você é uma dessas pessoas que cria um classificador de rede neural, veja como decidir se aplica sigmoid ou softmax aos valores brutos de saída da sua rede:
Referência: para obter uma explicação mais detalhada de quando usar sigmoid vs. softmax no design de redes neurais, incluindo exemplos de cálculos, consulte este artigo: "Classificação: Sigmoid vs. Softmax."
fonte
Acrescentando a todas as respostas anteriores - eu gostaria de mencionar o fato de que qualquer problema de classificação de várias classes pode ser reduzido a vários problemas de classificação binária usando o método "one-vs-all", ou seja, com sigmoides C (quando C é o número de classes) e interpretar cada sigmóide para ter a probabilidade de estar nessa classe específica ou não, e obter a probabilidade máxima.
Por exemplo, no exemplo de dígitos do MNIST, você pode usar um softmax ou dez sigmóides. De fato, é isso que Andrew Ng faz em seu curso Coursera ML. Você pode conferir aqui como Andrew Ng usou 10 sigmóides para a classificação multiclasse (adaptado de Matlab para python por mim), e aqui está minha adaptação do softmax em python.
Além disso, vale a pena notar que, embora as funções sejam equivalentes (para fins de classificação em várias classes), elas diferem um pouco em sua implementação (especialmente no que diz respeito a suas derivadas e como representar y).
Uma grande vantagem do uso de várias classificações binárias (ou seja, sigmóides) sobre uma única classificação de várias classes (ou seja, Softmax) - é que se o seu softmax for muito grande (por exemplo, se você estiver usando uma incorporação de uma palavra quente com um tamanho de dicionário de 10K ou mais ) - pode ser ineficiente treiná-lo. O que você pode fazer é pegar uma pequena parte do seu conjunto de treinamento e usá-lo para treinar apenas uma pequena parte dos seus sigmóides. Essa é a principal idéia por trás da amostragem negativa .
fonte