Definição da função softmax


8

Esta pergunta segue em stats.stackexchange.com/q/233658

O modelo de regressão logística para as classes {0, 1} é

P(y=1|x)=exp(wTx)1+exp(wTx)P(y=0|x)=11+exp(wTx)

Claramente, essas probabilidades somam 1. Ao definir , também poderíamos definir regressão logística comow=β1β0

P(y=c|x)=exp(βcTx)exp(β0Tx)+exp(β1Tx)c{0,1}

No entanto, a segunda definição raramente é usada porque os coeficientes e não são exclusivos. Em outras palavras, o modelo não é identificável, assim como a regressão linear com duas variáveis ​​que são múltiplas uma da outra.β0β1

Questão

No aprendizado de máquina, por que o modelo de regressão softmax para as classes {0, 1, ..., K - 1} geralmente é definido da seguinte maneira?

P(y=c|x)=exp(βcTx)exp(β0Tx)++exp(βK1Tx)c{0,,K1}

Não deveria ser

P(y=c|x)=exp(wcTx)1+exp(w1Tx)++exp(wK1Tx)c{1,,K1}P(y=0|x)=11+exp(w1Tx)++exp(wK1Tx)

Nota lateral: Nas estatísticas, a regressão softmax é chamada de regressão logística multinomial e as classes são {1, ..., K}. Acho isso um pouco estranho, porque quando K = 2, as classes são {1, 2} em vez de {0, 1}, portanto, não é exatamente uma generalização da regressão logística.


Geralmente é definido dessa maneira? Você pode apontar para uma referência?
O Laconic

@TheLaconic Veja a definição de softmax em scikit-learn.org/stable/modules/neural_networks_supervised.html e www.tensorflow.org/versions/r1.1/get_started/mnist/beginners
farmer

ESTÁ BEM. Perguntei porque nunca vi modelos de regressão MNL definidos dessa maneira. Mas, aparentemente, é "usual" no contexto de redes neurais - e agora eu tenho a mesma pergunta que você.
O Laconic

1
Não sei como responder a uma pergunta "não deveria ser X". A definição fornecida é diferenciável e define uma distribuição de probabilidade (soma 1). Parece que essas são as partes importantes, então por que não deveria ser isso em vez da outra?
Kbrose # 18/18

@kbrose por causa da falta de identiability
Taylor

Respostas:


2

Sim, você está certo de que há uma falta de identificação, a menos que um dos vetores coeficientes seja corrigido. Existem algumas razões que não mencionam isso. Não sei explicar por que eles omitem esse detalhe, mas aqui está uma explicação do que é e como corrigi-lo.

Descrição

Digamos que você tenha observações e preditores , onde vou de a denota o número / índice da observação. Você vai precisar de estimar dimensional coeficiente de vetores .yi{0,1,2,,K1}xiRpi1nK pβ0,β1,,βK1

A função softmax é realmente definida como que possui boas propriedades, como diferenciabilidade, soma , etc.

softmax(z)i=exp(zi)l=0K1exp(zl),
1

A regressão logística multinomial usa a função softmax para cada observação no vetor i

[xiβ0xiβ1xiβK1,]

que significa

[P(yi=0)P(yi=1)P(yi=K1)]=[exp[xiβ0]k=0K1exp[xiβk]exp[xiβ1]k=0K1exp[xiβk]exp[xiβK1]k=0K1exp[xiβk]].

O problema

No entanto, a probabilidade não é identificável porque várias coleções de parâmetros fornecerão a mesma probabilidade. Por exemplo, mudar todos os vetores de coeficiente pelo mesmo vetor produzirá a mesma probabilidade. Isso pode ser visto se você multiplicar cada numerador e denominador de cada elemento do vetor por uma constante , nada muda:cexp[xic]

[exp[xiβ0]k=0K1exp[xiβk]exp[xiβ1]k=0K1exp[xiβk]exp[xiβK1]k=0K1exp[xiβk]]=[exp[xi(β0c)]k=0K1exp[xi(βkc)]exp[xi(β1c)]k=0K1exp[xi(βkc)]exp[xi(βK1c)]k=0K1exp[xi(βkc)]].

Consertando-o

A maneira de corrigir isso é restringir os parâmetros. A correção de um deles levará à identificabilidade, porque a mudança de todos eles não será mais permitida.

Existem duas opções comuns:

  • defina , o que significa (você mencionou este) ec=β0β0=0
  • defina , o que significa .c=βK1βK1=0

Ignorando

Às vezes, a restrição não é necessária. Por exemplo, se você estava interessado em formar um intervalo de confiança para a quantidade , então é o mesmo que . relativamente quantidades realmente não importa. Além disso, se sua tarefa for previsão em vez de inferência de parâmetros, suas previsões não serão afetadas se todos os vetores de coeficiente forem estimados (sem restringir um).β10β12β10c[β12c]

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.