Pourquoi la fonction softmax est-elle utilisée pour calculer les probabilités alors que nous pouvons diviser chaque valeur par la somme du vecteur?

20

L'application de la fonction softmax sur un vecteur produira des "probabilités" et des valeurs comprises entre et . 01

Mais nous pouvons également diviser chaque valeur par la somme du vecteur et cela produira des probabilités et des valeurs comprises entre et .01

J'ai lu la réponse ici mais il dit que la raison est parce que c'est différentiable, bien que les deux fonctions soient différenciables.

Floyd
la source
1
Je pense que c'est mieux si vous regardez d'abord la régression logistique. votre «objectif» est de transformer monotone en (0,1). C'est ce que fait la fonction logistique. Notez que toute fonction de distribution cumulative (probabilité) sur la ligne réelle fonctionne également - voir la régression probit qui utilise la fonction de distribution normale. (,)
seanv507

Réponses:

36

La fonction que vous proposez a une singularité chaque fois que la somme des éléments est nulle.

Supposons que votre vecteur soit . Ce vecteur a une somme de 0, donc la division n'est pas définie. La fonction n'est pas différenciable ici.[1,13,23]

De plus, si un ou plusieurs des éléments du vecteur sont négatifs mais que la somme est non nulle, votre résultat n'est pas une probabilité.

Supposons que votre vecteur soit . Cela a une somme de 1, donc l'application de votre fonction donne , qui n'est pas un vecteur de probabilité car il a des éléments négatifs et des éléments dépassant 1.[-1,0,2][-1,0,2]

En adoptant une vue plus large, nous pouvons motiver la forme spécifique de la fonction softmax dans la perspective d'étendre la régression logistique binaire au cas de trois résultats catégoriels ou plus.

Faire des choses comme prendre des valeurs absolues ou des carrés, comme suggéré dans les commentaires, signifie que et ont la même probabilité prédite; cela signifie que le modèle n'est pas identifié . En revanche,-XXexp ( x ) xexp(X) est monotone et positif pour tout réel , donc le résultat softmax est (1) un vecteur de probabilité et (2) le modèle logistique multinomial est identifié.X

Sycorax dit de réintégrer Monica
la source
Merci beaucoup. Nous pouvons résoudre les deux problèmes en divisant par la somme des valeurs absolues, non?
floyd
2
Non. Que se passe-t-il si vous additionnez les valeurs absolues de mes deux exemples, puis divisez par cette somme?
Sycorax dit Réintégrer Monica le
vraiment merci. Je comprends maintenant. mais nous pouvons résoudre ce problème en prenant la valeur absolue du numérateur ou peut-être en calculant pour chaque valeur du vecteur. Je n'essaie pas d'être têtu, je trouve juste bizarre que les gens aient inventé une fonction complexe bien qu'il existe des plus simples pour calculer les probabilités. Je ne connais pas beaucoup les mathématiques alors peut-être qu'il y a d'autres propriétés mathématiquesXje2/sum(X2)
floyd
8
[0,0,0]
8
Xje2/jXj2|Xje|/j|Xj|exp(X)
4

Softmax a deux composantes:

  1. Transformez les composants en e ^ x. Cela permet au réseau neuronal de fonctionner avec des probabilités logarithmiques, au lieu de probabilités ordinaires. Cela transforme l'opération courante de multiplication des probabilités en addition, ce qui est beaucoup plus naturel pour la structure basée sur l'algèbre linéaire des réseaux de neurones.

  2. Normalisez leur somme à 1, car c'est la probabilité totale dont nous avons besoin.

Une conséquence importante de cela est que le théorème de bayes est très naturel pour un tel réseau, car il s'agit simplement d'une multiplication de probabilités normalisées par le dénominateur.

Le cas trivial d'un réseau monocouche avec activation softmax équivaut à une régression logistique.

Le cas particulier du softmax à deux composants équivaut à l'activation sigmoïde, qui est donc populaire lorsqu'il n'y a que deux classes. Dans la classification multi-classes, softmax est utilisé si les classes sont mutuellement exclusives et sigmoïde par composant est utilisé si elles sont indépendantes.

CodesInChaos
la source