Perceptron

Der perceptron ist ein Algorithmus für die beaufsichtigte Klassifikation eines Eingangs in eine von zwei möglichen Produktionen. Es ist ein Typ von geradlinigem classifier, d. h. ein Klassifikationsalgorithmus, der seine Vorhersagen gestützt auf einer geradlinigen Prophet-Funktion macht, die eine Reihe von Gewichten mit dem Eigenschaft-Vektoren verbindet, der einen gegebenen Eingang beschreibt. Der Lernalgorithmus für perceptrons ist ein Online-Algorithmus, in dem es Elemente im Lehrsatz einer nach dem anderen bearbeitet.

Der perceptron Algorithmus wurde 1957 am Cornell Aeronautisches Laboratorium von Frank Rosenblatt erfunden.

Im Zusammenhang von künstlichen Nervennetzen wird der perceptron Algorithmus auch die einzelne Schicht perceptron genannt, um es vom Fall einer Mehrschicht perceptron zu unterscheiden, der ein mehr kompliziertes Nervennetz ist. Als ein geradliniger classifier (einzelne Schicht) ist perceptron die einfachste Art des feedforward Nervennetzes.

Definition

Der perceptron ist ein binärer classifier, der seinen Eingang (ein reellwertiger Vektor) zu einem Produktionswert (ein einzelner binärer Wert) kartografisch darstellt:

:

f (x) = \begin {Fälle} 1 & \text {wenn} w \cdot x + b> 0 \\0 & \text {sonst }\\Ende {Fälle }\

</Mathematik>

wo ein Vektor von reellwertigen Gewichten ist, ist das Punktprodukt (der hier eine belastete Summe schätzt), und die 'Neigung', ein unveränderlicher Begriff ist, der von keinem Eingangswert abhängt.

Der Wert (0 oder 1) wird verwendet, um entweder als ein positiver oder als ein negatives Beispiel im Fall von einem binären Klassifikationsproblem zu klassifizieren. Wenn negativ ist, dann muss die belastete Kombination von Eingängen einen positiven Wert erzeugen, der größer ist als, um das classifier Neuron über die 0 Schwelle zu stoßen. Räumlich verändert die Neigung die Position (obwohl nicht die Orientierung) der Entscheidungsgrenze. Der perceptron, den das Lernen des Algorithmus nicht begrenzt, wenn das Lernen untergegangen ist, ist nicht linear trennbar.

Das Lernen des Algorithmus

Unten ist ein Beispiel eines Lernalgorithmus für (einzelne Schicht) perceptron. Für die Mehrschicht perceptrons, wo eine verborgene Schicht besteht, müssen mehr komplizierte Algorithmen wie Rückübertragung verwendet werden. Wechselweise können Methoden wie die Delta-Regel verwendet werden, wenn die Funktion nichtlinear ist und differentiable, obwohl derjenige unten ebenso arbeiten wird.

Wenn vielfach, werden perceptrons in einem künstlichen Nervennetz verbunden, jedes Produktionsneuron funktioniert unabhängig von ganz andere; so kann das Lernen jeder Produktion in der Isolierung betrachtet werden.

Wir definieren zuerst einige Variablen:

  • zeigt die Produktion vom perceptron für einen Eingangsvektoren an.
  • ist der Neigungsbegriff, den im Beispiel unten wir nehmen, um 0 zu sein.
  • ist der Lehrsatz von Proben, wo:
  • ist - dimensionaler Eingangsvektor.
  • ist der gewünschte Produktionswert des perceptron für diesen Eingang.

Wir zeigen die Werte der Knoten wie folgt:

  • ist der Wert des th Knotens des th Lehreingangsvektoren.
  • .

Die Gewichte zu vertreten:

  • ist der Th-Wert im Gewicht-Vektoren, um mit dem Wert des Th-Eingangsknotens multipliziert zu werden.

Eine Extradimension, mit dem Index, kann zu allen Eingangsvektoren, damit hinzugefügt werden, in welchem Fall den Neigungsbegriff ersetzt.

Um die Zeitabhängigkeit zu zeigen, verwenden wir:

  • ist das Gewicht in der Zeit.
  • ist die Lernrate, wo

