Perzeptron Online eignet sich zur didaktischen Simulation eines Perzeptrons und des damit verbundenen Lernprozesses. Mit der Software kann sowohl die Klassifikation eines Datenpunkts, als auch der Lernalgorithmus zum Training des Perzeptrons simuliert werden. Neben der schematischen Darstellung des Perzeptrons mit den aktuellen Parametern und Hyperparametern, liegt ein weiterer Schwerpunkt auf der graphischen Darstellung der geometrischen Interpretation des Perzeptrons.

Daten für das Perzeptron laden

Zu Beginn müssen Daten in Form einer CSV-Datei für das Perzeptron geladen werden. Nachfolgend finden Sie einige von uns zur Verfügung gestellte Datensätze.

Es können auch eigene Datensätze für das Perzeptron geladen werden. Diese müssen in der ersten Zeile die Benennungen der beiden betrachteten Merkmale und den Ausdruck Label enthalten. In den folgenden Zeilen stehen nun die Werte der einzelnen Trainingsdatenpunkte entsprechend der festgelegten Reihenfolge der Merkmale. Die einzelnen Einträge müssem mit ; getrennt sein.

Das Perzeptron initialisieren

Nachdem Daten für das Training des Perzeptrons geladen wurden, müssen die Initialwerte für die Gewichte und den Schwellenwert festgelegt werden. Durch einen Klick auf Initialisieren wird das Perzeptron mit diesen Werten initialisiert. Die festgelegten Initialwerte werden in der Darstelltung des Perzeptrons angezeigt und die geometrische Interpretation des Perzeptrons in Form der Trenngeraden und den Decision Areas wird angezeigt.

Im Bereich Startkonfiguration Perzeptron können Sie die initialen Parameterwerte für das Perzeptron festlegen.

  • Gewichte w₁ und w₂:
    Die Parameter w₁ und w₂ stellen sog. Gewichte dar. Sie drücken aus, wie groß der Einfluss der jeweils zugehörigen Eingabe x₁ bzw. x₂ auf die Entscheidung über das Feuern des Perzeptrons (Perzeptron liefert Ausgabe 1) ist.
    Als Eingabewerte für die Gewichte sind Zahlen im Bereich von -10 bis 10 zugelassen.
  • Schwellenwert θ:
    Der Parameter θ wird als Schwellenwert bezeichnet. Wenn die Summe der gewichteten Eingaben den Schwellenwert erreicht oder überschreitet, so bewirkt dies ein Feuern des Perzeptrons (Perzeptron liefert Ausgabe 1).
    Als Eingabewerte für den Schwellenwert sind Zahlen im Bereich von -10 bis 10 zugelassen.
  • Lernrate α:
    Die Lernrate α stellt einen moderierenden Faktor dar und schwächt beispielsweise große „Sprünge” ab bzw. verstärkt kleine „Sprünge”. Somit nimmt sie Einfluss auf die Geschwindigkeit des Lernens bzw. die Anzahl der benötigten Trainingsschritte.
    Als Eingabewerte für die Lernrate sind nur positive Zahlen kleiner gleich 5 zugelassen.

Trainieren des Perzeptrons

Nachdem durch Klick auf Trainingsmodus aktivieren der Trainingsmodus aktiviert wurde, werden die allgemeinen Eingabemöglichkeiten gesperrt und die Kontrollelemente für das Training des Perzeptrons aktiviert. Es kann nun mit dem Training des Perzeptrons begonnen bzw. ein bereits begonnenes Training fortgesetzt werden.

Anzeige des Traininsgprotokolls:

Screenshot des Trainingsprotokolls

Durch Auswahl des Tabs Trainingsprotokoll im Verlauf des Trainingsprozesses werden Details des als letztes durchgeführten Trainingsschritts angezeigt. Elemente des Trainingsprotokolls sind unter anderem die Gleichung der Trenngeraden in Koordinatenform, die Berechnung des Fehlers δ und die ggf. durchgeführten Anpassungen der Gewichte w₁ und w₂ und des Schwellenwerts θ.

Klassifikation von neuen Datenpunkten

Perzeptron Online bietet die Möglichkeit einen neuen Datenpunkt mit dem momentanen Perzeptron zu klassifizieren. Dies kann u.a. in der Testphase des maschinellen Lernprozesses nützlich sein, da man somit die Testdatenpunkte der Reihe nach eingeben und vom Perzeptron klassifizieren lassen kann. Damit ist es möglich Aussagen über die Güte, also die Vorhersage-Qualität des momentanen (ggf. bereits trainierten) Perzeptrons zu machen. Durch Klick auf Punkt klassifizieren wird der Klassifikationsmodus aktiviert. Es werden die allgemeinen Eingabemöglichkeiten gesperrt und die Kontrollelemente für die Klassifikation eines neuen Datenpunkts mit Hilfe des Perzeptrons aktiviert.

