Zum Inhalt wechseln
LG4ML
  • Start
  • Idee
  • Projekte
  • Über uns
  • Wiki
  • Blog

Buzzwords

7
  • Transfer Learning
  • Machine Learning
  • Künstliche Intelligenz
  • Deep Learning
  • Data Science Workflow
  • Computer Vision
  • Big Data

Computer Vision

3
  • YOLOv4
  • Object Tracking
  • Frame Differencing

Grundlagen

14
  • Unüberwachtes Lernen
  • Überwachtes Lernen
  • Trainingsphase
  • Sampling
  • Regression
  • Preprocessing
  • Metrics
  • Klassifikation
  • Hyperparameter Tuning
  • Hyperparameter
  • Distanzmetriken
  • Data Science Workflow
  • Data Exploration
  • Cross Validation

Lernverfahren

8
  • Support Vector Machine
  • Principal Component Analysis
  • Perceptron
  • Logistische Regression
  • Lineare Regression
  • K-Nearest-Neighbours
  • K-Means
  • Decision Tree

Neuronale Netze

5
  • Verlustfunktion
  • Transfer Learning
  • Künstliches Neuron
  • Early Stopping
  • Aktivierungsfunktion

Preprocessing

8
  • Value Imputation
  • Scaling
  • Principal Component Analysis
  • Outlier Detection Basic
  • Outlier Detection Advanced
  • Frequenz Filter
  • Feature Engineering
  • Data Augmentation

Python Pakete

1
  • Data-Science Pakete
View Categories
  • Startseite
  • Docs
  • Lernverfahren
  • Perceptron

Perceptron

2 min read

Perceptron Learning Algorithm, kurz PLA, bezeichnet ein sehr simples Lernverfahren zur Modellierung von binären Klassifikations Problemen. Die sogenannte Decision Boundary, also die Grenze zwischen den beiden Klassen, ist dabei im im zweidimensionalen Raum eine Line bzw. allgemein gesagt eine n-1 dimensionale Hyperebene, wobei n die Anzahl der Input Feature beschreibt. Daher ist das Perceptron nur im Falle von linear trennbaren Daten in der Lage, die Klassifikation ohne Fehler vorzunehmen, da andersfalls ohne weitere Transformation der Daten keine passende Hyperebene gefunden werden kann. Dieser Wiki Artikel erklärt grundlegend die Mathematik hinter dem PLA, verdeutlicht den Algorithmus zur Bestimmung der Gewichte und visualisert an einem praktischen Beispiel die Rolle der linearen Trennbarkeit der Daten.

Mathematische Grundlage #

Die Grundidee des Perceptrons besteht darin, die Input Feature einzeln zu gewichten und anschließend die Summe zu bilden – daher spricht man auch von einer gewichteten Summe. Falls diese Summe einen bestimmten Grenzwert überschreitet wird der Datenpunkt bzw. die Kombination an Input Features als +1-Klasse klassifiziert, andernfalls als -1-Klasse. Die gezeigte Formel beschreibt genau diesen Sachverhalt mathematisch.

Summen Schreibweise der Gewichtung der d Input Features.

Der Grenzwert (in der Formel als Threshold bezeichnet), oder auch Biaswert, kann im nächsten Schritt in die gewichtete Summe integriert werden. Dafür wird dem Feature-Vektor x eine 1 vorangestellt wird, d.h. x0=1. Im Folgenden wird im Summenzeichen ab dem Index i=0 gestartet, um den Biaswert mit in die gewichtete Summe aufzunehmen. Daraus ergibt sich die folgende Formel, wobei die gewichtete Summe gleichermaßen als Dot-Product zwischen Feature Vektor und Weight Vektor ausgedrückt werden kann.

Angepasste Formel mit Bias innerhalb der Summation und Verwendung der Sign-Funktion.

Die Sign-Funktion ist dabei eine Stufenfunktion, d.h. alle Inputs unterhalb von 0 werden als -1 ausgegeben, alle Input größer oder gleich 0 als +1 – also der entsprechenden Klassen-Zuweisung aus der ersten Formel. Je nach Gewichten ergibt sich eine Decision Boundary, also die Grenze zwischen den beiden Klassen. So eine Grenze ist beispielhaft in der Abbildung dargestellt im zweidimensionalen Feature Space.

