Softmax | Qu'est-ce que la fonction d'activation Softmax?

Contenu

Cibler

  • La fonction de réveil est l’un des composants de base de la neuronal rouge
  • Comprendre le fonctionnement de l'activation Softmax dans un problème de classification multiclasse

introduction

La fonction d'activation fait partie intégrante d'un réseau de neurones. Sans fonction réveil, un réseau de neurones est un modèle de régression linéaire simple. Cela signifie que la fonction d'activation accorde la non-linéarité au réseau de neurones.

Noter: Si vous êtes plus intéressé par l'apprentissage de concepts dans un format audiovisuel, nous avons cet article complet expliqué dans la vidéo ci-dessous. Si ce n'est pas comme ça, tu peux continuer à lire.

Si tu veux aller plus loin, Je vous recommande de lire l'article suivant.

Principes fondamentaux de la l'apprentissage en profondeur: fonctionnalités d'activation et quand les utiliser

Dans cet article, nous discuterons de la fonction d'activation de SoftMax. Populairement utilisé pour les problèmes de classification multiclasse. Comprenons d'abord l'architecture du réseau de neurones pour un problème de classification multi-classes et aussi pourquoi d'autres fonctions d'activation ne peuvent pas être utilisées dans ce cas.

Exemple

Supposons que nous ayons l'ensemble de données suivant et pour chaque observation, nous avons cinq fonctionnalités de FeatureX1 à FeatureX5 et le variable de destination a trois classes.

capture d

Créons maintenant un réseau de neurones simple pour ce problème. Ici, Nous avons un couche d'entrée avec cinq neurones, puisque nous avons cinq caractéristiques dans l'ensemble de données. Ensuite, nous avons une couche cachée qui a quatre neurones. Chacun de ces neurones utilise des entrées, pondérations et biais ici pour calculer une valeur qui est représentée ici par Zij.

capture d

Par exemple, le premier neurone de la première couche est représenté par Z11 De même, le deuxième neurone de la première couche est représenté par Z12, et ainsi de suite.

Sur ces valeurs on applique la fonction d'activation. Disons une fonction d’activation tanh et envoyons les valeurs ou le résultat à la fonction Couche de sortie.

Le nombre de neurones dans la couche de sortie dépend du nombre de classes dans l'ensemble de données. Puisque nous avons trois classes dans l'ensemble de données, nous aurons trois neurones dans la couche de sortie. Chacun de ces neurones donnera la probabilité de classes individuelles. Cela signifie que le premier neurone vous donnera la probabilité que le point de données appartienne à la classe 1. de la même manière, le deuxième neurone vous donnera la probabilité que le point de données appartienne à la classe 2 et ainsi de suite.

Pourquoi pas sigmoïde?

Supposons que nous calculions la valeur Z en utilisant les poids et les biais de cette couche et appliquions la fonction d'activation sigmoïde sur ces valeurs. On sait que la fonction d'activation sigmoïde donne la valeur entre 0 Oui 1. Supposons que ce soient les valeurs que nous obtenons en sortie.

capture d

Il y a deux problèmes dans ce cas:

Premier, si on applique un seuil de, Disons, 0.5, ce réseau dit que le point de données d'entrée appartient à deux classes. En second lieu, ces valeurs de probabilité sont indépendantes les unes des autres. Cela signifie la probabilité que le point de données appartienne à la classe 1 ne tient pas compte de la probabilité des deux autres classes.

C'est la raison pour laquelle la fonction d'activation sigmoïde n'est pas préférée dans les problèmes de classification de classes multiples..

Activation Softmax

Au lieu d'utiliser sigmoïde, nous utiliserons la fonction d'activation Softmax sur la couche de sortie dans l'exemple ci-dessus. La fonction de déclenchement Softmax calcule les probabilités relatives. Cela signifie qu'il utilise la valeur de Z21, Z22, Z23 pour déterminer la valeur de probabilité finale.

Voyons comment fonctionne réellement la fonction d'activation softmax. Similaire à la fonction d'activation sigmoïde, la Fonction SoftMax Renvoie la probabilité de chaque classe. Voici l'équation de la fonction d'activation SoftMax.

capture d

Ici, le Z représente les valeurs des neurones de la couche de sortie. L'exponentielle agit comme une fonction non linéaire. Plus tard ces valeurs sont divisées par la somme des valeurs exponentielles afin de les normaliser puis de les convertir en probabilités.

Notez que, quand le nombre de classes est de deux, devient la même que la fonction d'activation sigmoïde. En d'autres termes, sigmoïde est simplement une variante de la fonction Softmax. Si vous voulez plus d'informations sur ce concept, voir ce lien.

Comprenons avec un exemple simple comment fonctionne le softmax, nous avons le réseau de neurones suivant.

capture d

Supposons que la valeur de Z21, Z22, Z23 s'avère être 2,33, -1,46 Oui 0,56 respectivement. Maintenant la fonction d'activation SoftMax est appliquée à chacun de ces neurones et les valeurs suivantes sont générées.

capture d

Ce sont les valeurs de probabilité signalées par une donnée appartenant aux classes respectives. Notons que la somme des probabilités, dans ce cas, est égal à 1.

capture d

Dans ce cas, il est clair que l'entrée appartient à la classe 1. Ensuite, si la probabilité de l'une de ces classes change, la valeur de probabilité de la première classe changerait également.

Remarques finales

Il s'agit de la fonction d'activation de SoftMax dans cet article. Ici, nous avons vu pourquoi nous ne devrions pas utiliser de fonctions d'activation comme sigmoïde ou tanh dans les problèmes de classification multiclasse et aussi comment la fonction softmax fonctionne à travers un exemple.

Si vous cherchez à commencer votre parcours en science des données et que vous voulez tous les sujets sous un même toit, votre recherche s'arrête ici. Jetez un œil à l'IA et au ML BlackBelt certifiés de DataPeaker Plus Programme

Si vous avez des questions, faites le moi savoir dans les commentaires ci-dessous.

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.