Ein Blick in den Ablauf der Klassifikation:

  • Intialphase: Eingabe der Datenpunkts:
    Eingabeelemente für die Initialphase der Klassifikation

    Im Tab Klassifikation Punkt müssen zu Beginn die Werte für den zu klassifizierenden Datenpunkt eingegeben werden. Erforderlich sind die Werte für die beiden Merkmale des Datenpunkts. Diese stellen die Eingaben des Perzeptrons x₁ und x₂ dar. Die beiden Werte müssen innerhalb des Anzeigebereichs der graphischen Darstellung des Perzeptrons liegen. Des Weiteren muss ein Wert für das Label des Datenpunkts, also die erwartete Ausgabe eingegeben werden. Diese kann nur den Wert 1 oder 0 haben, je nachdem, ob erwartet wird, dass das Perzeptron für den Datenpunkt feuert oder nicht.
    Durch Klick auf Phase 0: Punkt anzeigen wird in Phase 0 des Klassifikationsvorgangs gewechselt.

  • Phase 0: Anzeige des zu klassifizierenden Datenpunkts:
    Anzeige der Daten des eingeben zu klassifizierenden Punkts

    Der in der Initialphase eingegebene Datenpunkt wird im Klassifikationsprotokoll angezeigt. Die Koordinaten des Punkts stellen die Eingaben des Perzeptrons x₁ und x₂ dar. Das Label des Datenpunkts ist die vom Perzeptron erwartete Ausgabe.

    Graphische Darstellung des zu klassifizierenden Punkts

    Im Tab Geometrische Darstellung wird der eingegebene Datenpunkt angezeigt umrandet mit einem schwarzen Kästchen um ihn von den Datenpunkten des Trainingsdtaensatzes zu unterscheiden. In Abhängigkeit des erwarteten Labels wird der zu klassifizierende Datenpunkt grün (Label: 1) oder rot (Label: 0) dargestellt.
    Durch Klick auf Phase 1: Berechnung der Ausgabe des Perzeptrons wird in Phase 1 des Klassifikationsvorgangs gewechselt.

  • Phase 1: Berechnung der Ausgabe des Perzeptrons:

    In dieser Phase wird die Ausgabe (berechnetes Label) des Perzeptrons für den eingegeben Datenpunkt berechnet. Im Klassifikationsprotokoll wird dabei die Berechnung der gewichteten Summe und im Anschluss daran die Auswertung der Aktivierungsfunktion (Heaviside-Funktion) dargestellt. Das Ergebnis der Auswertung der Aktivierungsfunktion ist die Ausgabe des Perzeptrons (berechnetes Label). Neben der Anzeige der ausführlichen Berechnungen im Klassifikationsprotokoll, werden die Zwischenergebnisse auch direkt in der Darstellung des Perzeptrons eingeblendet.
    Durch Klick auf Phase 2: Vergleich berechnetes - erwartetes Label wird in Phase 2 des Klassifikationsvorgangs gewechselt.

    Screenshot von Perzeptron Online in Phase 1 der Klassifikation eines Datenpunkts
  • Phase 2: Vergleich der Label (berechnet - erwartet):

    In dieser Phase wird das berechnete Label (Ausgabe des Perzeptrons für den Datenpunkt) mit dem erwarteten Label (Label des Datenpunkts) verglichen. Stimmen beide überein, so ist die Klassifikation korrekt, d.h. das Perzeptron liefert mit den aktuellen Gewichten und dem aktuellen Schwellenwert die erwartete Ausgabe für den eingegebenen Datenpunkt. Stimmen die Label nicht überein, ist die Klassifikation inkorrekt. Die Details dieses Schritts des Klassifikationsvorgangs werden im Klassifikationsprotokoll angezeigt. Das Klassifikationsergebnis wird zusätzlich in der Darstellung des Perzeptrons eingeblendet.
    Durch Klick auf Neuen Punkt klassifizieren wird das Protokoll, die graphische Darstellung und die Darstellung des Perzeptrons zurückgesetzt und es wird in die Initialphase gewechselt. Hier kann nun ein neuer Datenpunkt für eine weitere Klassifikation eingegeben werden.

    Screenshot von Perzeptron Online in Phase 2 der Klassifikation eines Datenpunkts

Allgemeine Informationen

An dieser Stelle liegt der Fokus auf der Anwendung von Perzeptron Online. Für weitere fachliche Informationen empfiehlt sich die Lektüre der ISB-Handreichung Künstliche Intelligenz oder die Teilnahme an den Fortbildungen KI@Informatik 11 – was, wozu, wie, womit unterrichten der Universität Passau.

Perzeptron Online läuft in aktuellen Browsern (getetstet mit Chrome und Edge) und wurde in Javascript entwickelt. Für die graphische Darstellung des Perzeptrons und dessen geometrischer Interpretation wurde D3.js (https://d3js.org/; Source-Code steht unter ISC-Lizenz) als Thirdparty-Komponente verwendet.