| Typ | Konzept |
|---|---|
| Quellen | Quelle - Neuronale Netze selbst programmieren Quelle - Neuronale Netze programmieren mit Python |
| Erstellt | 2026-09-26 |
| Aktualisiert | 2026-09-27 |
| Tags | maschinelles-lernen, klassifikation, neuronale-netze |
Ein Klassifikator, der zwei Klassen mit einer Geraden (allgemein einer Ebene) trennt. Er lernt, indem er seine Parameter anhand des Fehlers schrittweise anpasst, gedämpft durch eine Lernrate. Er ist der einfachste Baustein neuronaler Netze und scheitert an Problemen wie XOR, die sich nicht mit einer Geraden trennen lassen.
Vom Vorhersagen zum Klassifizieren
Das Buch beginnt mit einer Vorhersagemaschine (Prädiktor), die Kilometer in Meilen umrechnen soll, ohne die Formel zu kennen. Man weiss nur, dass der Zusammenhang linear ist: Meilen = c · Kilometer (Quelle - Neuronale Netze selbst programmieren, S. 17–22).
- Mit einem geschätzten c = 0,5 werden 100 km zu 50 Meilen. Richtig wären 62,137, der Fehler ist also 12,137.
- c wird in Richtung des Fehlers angepasst: 0,6 ergibt einen Fehler von 2,137, bei 0,7 schiesst man über das Ziel hinaus (−7,863), 0,61 kommt näher.
- Die Korrektur sollte ein Bruchteil des Fehlers sein: grosser Fehler, grosser Schritt, kleiner Fehler, kleiner Schritt.
Das ist bereits das Grundprinzip des maschinellen Lernens: nicht in einem Schritt exakt ausrechnen, sondern iterativ verbessern.
Eine Gerade kann auch zwei Gruppen trennen, z.B. Raupen (lang und dünn) und Marienkäfer (breit und kurz) im Diagramm Breite gegen Länge. Liegt ein neues Insekt oberhalb der Geraden, ist es eine Raupe. Dann ist die Gerade ein Klassifikator (S. 22–27).
Training
Für die Gerade y = A·x und ein Trainingsbeispiel mit Zielwert t gilt: Der Fehler E = t − y hängt einfach mit der nötigen Änderung ΔA zusammen, ΔA = E / x (S. 31–34).
Problem: Passt man A bei jedem Beispiel ganz an, lernt der Klassifikator nur das letzte Beispiel und vergisst alle früheren.
Lösung: Die Änderung wird mit einer Lernrate L gedämpft, ΔA = L · (E / x). Mit L = 0,5 und zwei Trainingsbeispielen wird A von 0,25 über 0,3083 zu 1,6042, einer guten Trennlinie (S. 36–37, nachgerechnet). Die Dämpfung hat einen zweiten Vorteil: Fehlerhafte oder verrauschte Trainingsdaten richten weniger Schaden an.
Grenze: lineare Trennbarkeit
Die boolesche UND- und ODER-Funktion lassen sich je mit einer Geraden trennen, ein linearer Klassifikator kann sie lernen. Bei XOR (wahr, wenn genau ein Eingang wahr ist) liegen die wahren Punkte (0,1) und (1,0) diagonal gegenüber. Keine einzelne Gerade trennt sie von (0,0) und (1,1) (S. 38–43; zu XOR siehe Boolesche Algebra).
Die Lösung sind mehrere Klassifikatoren, die zusammenarbeiten. Zwei Geraden trennen XOR bereits. Das ist die Grundidee des künstlichen neuronalen Netzes.
Die Kernideen auf S. 43 sagen, ein linearer Klassifikator könne Daten nicht trennen, „wenn diese Daten selbst von einem einzelnen linearen Prozess stammen“. Es fehlt ein „nicht“: Er scheitert, wenn die Daten nicht linear trennbar sind.
Perzeptron und Delta-Regel
Mit Schwelle und Stufenfunktion ist dieser Klassifikator das Perzeptron von Frank Rosenblatt (1957/58). Quelle - Neuronale Netze programmieren mit Python bestätigt die frühere, unbelegte Einordnung: Das Perzeptron wird auch „linearer Klassifizierer“ oder (in der Statistik) „linearer Diskriminator“ genannt (S. 73–74). Minsky und Papert zeigten 1969 in „Perceptrons“, dass es XOR nicht lernen kann, was zu einem etwa 15 Jahre langen Rückgang der Förderung führte (S. 288, siehe Geschichte der neuronalen Netze).
Rashids Lernregel ΔA = L · (E / x) mit gedämpfter Korrektur entspricht der Delta-Regel von Widrow und Hoff (1960) im Adaline: Δw = η · (y − s) · x mit Lernrate η und dem ungestuften Ausgang s (S. 129–140). Die Trenngerade ergibt sich aus den Gewichten: w₀ + w₁x₁ + w₂x₂ = 0; der Gewichtsvektor (w₁, w₂) steht senkrecht auf ihr (S. 110, 475–476).
Der klassische lineare Klassifikator der Mustererkennung (Trennfläche zwischen Klassen im Merkmalsraum) ist dieselbe Idee.
Verwandt
- Künstliches neuronales Netz – viele lineare Klassifikatoren mit Aktivierung, in Schichten
- Perzeptron – die Stufenfunktions-Variante mit Lernregel, Adaline und MLP
- Boolesche Algebra – UND, ODER und das nicht linear trennbare XOR
- Gradientenverfahren – die allgemeine Form von „in Richtung des Fehlers korrigieren“
- Funktion – die Gerade y = ax + b
- Mustererkennung – Klassifikation von Merkmalsvektoren