Eine zu hohe Lernrate lässt den perceptron regelmäßig um die Lösung schwingen, wenn zusätzliche Schritte nicht gemacht werden.

Das Lernen von Algorithmus-Schritten

1. Initialisieren Sie Gewichte und Schwelle.

Bemerken Sie, dass Gewichte durch das Setzen jedes Gewicht-Knotens auf 0 oder auf einen kleinen zufälligen Wert initialisiert werden können. Im Beispiel unten wählen wir den ersteren.

2. Für jede Probe in unserem Lehrsatz, leisten Sie der folgende überschreitet den Eingang und die gewünschte Produktion:

:2a. Berechnen Sie die wirkliche Produktion:

::

:2b. Passen Sie Gewichte an:

:: für alle Knoten.

Schritt 2 wird wiederholt, bis der Wiederholungsfehler weniger als eine benutzerangegebene Fehlerschwelle ist, oder eine vorher bestimmte Zahl von Wiederholungen vollendet worden ist. Bemerken Sie, dass der Algorithmus die Gewichte sofort anpasst, nachdem Schritte 2a und 2b auf ein Paar im Lehrsatz angewandt werden anstatt zu warten, bis alle Paare im Lehrsatz diese Schritte erlebt haben.

Trennbarkeit und Konvergenz

Wie man

sagt, ist der Lehrsatz linear trennbar, wenn dort besteht, leiten eine positive Konstante und ein Gewicht solch das für alle

Novikoff (1962) hat bewiesen, dass der perceptron Algorithmus nach einer begrenzten Zahl von Wiederholungen zusammenläuft, wenn die Datei linear trennbar ist. Die Idee vom Beweis besteht darin, dass der Gewicht-Vektor immer durch einen begrenzten Betrag in einer Richtung angepasst wird, dass es ein negatives Punktprodukt damit hat, und so oben dadurch begrenzt werden kann, wo t die Zahl von Änderungen zum Gewicht-Vektoren ist. Aber es kann auch unten durch weil begrenzt werden, wenn dort ein (unbekannter) befriedigender Gewicht-Vektor besteht, dann macht jede Änderung Fortschritte in dieser (unbekannten) Richtung durch einen positiven Betrag, der nur vom Eingangsvektoren abhängt.

Das kann verwendet werden, um zu zeigen, dass die Zahl von Aktualisierungen zum Gewicht-Vektoren durch begrenzt wird

, wo die maximale Norm eines Eingangsvektoren ist.

Jedoch, wenn der Lehrsatz, der obengenannte nicht linear trennbar ist, wird Online-Algorithmus nicht zusammenlaufen.

Bemerken Sie, dass die Entscheidungsgrenze eines perceptron invariant in Bezug auf das Schuppen des Gewicht-Vektoren, d. h. ein perceptron ist, der mit dem anfänglichen Gewicht-Vektoren und Lernen erzogen ist, dass Rate ein identischer Vorkalkulator zu einem perceptron ist, der mit dem anfänglichen Gewicht-Vektoren und Lernen der Rate 1 erzogen ist. So, da die anfänglichen Gewichte irrelevant mit der steigenden Zahl von Wiederholungen werden, ist die Lernrate im Fall vom perceptron nicht von Bedeutung und wird gewöhnlich gerade auf einen gesetzt.

Varianten

Der Taschenalgorithmus mit dem Klinkenrad (Ritterlich, 1990) behebt das Stabilitätsproblem von perceptron das Lernen durch das Halten der besten Lösung gesehen bis jetzt "in seiner Tasche". Der Taschenalgorithmus gibt dann die Lösung in der Tasche, aber nicht die letzte Lösung zurück. Es kann auch für nichttrennbare Dateien verwendet werden, wo das Ziel ist, einen perceptron mit einer kleinen Zahl von falschen Klassifizierungen zu finden.

In trennbaren Problemen, perceptron Ausbildung kann auch darauf zielen, den größten sich trennenden Rand zwischen den Klassen zu finden. Der so genannte perceptron der optimalen Stabilität kann mittels wiederholender Lehr- und Optimierungsschemas, z.B die Minute - Über den Algorithmus (Krauth und Mezard, 1987) oder AdaTron (Anlauf und Biehl, 1989)) bestimmt werden

