Définition de la fonction softmax


8

Cette question fait suite à stats.stackexchange.com/q/233658

Le modèle de régression logistique pour les classes {0, 1} est

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

Clairement, ces probabilités sont à 1. En définissant nous pourrions également définir la régression logistique commew=β1β0

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

Cependant, la deuxième définition est rarement utilisée car les coefficients et ne sont pas uniques. En d'autres termes, le modèle n'est pas identifiable, tout comme la régression linéaire avec deux variables qui sont multiples l'une de l'autre.β0β1

Question

En apprentissage automatique, pourquoi le modèle de régression softmax pour les classes {0, 1, ..., K - 1} est-il généralement défini comme suit?

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

Ne devrait-il pas plutôt être

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

Note latérale: En statistique, la régression softmax est appelée régression logistique multinomiale et les classes sont {1, ..., K}. Je trouve cela un peu gênant car lorsque K = 2, les classes sont {1, 2} au lieu de {0, 1} donc ce n'est pas exactement une généralisation de la régression logistique.


Est-il généralement défini de cette façon? Pouvez-vous indiquer une référence?
Le Laconic

@TheLaconic Voir la définition de softmax sur scikit-learn.org/stable/modules/neural_networks_supervised.html et www.tensorflow.org/versions/r1.1/get_started/mnist/beginners
agriculteur le

D'ACCORD. J'ai demandé parce que je n'avais jamais vu de modèles de régression MNL définis de cette façon. Mais apparemment, c'est "habituel" dans le contexte des réseaux neuronaux - et maintenant j'ai la même question que vous.
Le Laconic

1
Je ne sais pas comment répondre à une question "ne devrait-il pas être X". La définition donnée est différenciable et définit une distribution de probabilité (somme à 1). Il semble que ce soient les parties importantes, alors pourquoi ne devrait-il pas en être ainsi au lieu des autres?
kbrose

@kbrose en raison du manque d'identification
Taylor

Réponses:


2

Oui, vous avez raison de dire qu'il y a un manque d'identifiabilité à moins qu'un des vecteurs coefficents ne soit fixé. Il y a certaines raisons qui ne le mentionnent pas. Je ne peux pas expliquer pourquoi ils omettent ce détail, mais voici une explication de ce que c'est et comment y remédier.

La description

Supposons que vous ayez des observations et des prédicteurs , où passe de à et désigne le numéro / indice d'observation. Vous devrez estimer les vecteurs coefficient dimensionnel .yi{0,1,2,,K1}xiRpi1nK pβ0,β1,,βK1

La fonction softmax est en effet définie comme qui a de belles propriétés telles que la différentiabilité, il se résume à , etc.

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

La régression logistique multinomiale utilise la fonction softmax pour chaque observation sur le vecteur i

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

ce qui signifie

[P(yje=0)P(yje=1)P(yje=K-1)]=[exp[Xjeβ0]k=0K-1exp[Xjeβk]exp[Xjeβ1]k=0K-1exp[Xjeβk]exp[XjeβK-1]k=0K-1exp[Xjeβk]].

Le problème

Cependant, la probabilité n'est pas identifiable car plusieurs collections de paramètres donneront la même probabilité. Par exemple, décaler tous les vecteurs de coefficient par le même vecteur produira la même probabilité. Cela peut être vu si vous multipliez chacun le numérateur et le dénominateur de chaque élément du vecteur par une constante , rien ne change:cexp[-Xjec]

[exp[Xjeβ0]k=0K-1exp[Xjeβk]exp[Xjeβ1]k=0K-1exp[Xjeβk]exp[XjeβK-1]k=0K-1exp[Xjeβk]]=[exp[Xje(β0-c)]k=0K-1exp[Xje(βk-c)]exp[Xje(β1-c)]k=0K-1exp[Xje(βk-c)]exp[Xje(βK-1-c)]k=0K-1exp[Xje(βk-c)]].

Le réparer

La façon de résoudre ce problème consiste à contraindre les paramètres. La correction de l'un d'entre eux entraînera une identifiabilité, car le déplacement de tous ne sera plus autorisé.

Il y a deux choix communs:

  • set , ce qui signifie (vous mentionnez celui-ci), etc=β0β0=0
  • set , ce qui signifie .c=βK-1βK-1=0

L'ignorer

Parfois, cependant, la restriction n'est pas nécessaire. Par exemple, si vous vouliez former un intervalle de confiance pour la quantité , alors c'est la même chose que , donc relativement les quantités n'ont pas vraiment d'importance. De plus, si votre tâche est la prédiction au lieu de l'inférence de paramètres, vos prédictions ne seront pas affectées si tous les vecteurs de coefficient sont estimés (sans en contraindre un).β10-β12β10-c-[β12-c]

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.