Quelqu'un pourrait-il me donner une explication correcte mathématique pourquoi un Perceptron multicouche peut résoudre le problème XOR? P>
Mon interprétation du Perceptron est la suivante: p>
Un perceptron avec deux entrées et < img src = "https://i.stack.imgur.com/avjml.png" alt = "Entrez la description de l'image ici"> a suivi la fonction linéaire et est donc capable de résoudre des problèmes séparables linéaires tels que et et Ou. P>
est la fonction de base étape. p>
La façon dont je pense, c'est que je substitue les deux parties de séparé par le signe + comme et et je reçois qui est une ligne. En appliquant la fonction étape, j'obtiens l'une des clusters en ce qui concerne l'entrée. Que j'interprète comme l'un des espaces séparés par cette ligne. P>
Parce que la fonction d'un MLP est toujours linéaire, comment interpréter cela de manière mathématique et plus importante: pourquoi est-il capable de résoudre le problème XOR quand il est toujours linéaire? Est-ce parce que son interpolation d'un polynôme? P>
3 Réponses :
Qu'est-ce que Perceptron est vraiment en train de diviser un espace d'entrée (en cas de xor - un avion réel) en deux parties séparées par un sous-espace affiné de dimension inférieure (en cas de ligne XOR - une ligne) et d'attribuer différentes classes à différentes parties. . Il n'y a pas de telle ligne qui divise un plan de cette façon que des points (0,0), (1,1) sont séparés de (1,0), (0,1). p>
Perceptron multicouche divise également un espace d'entrée en deux parties, mais cette division n'est pas limitée uniquement à la séparation affine, il est donc possible de séparer les classes XOR. P>
Essayez de tracer l'espace d'échantillon d'une fonction XOR de deux variables x i> 1 sub> et x i> 2 sub>. La décision de décision sépère le positif ( Y i> = 1) et des exemples négatifs ( y i> = 0) n'est clairement pas une ligne droite mais une limite de décision non linéaire comme suit: < / p>
Depuis, la modélisation d'une limite de décision non linéaire ne peut être effectuée par un simple réseau de neurones constitué uniquement de couches d'entrée et de sortie. Par conséquent, une couche cachée est nécessaire pour modéliser la limite de décision non linéaire requise. D'autre part, des fonctions comme et, ou ne disposent pas de la limite de décision linéaire et peuvent donc être modélisées par de simples filets neurants de sortie d'entrée-sortie. P>
Vous recherchez une explication mathématique, alors jetons d'abord un coup d'oeil sur la façon dont un perceptron fonctionne: p>
p>
L'entrée est pondérée et résumée. S'il dépasse un seuil Theta, 1 est renvoyé, sinon 0.
Dans le cas XOR x1 em> et x2 em> peut être 1 ou 0 et vous recherchez des poids w1 em> et w2 em> w2 em> ainsi qu'un seuil thêta tel que dans le cas de x1 em> xor x2 em>: p>
w1 em> * x1 em> + w2 em> * x2 em>> = theta p>
ou p>
w1 em> * x1 em> + w2 em> * x2 em> - theta> = 0 p>
Tout d'abord, vous pouvez voir que la fonction est linéaire. Cela signifie qu'il définit une ligne. Mais lorsque vous regardez l'espace de l'échantillon, il n'y a aucune ligne qui peut séparer le positif des cas négatifs. P>
second, vous pouvez l'essayer. Prenez un thêta arbitraire, disons 0,5. P>
Case 1: x1 em> = 1, x2 em> = 0 => w1 em> doit être> 0.5 P>
Case 2: x1 em> = 0, x2 em> = 1 => w2 em> doit être> 0.5 P>
cas 3: x1 em> = 1, x2 em> = 1 => w1 em> + w2 em> doit être < 0.5 => impossible en raison de deux cas précédents p>
En général, avec un perceptron, vous ne pouvez définir que des fonctions linéaires séparables, c'est-à-dire des lignes, des plans, des hyperplanes, etc. P>
Mais pour le boîtier XOR, vous avez besoin de deux lignes: p>
Pour chaque ligne, vous avez besoin d'un nœud caché, puis combinez des choses ensemble tout en prenant en compte la négation. P>
Vous pouvez voir une solution ici: P>
Oui, je le sais. Mais comment s'agit-il en ajoutant une couche cachée et une fonction de courage qu'il gagne la capacité de résoudre le problème XOR? La façon dont j'estime est qu'il devient capable d'interpoler des polynômes car elle peut créer de nombreuses lignes interconnectées à certains points car la fonction d'un MLP est toujours linéaire. Il n'y a pas de confontrice, à l'exception de la fonction logistique ... qui jette simplement les valeurs à un sous-espace.
Cela m'a vraiment aidé beaucoup à comprendre un perceptron et les problèmes / possibilités de traiter le problème XOR, merci! Ce qui aiderait encore plus, est d'inclure un graphique tel que celui du percepteur unique de la couche, mais pour un percepteur multicouche qui peut résoudre le problème XOR.