. Die letzten Großtaten die Tatsache dass der entsprechende

quadratisches Optimierungsproblem ist konvex. Der perceptron der optimalen Stabilität, ist zusammen mit dem Kerntrick, einem der Begriffsfundamente der Unterstützungsvektor-Maschine.

Der-perceptron hat weiter eine Aufbereitungsschicht von festen zufälligen Gewichten mit thresholded Produktionseinheiten verwertet. Das hat dem perceptron ermöglicht, Muster, durch die Projektierung von ihnen in einen binären Raum zu klassifizieren. Tatsächlich, für einen Vorsprung-Raum der genug hohen Dimension, können Muster linear trennbar werden.

Als ein Beispiel, ziehen Sie den Fall der Notwendigkeit in Betracht, Daten in zwei Klassen einzuteilen. Hier ist ein kleiner solche Datei, aus zwei Punkten bestehend, die aus zwei Vertrieb von Gaussian kommen.

Image:Two_class_Gaussian_data.png|Two-class Gaussian Daten

Image:Linear_classifier_on_Gaussian_data.png|A geradliniger classifier, der auf dem ursprünglichen Raum funktioniert

Image:Hidden_space_linear_classifier_on_Gaussian_data.png|A geradliniger classifier, der auf einem hoch-dimensionalen Vorsprung funktioniert

</Galerie>

Ein geradliniger classifier kann nur Dinge mit einem Hyperflugzeug trennen, so ist es nicht möglich, alle Beispiele vollkommen zu klassifizieren. Andererseits können wir die Daten in eine Vielzahl von Dimensionen planen. In diesem Fall wurde eine zufällige Matrix verwendet, um die Daten geradlinig zu einem 1000-dimensionalen Raum zu planen; dann wurde jeder resultierende Datenpunkt durch die Funktion des Tangenss hyperbolicus umgestaltet. Ein geradliniger classifier kann dann die Daten, wie gezeigt, in der dritten Zahl trennen. Jedoch können die Daten in diesem Raum noch immer nicht völlig trennbar sein, in dem der perceptron Algorithmus nicht zusammenlaufen würde. Im Beispiel gezeigt, stochastischer steilster Anstieg-Abstieg wurde verwendet, um die Rahmen anzupassen.

Außerdem, indem man nichtlineare Schichten zwischen dem Eingang und der Produktion hinzufügt, kann man alle Daten und tatsächlich, mit genug Lehrdaten, Modell jede bestimmte Funktion zur willkürlichen Präzision trennen. Dieses Modell ist eine Generalisation, die als eine Mehrschicht perceptron bekannt ist.

Eine andere Weise, nichtlineare Probleme ohne das Bedürfnis nach vielfachen Schichten zu beheben, ist der Gebrauch von höheren Ordnungsnetzen (Einheit des Sigma-Pis). In diesem Typ des Netzes wird jedes Element im Eingangsvektoren mit jeder pairwise Kombination von multiplizierten Eingängen (die zweite Ordnung) erweitert. Das kann zum N-Ordnungsnetz erweitert werden.

Es sollte jedoch beachtet werden, dass der beste classifier nicht notwendigerweise das ist, was alle Lehrdaten vollkommen klassifiziert. Tatsächlich, wenn wir die vorherige Einschränkung hatten, dass die Daten aus dem equi-verschiedenen Vertrieb von Gaussian kommen, ist die geradlinige Trennung im Eingangsraum optimal.

Andere Lehralgorithmen für geradlinigen classifiers sind möglich: Sieh z.B, Unterstützungsvektor-Maschine und logistisches rückwärts Gehen.

Beispiel

Ein perceptron lernt, eine binäre NAND-Funktion auf Eingängen durchzuführen, und.

Eingänge: mit dem Eingang, der an 1 festgehalten ist.

Schwelle : 0.5

Neigung : 0

Das Lernen der Rate : 0.1

Lehrsatz, aus vier Proben bestehend:

Im folgenden werden die Endgewichte einer Wiederholung die anfänglichen Gewichte des folgenden. Jeder Zyklus über alle Proben im Lehrsatz wird mit schweren Linien abgegrenzt.

