Gibt es eine einfache Möglichkeit, Perzeptrongewichte anhand eines Klassifizierungsgraphen zu berechnen?

8

Ich lerne für eine KI-Prüfung und suche nach einer besseren Möglichkeit, das folgende Problem zu lösen:

Die Grafik zeigt ein Klassifizierungsproblem im Einheitsquadrat , wobei Klasse A durch den grauen Bereich in der Abbildung gekennzeichnet ist (ohne die Punkte auf den gepunkteten Linien) und Klasse B ansonsten auftritt.[0,1]2

Die Grafik zeigt ein Klassifizierungsproblem im Einheitsquadrat [0,1] ^ 2

Um dieses Problem zu lösen, müssen 2 Perzeptrone konstruiert werden: Beide Perzeptrone geben 1 aus, wenn die Eingabe im grauen Bereich liegt, und ansonsten gibt mindestens eines der Perzeptrone 0 aus.

Es gibt drei Möglichkeiten, geeignete Gewichte für mir bekannte Eingaben und Verzerrungen zu finden:

  1. Versuch und Irrtum
  2. Perceptron-Lernalgorithmus (mit zufälligen Gewichten, Lernrate, mehreren Epochen)
  3. Geometrische Methode zum Auffinden der Vektoren von Gewichten (einschließlich Auffinden einer orthogonalen Linie zur Grenzfunktion)

Alle von ihnen sind ziemlich zeitaufwändig, wenn Sie es nur mit Stift und Papier tun.

Gibt es eine einfache Möglichkeit, Perzeptrongewichte anhand eines Klassifizierungsgraphen zu berechnen / zu finden?

BadgerBadger
quelle

Antworten:

2

Denken Sie, dass Sie den Punkt der Frage möglicherweise etwas falsch interpretieren. Die Absicht der Prüfungsfrage scheint zu sein: "Welche guten Perzeptrongewichte würden sich für dieses Klassifizierungsproblem ergeben?". Der Grund dafür ist, dass man während einer Prüfung oder sogar Hausaufgaben nicht alle Schritte eines lang laufenden Algorithmus durchlaufen kann.

Zurück zur Perzeptron-Theorie [die mehrere Jahrzehnte alt ist] ist der Punkt, dass es sich um einen Klassifikator handelt, der auf linear trennbaren Funktionen basiert , dh linearen Ungleichungen . für den 2d-Fall ergibt sich eine einfache algebraische Geometrie. Mit anderen Worten, das Perzeptron kann eine bestimmte Anzahl linearer Ungleichungen implementieren, um zu versuchen, die Klassifizierung zu erstellen. hier ist es gegeben als . Die wahrscheinlich beabsichtigte Frage lautet also: "Was sind zwei lineare Ungleichungen, zu denen ein guter Perzeptron-Algorithmus für dieses Problem konvergieren würde?".n=2

es scheint sich also zu verringern, um die Koeffizienten von zu finden:

y<m1x+b2

y>m2x+b2

Verwenden Sie dann die grundlegende geometrische Algebra, um die Koeffizienten zu bestimmen, die für das obige Diagramm funktionieren. Basierend auf dem Diagramm gibt es keine perfekte Lösung, sondern eine "gute". (Beachten Sie auch, dass die Gleichungen nur innerhalb von funktionieren müssen .) [ 0 , 1 ] 2m1,m2,b1,b2[0,1]2

intuitiv ist es auch etwas impliziert aus dieser Analyse, warum Perzeptrone so begrenzt sind. weil es selbst in 2d einfach ist, Klassifizierungsprobleme zu zeichnen, für die es keine linear trennbare Lösung gibt (konkave Formen, Formen mit Löchern usw. - ein Hinweis darauf ist zu sehen, dass die obige Form leicht konkav ist). Diese Beobachtung, die in [1] differenzierter / formaler / mathematischer / strenger formuliert wurde, sorgte zu dieser Zeit für große Kontroversen und war eine wichtige Debatte in der Geschichte der KI und hat anscheinend sogar einige Wissenschaftler davon abgehalten, anspruchsvollere Untersuchungen durchzuführen simulierte für einige Zeit neuronale Netzwerkmodelle, obwohl Minsky nachdrücklich bestritt, dass dies seine Absicht war, und sagte, seine Arbeit sei falsch interpretiert worden.

[1] Perceptrons von Minsky & Papert

vzn
quelle
ps Diese Technik scheint Punkt (3) oben zu entsprechen und die Gewichte über geometrische Techniken zu ermitteln. Sie ist jedoch nicht wirklich "zeitaufwändig", es sei denn, es handelt sich um ein komplexes Objekt (z. B. ein vielseitiges Polygon usw.)
vzn
Mit anderen Worten, das Finden geometrischer orthogonaler Grenzlinien ist im 2D-Fall zwar grundsätzlich "einfach", da es sich auf algebraische Geometrie reduziert, jedoch nicht in höheren Dimensionen.
vzn