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:
La première couche:
La couche suivante
Peut être simplifié en
Un réseau neuronal à deux couches n'est qu'une simple régression linéaire
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?
la source
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 b est le biais de l'unité de sortie. La sortie est:
oùσ est la fonction sigmoïde logistique. La sortie est interprétée comme la probabilité que la classe soit1 . La classe préditec est:
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 ligneh W+ 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.
la source
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.
la source