Dieses Beispiel kann im folgenden Pythonschlange-Code durchgeführt werden.

Schwelle = 0.5

learning_rate = 0.1

Gewichte = [0, 0, 0]

training_set = [((1, 0, 0), 1), ((1, 0, 1), 1), ((1, 1, 0), 1), ((1, 1, 1), 0)]

def sum_function (Werte):

geben Sie Summe zurück (Wert * Gewichte [Index] für den Index, Wert darin zählt auf (schätzt))

während Wahr:

drucken Sie '-' * 60

error_count = 0

für input_vector, desired_output in training_set:

Druckgewichte

resultieren Sie = 1 wenn sum_function (input_vector)> Schwelle sonst 0

Fehler = desired_output - resultiert

wenn Fehler! = 0:

error_count + = 1

für den Index zählt Wert darin (input_vector) auf:

Gewichte [Index] + = learning_rate * Fehler * schätzen

wenn error_count == 0:

Brechung

</Quelle>

Mehrklasse perceptron

Wie die meisten anderen Techniken für geradlinigen Lehrclassifiers verallgemeinert der perceptron natürlich zur Mehrklassenklassifikation. Hier werden der Eingang und die Produktion von willkürlichen Sätzen gezogen. Eine Eigenschaft-Darstellungsfunktion stellt jedes mögliche Paar des Eingangs/Produktion zu einem endlich-dimensionalen reellwertigen Eigenschaft-Vektoren kartografisch dar. Wie zuvor wird der Eigenschaft-Vektor mit einem Gewicht-Vektoren multipliziert, aber jetzt wird die resultierende Kerbe verwendet, um unter vielen möglichen Produktionen zu wählen:

:

Das Lernen wiederholt wieder über die Beispiele, eine Produktion für jeden voraussagend, die Gewichte unverändert verlassend, wenn die vorausgesagte Produktion das Ziel und Ändern von ihnen vergleicht, wenn es nicht tut. Die Aktualisierung wird:

:

Diese Mehrklassenformulierung nimmt zum ursprünglichen perceptron ab, wenn ein reellwertiger Vektor ist, wird aus gewählt, und.

Für bestimmte Probleme können Darstellungen des Eingangs/Produktion und Eigenschaften gewählt werden, so dass effizient gefunden werden kann, wenn auch aus einem sehr großen oder sogar unendlichen Satz gewählt wird.

In den letzten Jahren, perceptron Ausbildung ist populär im Feld der Verarbeitung der natürlichen Sprache für solche Aufgaben wie Wortart markierende und syntaktische Syntaxanalyse (Collins, 2002) geworden.

Geschichte

:See auch: Geschichte der künstlichen Intelligenz, AI Winter und Frank Rosenblatt

Obwohl der perceptron am Anfang viel versprechend geschienen ist, wurde es schließlich bewiesen, dass perceptrons nicht trainiert werden konnte, viele Klassen von Mustern zu erkennen. Das hat zum Feld der Nervennetzforschung geführt, die viele Jahre lang stagniert, bevor es erkannt wurde, dass ein feedforward Nervennetz mit zwei oder mehr Schichten (hat auch eine Mehrschicht perceptron genannt), viel größere in einer Prozession gehende Macht hatte als perceptrons mit einer Schicht (auch hat eine einzelne Schicht perceptron genannt).

