qu'est-ce qui fait des réseaux de neurones un modèle de classification non linéaire?

18

J'essaie de comprendre la signification mathématique des modèles de classification non linéaires:

Je viens de lire un article sur le fait que les réseaux de neurones sont un modèle de classification non linéaire.

Mais je réalise juste que:

entrez la description de l'image ici

La première couche:

h1=x1wx1h1+x2wx1h2

h2=x1wx2h1+x2wx2h2

La couche suivante

y=bwby+h1wh1y+h2wh2y

Peut être simplifié en

=b+(x1wx1h1+x2wx1h2)wh1y+(x1wx2h1+x2wx2h2)wh2y

=b+x1(wh1ywx1h1+wx2h1wh2y)+x2(wh1ywx1h1+wx2h2wh2y)

Un réseau neuronal à deux couches n'est qu'une simple régression linéaire

=b+x1W1+x2W2

Cela peut être montré pour n'importe quel nombre de couches, car la combinaison linéaire de n'importe quel nombre de poids est à nouveau linéaire.

Qu'est-ce qui fait vraiment d'un réseau neuronal un modèle de classification non linéaire?
Comment la fonction d'activation affectera la non linéarité du modèle?
Peux tu m'expliquer?

Alvaro Joao
la source

Réponses:

18

Je pense que vous oubliez la fonction d'activation dans les nœuds du réseau neuronal, qui est non linéaire et rendra le modèle entier non linéaire.

Dans votre formule n'est pas totalement correcte, où,

h1w1x1+w2x2

mais

h1=sigmoid(w1x1+w2x2)

où la fonction sigmoïde comme celle-ci, sigmoid(x)=11+ex

entrez la description de l'image ici

Prenons un exemple numérique pour expliquer l'impact de la fonction sigmoïde, supposons que vous ayez puis sigmoïde ( 4 ) = 0,99 . Par contre, supposons que vous ayez w 1 x 1 + w 2 x 2 = 4000 , sigmoïde ( 4000 ) = 1 et c'est presque la même chose que sigmoïde ( 4 ) , qui est non linéaire.w1x1+w2x2=4sigmoid(4)=0.99w1x1+w2x2=4000sigmoid(4000)=1sigmoid(4)


H1sigmoid(7.65)

entrez la description de l'image ici

Haitao Du
la source
1
Comment la fonction d'activation affectera la non linéarité du modèle? Peux tu m'expliquer?
Alvaro Joao
3

Vous avez raison: plusieurs couches linéaires peuvent être équivalentes à une seule couche linéaire. Comme l'ont dit les autres réponses, une fonction d'activation non linéaire permet une classification non linéaire. Dire qu'un classificateur est non linéaire signifie qu'il a une frontière de décision non linéaire. La frontière de décision est une surface qui sépare les classes; le classificateur prédira une classe pour tous les points d'un côté de la frontière de décision et une autre classe pour tous les points de l'autre côté.

Prenons une situation courante: effectuer une classification binaire avec un réseau contenant plusieurs couches d'unités cachées non linéaires et une unité de sortie avec une fonction d'activation sigmoïdale. y donne la sortie, h est un vecteur d'activations pour la dernière couche cachée, w est un vecteur de leurs poids sur l'unité de sortie, et best le biais de l'unité de sortie. La sortie est:

y=σ(hw+b)

σest la fonction sigmoïde logistique. La sortie est interprétée comme la probabilité que la classe soit1. La classe préditec est:

c={0y0,51y>0,5

Examinons la règle de classification en ce qui concerne les activations d'unités cachées. Nous pouvons voir que les activations d'unités cachées sont projetées sur une lignehW+b. La règle d'attribution d'une classe est fonction dey, qui est liée de façon monotone à la projection le long de la ligne. La règle de classification revient donc à déterminer si la projection le long de la ligne est inférieure ou supérieure à un certain seuil (dans ce cas, le seuil est donné par le négatif du biais). Cela signifie que la frontière de décision est un hyperplan orthogonal à la ligne et coupe la ligne en un point correspondant à ce seuil.

J'ai dit plus tôt que la frontière de décision est non linéaire, mais un hyperplan est la définition même d'une frontière linéaire. Mais, nous avons considéré la frontière en fonction des unités cachées juste avant la sortie. Les activations d'unités cachées sont une fonction non linéaire des entrées d'origine, en raison des couches cachées précédentes et de leurs fonctions d'activation non linéaires. Une façon de penser le réseau est qu'il mappe les données de manière non linéaire dans un espace de fonctionnalités. Les coordonnées dans cet espace sont données par les activations des dernières unités cachées. Le réseau effectue alors une classification linéaire dans cet espace (régression logistique, dans ce cas). On peut aussi penser à la frontière de décision en fonction des entrées d'origine. Cette fonction sera non linéaire, en conséquence du mappage non linéaire des entrées aux activations d'unité cachées.

Ce billet de blog montre quelques belles figures et animations de ce processus.

user20160
la source
1

La non-linéarité provient de la fonction d'activation sigmoïde, 1 / (1 + e ^ x), où x est la combinaison linéaire de prédicteurs et de poids que vous avez référencée dans votre question.

Soit dit en passant, les limites de cette activation sont zéro et un car soit le dénominateur devient si grand que la fraction s'approche de zéro, soit e ^ x devient si petit que la fraction approche 1/1.

Ryan Zotti
la source