Optimierung der Gewichte #

Nachdem die grundlegende Funktionsweise des Perceptron erklärt wurde stellt sich die Frage, wie die optimalen Gewichte w gefunden werden können. Dazu kommt der eigentliche Perceptron Learning Algorithmus ins Spiel, der das eigentliche “Training” des Perceptrons beschreibt.

Update der Gewichte auf Basis eines
fehlerhaft klassifizierten Datenpunktes.
  1. Initialisiere alle Gewichte mit dem Wert 0.
  2. Finde einen fehlerhaft klassifizierten Datenpunkt, bei dem die tatsächliche Klasse nicht mit dem Output der Sign-Funktion übereinstimmt.
  3. Aktualisiere die Gewichte nach der rechtsstehenden Formel, wobei die Lernrate 𝜂 die Größe der Anpassung kontrolliert.
  4. Wiederhole Punkt 3 und 4 solange, bis alle Datenpunkte korrekt klassifiziert werden.
  5. Gebe die finalen Gewichte zurück.

Eine Variante des Lernverfahrens ist der sogenannte Pocket-Algorithmus, bei dem die bisher optimalen Gewichte mit der geringsten Fehlerrate gespeichert und am Ende zurückgegeben werden. Die oben aufgeführten Schritte werden durch eine maximale Zahl an Gewichtsänderungen begrenzt, wodurch möglicherweise kein Optimum erreicht wird.

Rolle der linearen Trennbarkeit #

Linear Trennbare Datenpunkte
Nicht linear trennbare Datenpunkte

Wie bereits genannt ist die Decision Boundary immer linear. Das heißt im zweidimensionalen Raum eine Linie, ganz allgemein gesprochen eine d-1-dimensionale Hyberebene. Für den Fall, dass die Datenpunkte linear trennbar sind, können immer optimale Gewichte gefunden werden (die maximale Anzahl der Fehler wird dabei durch das Novikoff Theorem limitiert). Falls die Datenpunkte jedoch nicht linear trennbar sind, wird der Algorithmus kein Optimum finden. Durch die Anpassung der Boundary in eine Richtung, um den aktuell gewählten Datenpunkt richtig zu klassifizieren, wird mindestens ein anderer Datenpunkt in Folge fehlerhaft klassifiziert. Daher sollte immer eine maximale Anzahl an Anpassungen festgelegt werden, um nicht in eine Endlosschleife zu gelangen. Als Ergebnis kommt daher keine fehlerfreie Klassifikation zu Stande.

Weiterführende Links #

GitHub Repository mit Python Code: https://github.com/NilsHMeier/Learning_from_Data
Novikoff Theorem: https://meticulousdatascience.com/assets/pdf/novikoff_theorem.pdf
A Graphical Explanation Of Why It Works: https://towardsdatascience.com/perceptron-learning-algorithm-d5db0deab975

Updated on 25/03/2023

What are your Feelings

  • Happy
  • Normal
  • Sad
Share This Article :
  • Facebook
  • X
  • LinkedIn
  • Pinterest

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Inhalt
  • Mathematische Grundlage
  • Optimierung der Gewichte
  • Rolle der linearen Trennbarkeit
  • Weiterführende Links

LG4ML

Promoting Machine Learning from Lüneburg!

© 2025 LG4ML

Navigation

  • Kontakt
  • Datenschutzerklärung
  • Impressum

Folge uns auf

Github Slack Instagram

Made with 🍺 in Lüneburg.

Cookie-Hinweis
Wir verwenden Cookies auf unserer Website, um Ihnen die bestmögliche Erfahrung zu bieten, indem wir uns an Ihre Präferenzen und wiederholten Besuche erinnern. Wenn Sie auf "Alle akzeptieren" klicken, erklären Sie sich mit der Verwendung aller Cookies einverstanden. Sie können jedoch die Einstellungen besuchen, um eine kontrollierte Zustimmung zu erteilen.
EinstellungenAlle akzeptieren
Zustimmung verwalten

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
immer aktiv
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDauerBeschreibung
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
SPEICHERN & AKZEPTIEREN