Einzelne Schicht perceptrons ist nur dazu fähig, linear trennbare Muster zu erfahren; 1969 hat ein berühmtes Buch genannt Perceptrons durch Marvin Minsky und Seymour Papert gezeigt, dass es für diese Klassen des Netzes unmöglich war, eine XOR-Funktion zu erfahren. Es wird häufig geglaubt, dass sie auch (falsch) vermutet haben, dass ein ähnliches Ergebnis für eine Mehrschicht perceptron Netz halten würde. Jedoch ist das nicht wahr, weil sowohl Minsky als auch Papert bereits gewusst haben, dass Mehrschicht perceptrons dazu fähig war, eine XOR-Funktion zu erzeugen. (Sieh die Seite auf Perceptrons für mehr Information.) Drei Jahre später hat Stephen Grossberg eine Reihe von Papieren veröffentlicht, die Netze einführen, die dazu fähig sind, Differenzial, Kontrasterhöhen und XOR-Funktionen zu modellieren. (Die Papiere wurden 1972 und 1973 veröffentlicht, sehen z.B: Grossberg, Kontur-Erhöhung, Kurzzeitgedächtnis und Beständigkeit in zurückstrahlenden Nervennetzen. Studien in der Angewandten Mathematik, 52 (1973), 213-257, online http://cns.bu.edu/Profiles/Grossberg/Gro1973StudiesAppliedMath.pdf). Dennoch häufig-miscited hat Minsky/Papert Text einen bedeutenden Niedergang im Interesse und der Finanzierung der Nervennetzforschung verursacht. Man hat noch zehn Jahre gebraucht, bis Nervennetzforschung ein Wiederaufleben in den 1980er Jahren erfahren hat. Dieser Text wurde 1987 als "Perceptrons - Ausgebreitete Ausgabe" nachgedruckt, wo einige Fehler im ursprünglichen Text gezeigt und korrigiert werden.

Mehr kürzlich hat das Interesse am perceptron, den das Lernen des Algorithmus wieder nach Freund und Schapire (1998) vergrößert hat, gezeigt, dass eine gewählte Formulierung des ursprünglichen Algorithmus präsentiert hat (einen großen Rand erreichend), auf den der Kerntrick angewandt werden kann. Nachfolgende Studien haben seine Anwendbarkeit auf eine Klasse von komplizierteren Aufgaben, später genannt, wie strukturiert, das Lernen gezeigt, als binäre Klassifikation (Collins, 2002), und zu groß angelegten Maschinenlernproblemen in einer verteilten Recheneinstellung (McDonald, Saal und Mann, 2010).

  • Rosenblatt, Offenherzig (1958), Der Perceptron: Ein Probabilistic Modell für die Informationslagerung und Organisation im Gehirn, Cornell Aeronautisches Laboratorium, Psychologische Rezension, v65, Nr. 6, Seiten 386-408..
  • Rosenblatt, offenherzig (1962), Grundsätze von Neurodynamics. Washington, DC:Spartan Bücher.
  • Minsky M. L. und Papert S. A. 1969. Perceptrons. Cambridge, Massachusetts: MIT Presse.
  • Freund, Y. und Schapire, R. E. 1998. Große Rand-Klassifikation mit dem perceptron Algorithmus. In Verhandlungen der 11. Jährlichen Konferenz für das Rechenbetonte Lernen der Theorie (COLT' 98). ACM Presse.
  • Freund, Y. und Schapire, R. E. 1999. Große Rand-Klassifikation mit dem perceptron Algorithmus. In der Maschine, die 37 (3):277-296, 1999 Erfährt.
  • Ritterlich, S. I. (1990). Mit Sitz in Perceptron Lernalgorithmen. IEEE Transaktionen in Nervennetzen, vol. 1, Nr. 2, Seiten 179-191.
  • Mcdonald, R., Hall, K., & Mann, G. (2010). Verteilte Lehrstrategien für die Strukturierten Perceptron. Seiten 456-464. Vereinigung für die Linguistische Datenverarbeitung.
  • Novikoff, A. B. (1962). Auf Konvergenz-Beweisen auf perceptrons. Symposium auf der Mathematischen Theorie von Automaten, 12, 615-622. Polytechnikum Brooklyns.
  • Widrow, B., Lehr, M.A. "30 Jahre von Anpassungsfähigen Nervennetzen: Perceptron, Madaline und Rückübertragung," Proc. IEEE, vol 78, Nr. 9, Seiten 1415-1442, (1990).
  • Collins, M 2002. Unterscheidende Lehrmethoden für verborgene Modelle von Markov: Theorie und Experimente mit dem perceptron Algorithmus in Verhandlungen der Konferenz für Empirische Methoden in der Verarbeitung der natürlichen Sprache (EMNLP '02)
  • Yin, Hongfeng (1996), mit Sitz in Perceptron Algorithmen und Analyse, Spektrum-Bibliothek, Concordia Universität, Kanada

Außenverbindungen


James Clark / Der Bezirk Belize
Impressum & Datenschutz