🧭 Geschäftsentscheidungs-Klassifikator — Logistische Regression live
Eine logistische Regressionsgrenze verbiegt sich, um zwei Ergebnisklassen zu trennen, während der Gradientenabstieg läuft — sehen Sie zu, wie sich Gewichte aktualisieren und die Entscheidungslinie Punkt für Punkt verschiebt.
Über den Geschäftsentscheidungs-Klassifikator
Logistische Regression ist das Arbeitspferd hinter einem enormen Anteil realer Geschäftsklassifikatoren — Abwanderungsvorhersage, Kreditgenehmigung, Betrugserkennung, Lead-Bewertung. Sie bildet eine gewichtete Summe der Eingabemerkmale, z = w1·x1 + w2·x2 + b, und quetscht diese durch die Sigmoidfunktion, um eine Wahrscheinlichkeit auszugeben, dass ein Kunde zur positiven Klasse gehört. Training bedeutet, w1, w2 und b mit Gradientenabstieg so anzupassen, dass der über den Datensatz gemittelte binäre Kreuzentropie-Verlust weiter sinkt.
Diese Simulation trainiert live ein logistisches Regressionsmodell mit zwei Merkmalen auf einem synthetischen Geschäftsdatensatz: „Kundenengagement-Wert" auf der einen Achse und „eingereichte Support-Tickets" auf der anderen, aufgeteilt in zwei Ergebnisklassen (hohes Abwanderungsrisiko vs. niedriges Abwanderungsrisiko). Jeder Trainingsschritt zieht einen Mini-Batch, berechnet den Gradienten des Verlusts bezüglich w1, w2 und b und schiebt die Gewichte bergab. Sehen Sie zu, wie sich die gerade Entscheidungslinie dreht und in Position gleitet, die schattierten Halbebenen an Sicherheit gewinnen und die Verlustkurve fällt, während die Genauigkeit steigt.
Häufig gestellte Fragen
Was ist logistische Regression?
Logistische Regression ist ein linearer Klassifikator: Sie berechnet eine gewichtete Summe z = w1·x1 + w2·x2 + b der Eingabemerkmale und führt z dann durch die Sigmoidfunktion, um p = σ(z) zu erzeugen, eine Wahrscheinlichkeit in (0, 1), dass das Beispiel zur Klasse 1 gehört. Eine Vorhersage entsteht durch Schwellenwertbildung von p, üblicherweise bei 0,5. Trotz des Namens handelt es sich um ein Klassifikationsverfahren, nicht um Regression im üblichen Sinn — „Regression“ bezieht sich auf die zugrunde liegende lineare Kombination der Gewichte.
Warum wird speziell die Sigmoidfunktion verwendet?
Sigmoid σ(z) = 1/(1 + e^(–z)) bildet jede reelle Zahl auf das offene Intervall (0, 1) ab, sodass die Ausgabe direkt als Wahrscheinlichkeit gelesen werden kann. Sie ist überall glatt und differenzierbar, was der Gradientenabstieg benötigt, und ihre Ableitung hat die praktische geschlossene Form σ'(z) = σ(z)(1 – σ(z)), die bei der Berechnung des Verlustgradienten wiederverwendet wird. Ihre S-Form bedeutet auch, dass sich Vorhersagen in der Nähe der Entscheidungsgrenze glatt ändern statt sprunghaft.
Was misst der binäre Kreuzentropie-Verlust?
Binäre Kreuzentropie ist L = –[y·log(p) + (1–y)·log(1–p)], gemittelt über den Batch. Sie bestraft selbstsichere Fehlvorhersagen stark — nähert sich p für ein wahres Label y = 1 dem Wert 0, schießt der Verlust gegen unendlich — während selbstsichere korrekte Vorhersagen fast nichts kosten. Für einen festen Datensatz ist der Kreuzentropie-Verlust als Funktion von w1, w2, b konvex, sodass der Gradientenabstieg ein einziges globales Minimum ansteuert, statt in lokalen Minima gefangen zu werden.
Warum kann eine lineare Grenze die Klassen nicht immer trennen?
Weil die Entscheidungsgrenze der logistischen Regression — die Menge der Punkte, an denen p = 0,5 ist — immer exakt eine Gerade ist (w1·x + w2·y + b = 0), beziehungsweise eine Hyperebene in höheren Dimensionen. Wenn sich die beiden Ergebnisklassen tatsächlich überlappen (wie bei der Voreinstellung „Überlappend") oder das wahre Trennmuster gekrümmt oder nichtlinear ist, kann keine Wahl von w1, w2, b den Verlust auf null bringen. Das Training konvergiert trotzdem — es findet die eine Gerade, die die gesamte Kreuzentropie minimiert — erreicht aber keine perfekte Genauigkeit bei Daten, die nicht linear trennbar sind.
Was passiert, wenn die Lernrate zu hoch oder zu niedrig ist?
Die Lernrate η skaliert jeden Gradientenschritt: w ← w – η·∂L/∂w. Da die Kreuzentropie-Verlustfläche der logistischen Regression eine glatte konvexe Schale ist, führt ein zu großes η dazu, dass Aktualisierungen über das Minimum hinausschießen, sodass die Verlustkurve oszilliert oder divergiert, statt sich einzupendeln. Ein zu kleines η bewegt die Gewichte bei jedem Schritt kaum, sodass das Training nur langsam konvergiert und weit mehr Schritte verschwendet als nötig — allerdings kommt es, anders als bei tiefen Netzen, irgendwann trotzdem an, da es nur ein Minimum zu finden gibt.
Welche Gradienten berechnet der Gradientenabstieg hier eigentlich?
Für jedes Trainingsbeispiel ist der Fehlerterm e = p – y (vorhergesagte Wahrscheinlichkeit minus wahres Label). Die Gradienten sind ∂L/∂w1 = e·x, ∂L/∂w2 = e·y und ∂L/∂b = e, gemittelt über den Mini-Batch. Diese ergeben sich direkt aus der Anwendung der Kettenregel durch den Log-Verlust und die Sigmoidfunktion — derselbe Mechanismus wie bei der Backpropagation, nur für ein Netzwerk ohne verborgene Schichten. Jeder Aktualisierungsschritt subtrahiert η mal diese gemittelten Gradienten von w1, w2 und b.
Wie werden die Entscheidungsgrenze und der schattierte Bereich visualisiert?
Jedes Pixel des Diagramms entspricht einem hypothetischen Paar (Engagement-Wert, Support-Tickets). Ein Forward-Pass berechnet die vom Modell vorhergesagte Wahrscheinlichkeit p an diesem Punkt; das Pixel wird rot eingefärbt, wenn p < 0,5 ist (vorhergesagtes hohes Risiko), oder blau, wenn p ≥ 0,5 ist (vorhergesagtes niedriges Risiko), wobei die Deckkraft mit |p – 0,5| × 2 skaliert wird, sodass sicher klassifizierte Bereiche kräftig wirken und der Bereich nahe der Grenze verblasst. Die durchgezogene Linie zeichnet genau nach, wo p = 0,5 ist — die lineare Entscheidungsgrenze selbst.
Warum gibt es drei Datensatz-Voreinstellungen?
„Trennbar" platziert die beiden Cluster mit geringer Streuung weit auseinander, sodass eine Gerade nahezu 100 % Genauigkeit erreichen kann — nützlich, um saubere, schnelle Konvergenz zu beobachten. „Überlappend" rückt die Cluster mit mehr Streuung näher zusammen, sodass einige Punkte immer auf der falschen Seite jeder Geraden liegen werden — was zeigt, dass der Verlust über null stagniert, was erwartetes und korrektes Verhalten ist, kein Fehler. „Verrauscht" behält die trennbare Anordnung bei, vertauscht aber zufällig etwa 12 % der Labels, um reale Label-Rauschen nachzuahmen und zu zeigen, wie einige falsch beschriftete Punkte die erreichbare Genauigkeit dauerhaft begrenzen können.
Eine logistische Regressionsgrenze verbiegt sich, um zwei Ergebnisklassen zu trennen, während der Gradientenabstieg läuft — sehen Sie zu, wie sich Gewichte Punkt für Punkt aktualisieren.
3D · Three.js / WebGL-Renderer · Ziel 60 FPS · läuft vollständig clientseitig, keine Installation nötig