6

Könnte mir bitte jemand eine mathematisch korrekte Erklärung geben, warum ein Multilayer-Perzeptron das XOR-Problem lösen kann?Neuronales Netzwerk: XOR lösen

Meine Interpretation des Perzeptrons ist wie folgt:

Ein Perzeptron mit zwei Eingängen enter image description here und enter image description here hat folgende lineare Funktion und ist somit in der Lage lineare separateable Probleme wie UND und ODER zu lösen.

enter image description here

enter image description here ist die grundlegende Schrittfunktion.

So wie ich daran denke, dass ich die beiden Teile innerhalb enter image description here durch das + -Zeichen als enter image description here und enter image description here getrennt ersetzen und ich enter image description here, die eine Linie ist. Durch Anwenden der Schrittfunktion erhalte ich einen der Cluster in Bezug auf den Eingang. Was ich als einen der durch diese Linie getrennten Räume interpretiere.

Da die Funktion eines MLP immer noch linear ist, wie interpretiere ich das mathematisch und wichtiger: Warum kann das XOR-Problem gelöst werden, wenn es noch linear ist? Liegt es daran, dass er ein Polynom interpoliert?

Antwort

5

Sie suchen eine mathematische Erklärung suchen, also lassen Sie uns zunächst einen Blick auf nehmen, wie ein Perzeptron arbeitet:

Simple perceptron with two-dim input

Der Eingang wird gewichtet und aufsummiert. Wenn es einen Schwellenwert Theta überschreitet, wird 1 zurückgegeben, andernfalls 0. Im XOR Fall x1 und x2 kann entweder 1 oder 0 sein und Sie Gewichte suchen w1 und w2 sowie ein Schwellenwert Theta, so dass im Falle von x1 XOR x2:

w1 * x1 + w2 * x2> = Theta

OR

w1 * x1 + w2 * x2 - Theta> = 0

Erstens können Sie sehen, dass die Funktion linear ist. Dies bedeutet, dass es eine Linie definiert. Aber wenn Sie sich den Probenraum ansehen, gibt es keine Linie, die die positiven von den negativen Fällen trennen kann.

Zweitens können Sie es ausprobieren. Nimm ein beliebiges Theta, sagen wir 0,5.

Fall 1: x1 = 1, x2 = 0 =>w1> 0.5

Fall 2 sein muss: x1 = 0, x2 = 1 =>w2 sein muss> 0,5

Fall 3: x1 = 1, x2 = 1 =>w1 + w2 < 0,5 => unmöglich aufgrund vorheriger beiden Fälle

Im Allgemeinen werden muss, mit einem Perzeptron können Sie nur Funktionen definieren, die linear trennbar sind, dh Linien, Flächen, Hyperebene usw.

aber für den Fall, dass Sie XOR zwei Zeilen benötigen:

enter image description here

für jede Zeile, müssen Sie eine versteckte Knoten und dann die Dinge zusammen kombinieren, während die Negation zu berücksichtigen.

Sie hier eine Lösung sehen:

How to solve XOR problem with MLP neural network?

So ist der Trick nicht nicht-linear zu bekommen, aber XOR in etwas umschreiben wie:

x1 XOR x2 == NICHT (x1 UND x2) UND (x1 ODER x2)

+0

Ja, das weiß ich. Aber wie kommt es, dass es durch das Hinzufügen einer versteckten Ebene und einer Quetschfunktion die Fähigkeit erhält, das XOR-Problem zu lösen? Die Art, wie ich daran denke, ist, dass es Polynome interpolieren kann, weil es viele Linien erzeugen kann, die an bestimmten Punkten miteinander verbunden sind, weil die Funktion eines MLP immer noch linear ist. Es gibt überhaupt keinen Exponenten, außer der logistischen Funktion ... die die Werte nur auf einen Unterraum reduziert. –

+0

Das hat mir sehr geholfen, ein Perceptron und die Probleme/Möglichkeiten zu verstehen, mit dem XOR-Problem umzugehen, danke! Was noch mehr helfen würde, ist ein Diagramm wie das für das einschichtige Perzeptron, aber für ein mehrschichtiges Perzeptron, das das XOR-Problem lösen kann. –

3

Was Perceptron wirklich tut, teilt einen Eingangsraum (im Fall von XOR - eine reale Ebene) in zwei Teile, die durch einen affinen Unterraum der unteren Dimension (im Falle von XOR - eine Linie) getrennt sind und verschiedene Klassen zuweisen Teile. Es gibt keine solche Linie, die eine Ebene so teilt, dass die Punkte (0,0), (1,1) von (1,0), (0,1) getrennt sind.

Multilayer-Perzeptron teilt auch einen Eingabebereich in zwei Teile, aber diese Aufteilung ist nicht nur auf affine Trennung beschränkt, so dass es möglich ist, XOR-Klassen zu trennen.

5

Versuchen den Probenraum einer XOR-Funktion mit zwei Variablen x und x Plotten. Die Entscheidungsgrenze trennt die positive ( y = 1) und negative Beispiele ( y = 0) ist eindeutig keine gerade Linie, sondern eine nichtlineare Entscheidungsgrenze wie folgt:

enter image description here

Da, Das Modellieren einer nichtlinearen Entscheidungsgrenze kann nicht durch ein einfaches neuronales Netzwerk erfolgen, das nur aus Eingabe- und Ausgabeschichten besteht. Daher ist eine versteckte Schicht erforderlich, um die erforderliche nichtlineare Entscheidungsgrenze zu modellieren. Auf der anderen Seite haben Funktionen wie AND, OR, NOT keine lineare Entscheidungsgrenze und können daher durch einfache Eingabe-Ausgabe-Neuralnetze modelliert werden.

Verwandte Themen