Zum Inhalt springen
coden

Neuro-Fuzzy-Systeme (ANFIS): Fuzzy-Regeln, die aus Daten lernen

Ein Sugeno-Fuzzy-System als fünfschichtiges Netz, hybrides Lernen mit kleinsten Quadraten und Gradient, Lernen einer Funktion aus verrauschten Daten, die Wahl der Regelanzahl und Überanpassung, die Lesbarkeit gelernter Regeln und die Verwandtschaft mit RBF-Netzen.

13 Minuten Matěj Žalmánek 2026-10-15

Serie KI-Grundlagen Teil 37 von 52
  1. Landkarte der künstlichen Intelligenz: was was ist und wie alles zusammenpasst
  2. Eine kurze Geschichte der künstlichen Intelligenz: von Turing bis zu Sprachmodellen
  3. Daten, Modell, Training, Inferenz: die Grundbegriffe an einem einzigen Beispiel
  4. Mathematische Notation lesen: Symbole, Indizes, Summen und Quantoren
  5. Mengen und Relationen: der Baukasten, aus dem Definitionen in der KI bestehen
  6. Funktionen und Abbildungen: warum jedes KI-Modell eine Funktion ist
  7. Logik und Beweise: die Regeln, nach denen KI schließt
  8. Graphen und Bäume: die Struktur, auf der Suche und neuronale Netze stehen
  9. Lineare Algebra für maschinelles Lernen: Vektoren, Matrizen und warum KI vor allem multipliziert
  10. Ableitungen, Gradient und Kettenregel: wie ein Modell herausfindet, in welche Richtung es lernen soll
  11. Gradientenabstieg: wie ein Modell lernt
  12. Was ist Wahrscheinlichkeit: vom Würfelwurf zu den Kolmogorow-Axiomen
  13. Bedingte Wahrscheinlichkeit und der Satz von Bayes: wie du deine Einschätzung änderst, wenn du etwas Neues erfährst
  14. Zufallsvariable und Verteilungsfunktion: eine Funktion, die alles über eine Verteilung verrät
  15. Dichtefunktion und Wahrscheinlichkeitsfunktion: warum eine stetige Zufallsvariable in einem Punkt die Wahrscheinlichkeit null hat
  16. Erwartungswert, Varianz und Kovarianz: wo eine Verteilung liegt, wie breit sie ist und was womit zusammenhängt
  17. Überblick über Wahrscheinlichkeitsverteilungen: Bernoulli-, Binomial-, Poisson-, Gleich-, Normal- und Exponentialverteilung
  18. Gesetz der großen Zahlen und zentraler Grenzwertsatz: Warum sich Durchschnitte so vorhersagbar verhalten
  19. Statistik und Parameterschätzung: Maximum Likelihood, MAP und Konfidenzintervalle
  20. Informationstheorie: Entropie, Kreuzentropie und KL-Divergenz — woher Verlustfunktionen kommen
  21. Zustandsraumsuche: BFS, DFS, UCS und A* mit Animationen
  22. Spiele und Gegner: Minimax, Alpha-Beta-Suche und Monte Carlo Tree Search
  23. Constraint Satisfaction: Backtracking, Constraint-Propagierung und AC-3 an Sudoku und einer Karte tschechischer Regionen
  24. Logik und wissensbasierte Systeme: Vorwärts- und Rückwärtsverkettung, Resolution und Expertensysteme
  25. Planung: STRIPS, die Blockwelt, Heuristiken aus Relaxierung und Planung in KI-Agenten
  26. Lokale Suche und simulierte Abkühlung: ein Handlungsreisender durch die tschechischen Regionalhauptstädte
  27. Genetische Algorithmen: Population, Kreuzung, Mutation und Selektion am Rucksack für die Wanderung
  28. Evolutionsstrategien und genetische Programmierung: von der 1/5-Erfolgsregel zum Keplerschen Gesetz
  29. Ameisenkolonieoptimierung: wie eine Pheromonspur einen kurzen Weg findet
  30. Partikelschwarmoptimierung: Trägheit, eigene Erfahrung und die Erfahrung des Schwarms
  31. Neuroevolution: Evolution der Gewichte und der Gestalt neuronaler Netze und der Algorithmus NEAT
  32. Fuzzy-Mengen und Zugehörigkeitsfunktionen: wie man „etwas warm“ aufschreibt
  33. Fuzzy-Logik und Wahrscheinlichkeit: warum „etwas warm“ nicht „wahrscheinlich warm“ bedeutet
  34. Fuzzy-Logik: t-Normen, Implikationen und WENN–DANN-Regeln
  35. Fuzzy-Regelung: Mamdani und Sugeno vom Ventilator bis zum Pendel auf dem Wagen
  36. Fuzzy-Clustering: der Algorithmus fuzzy c-means und Punkte zwischen den Clustern
  37. Neuro-Fuzzy-Systeme (ANFIS): Fuzzy-Regeln, die aus Daten lernen
  38. Markow-Ketten: Übergangsmatrix, stationäre Verteilung und PageRank
  39. Hidden-Markov-Modelle: der Viterbi-Algorithmus und das unehrliche Kasino
  40. Bayessche Netze: warum das Gras nass ist und was das für den Rasensprenger bedeutet
  41. Der Kalman-Filter: wie man aus ungenauen Messungen schätzt, wo ein Auto ist und wie schnell es fährt
  42. Arten des maschinellen Lernens: überwacht, unüberwacht, halbüberwacht und mehr
  43. Prompts, Kontext und RAG: wie man einem Modell die richtigen Informationen gibt
  44. Variational Autoencoder (VAE): neue Bilder aus einem stetigen latenten Raum
  45. Generative Adversarial Networks (GAN): der Fälscher gegen den Detektiv
  46. Diffusionsmodelle: wie aus reinem Rauschen ein Bild wird
  47. Markow-Entscheidungsprozesse: Zustände, Aktionen, Belohnungen und Bellman-Gleichungen
  48. Q-Learning und DQN: den Wert von Aktionen lernen, von der Tabelle bis zum neuronalen Netz
  49. Policy Gradient und PPO: die Strategie direkt lernen
  50. Wie ein KI-Agent funktioniert: ein Sprachmodell in einer Schleife mit Werkzeugen
  51. Programmieren mit KI-Agenten: Auftrag, Tests und Kontrolle
  52. Bewertung und Sicherheit von KI-Systemen: wie man misst und wie man überwacht

Der ganze Lehrplan der Serie 52 von 83 Themen fertig

Was du mitnimmst
  • Wie sich ein Sugeno-Fuzzy-System als Netz schreiben lässt und welche Parameter darin gelernt werden.
  • Warum hybrides Lernen (kleinste Quadrate plus Gradient) den reinen Gradientenabstieg überholt.
  • Warum mit mehr Regeln Überanpassung droht und was von der Lesbarkeit gelernter Regeln übrig bleibt.

Vorher gut zu wissen: Fuzzy-Regelung: Mamdani und Sugeno vom Ventilator bis zum Pendel auf dem Wagen, Gradientenabstieg: wie ein Modell lernt

Die Fuzzy-Regler aus den letzten Teilen hatten eine Schwäche: Regeln und Zugehörigkeitsfunktionen musste sich jemand ausdenken. Gibt es einen erfahrenen Bediener, ist das ein Vorteil. Gibt es keinen — oder soll das System gemessene Daten nachbilden —, ist es ein Problem. Neuronale Netze sind genau umgekehrt: Sie lernen alles aus Daten, aber was sie gelernt haben, kann niemand lesen. 1993 verband Jyh-Shing Roger Jang beides im System ANFIS (Adaptive Neuro-Fuzzy Inference System): ein Sugeno-Fuzzy-System, geschrieben als Netz, dessen Parameter aus Daten gelernt werden. Mit diesem Teil endet das Modul über Fuzzy-Logik.

Es knüpft an die Teile Fuzzy-Regelung: Mamdani und Sugeno und Gradientenabstieg an.

1. Ein Fuzzy-System als Netz

Nehmen wir ein Sugeno-System erster Ordnung mit einem Eingang und vier Regeln „WENN x ist Ai, DANN y = pix + ri“. Jeder Schritt seiner Berechnung ist eine Schicht des Netzes:

x A1 w N f1 A2 w N f2 A3 w N f3 A4 w N f4 ∑ y 1. Zugehörigkeit μ_A(x) c, σ 2. Stärke w_i — 3. Normierung w_i / ∑ w — 4. Folgerung w̄ (p x + r) p, r 5. Summe ∑ —
ANFIS mit einem Eingang und vier Regeln; orange die Schichten mit gelernten Parametern
Definition — ANFIS (Jang, 1993)

Sei n ≥ 1 die Anzahl der Regeln, und für jedes i = 1, …, n seien Parameter der Voraussetzungen ci ∈ ℝ, σi > 0 und Parameter der Folgerungen pi, ri ∈ ℝ gegeben. ANFIS mit einem Eingang und n Regeln „WENN x ist Ai, DANN y = pix + ri“ ist die Funktion y : ℝ → ℝ, deren Wert für die Eingabe x ∈ ℝ in fünf Schichten berechnet wird (für i = 1, …, n):

  1. Zugehörigkeit: μi(x) = exp(−(x − ci)2/2σi2) ∈ (0, 1] — die gaußsche Zugehörigkeitsfunktion des Terms Ai mit dem Zentrum ci und der Breite σi.
  2. Stärke der Regel: wi = μi(x) (bei mehreren Eingängen das Produkt der Zugehörigkeiten aller Bedingungen der Regel).
  3. Normierung: w̄i = wi/∑j=1n wj (der Nenner ist positiv, weil jedes wj > 0).
  4. Folgerung: w̄i · (pix + ri).
  5. Summe: y(x) = ∑i=1n w̄i (pix + ri).

Es ist also die Ausgabe eines Takagi-Sugeno-Reglers erster Ordnung mit dem Produkt als t-Norm, nur als Netz geschrieben; die Schichten 1 und 4 enthalten gelernte Parameter.

Einfach gesagt

Das ist genau der Sugeno-Regler aus dem letzten Teil, nur als Netz gezeichnet. Jede Regel hat einen „Wirkungsbereich“ (einen Gauß-Hügel) und darin eine lineare Vorhersage. Die Ausgabe ist der gewichtete Durchschnitt der Vorhersagen danach, wie sehr die Eingabe im Bereich welcher Regel liegt. Das ganze System ist differenzierbar und lässt sich deshalb genauso trainieren wie ein neuronales Netz.

y = ∑i wi/∑j wj · (pix + ri)

y
Ausgabe des ganzen Systems für die Eingabe x — das, was wir mit den Daten vergleichen und woran der Fehler gemessen wird
∑i
Summe über alle Regeln — jede trägt bei, keine wird „ausgewählt“; deshalb ist die Ausgabe glatt und differenzierbar
wi/∑j wj
normierte Stärke w̄i — die Division durch die Summe sorgt dafür, dass die Gewichte zusammen 1 ergeben; die Ausgabe ist also ein gewichteter Durchschnitt der Folgerungen und hängt nicht davon ab, wie hoch die Hügel sind
pix + ri
lineare Folgerung der Regel — eine lokale Gerade, die die Funktion im Bereich der Regel beschreibt; eine Gerade statt einer Konstante erlaubt es, mit wenigen Regeln auch der Steigung zu folgen
Die Ausgabe ist der Durchschnitt lokaler Geraden, gewichtet danach, wie sehr die Eingabe in den Bereich welcher Regel gehört.

μi(x) = exp( − (x − ci)2/2σi2 )

μi(x)
Zugehörigkeitsgrad aus [0, 1] — wie sehr x „um ci“ liegt; die Exponentialfunktion einer negativen Zahl liegt immer zwischen 0 und 1 und ist im Zentrum genau 1
(x − ci)2
Quadrat des Abstands vom Zentrum — die Zugehörigkeit fällt nach beiden Seiten gleich ab und ist auch im Zentrum glatt (mit dem Absolutbetrag hätte sie dort eine Spitze, und die Ableitung würde nicht existieren)
2σi2
Breite des Hügels — der Abstand wird in Einheiten von σi gemessen, sodass die Zugehörigkeit im Abstand σi vom Zentrum immer exp(−1/2) ≈ 0,61 beträgt; durch das Lernen von σi ändert sich, wie weit die Regel „reicht“
Beispiel — Vorwärtsdurchlauf im Punkt x = 3

Nehmen wir das System nach der nullten Lernepoche (siehe unten): Zentren c = 0, 2, 4, 6, alle Breiten σ = 1 und Folgerungen aus den kleinsten Quadraten. Für x = 3 sind die Abstände von den Zentren 3, 1, 1, 3, und damit

  1. Zugehörigkeit und Stärke (Farben nach der Formel für μi): w1 = exp(−32/2 · 12) = e−4,5,   w2 = exp(−12/2 · 12) = e−0,5 und symmetrisch w3 = e−0,5, w4 = e−4,5; also w = (0,0111; 0,6065; 0,6065; 0,0111);
  2. Normierung (Farben ab diesem Schritt nach der Formel für y): die Summe ist 1,2353, also w̄ = (0,0090; 0,4910; 0,4910; 0,0090), z. B. w̄2 = 0,6065/1,2353;
  3. Folgerungen: die Geraden pix + ri mit den gelernten Koeffizienten (9,54x + 0,01; 9,34x − 17,38; 8,56x − 36,61; 2,60x − 18,90) haben im Punkt 3 die Werte (28,63; 10,66; −10,94; −11,09) — die Koeffizienten sind gerundet, die Werte aus den genauen berechnet;
  4. Summe der Produkte w̄i · (pix + ri): y = 0,2574 + 5,2329 − 5,3698 − 0,0997 ≈ 0,021.

Der wahre Wert ist sin(3) = sin(32/3) ≈ 0,141. Beachte, dass die Ausgabe durch Subtraktion zweier großer, fast gleicher Beiträge entsteht — darauf kommen wir bei der Lesbarkeit zurück.

2. Hybrides Lernen

Wir wollen den mittleren quadratischen Fehler auf den Trainingsdaten minimieren. Das ginge komplett mit Gradientenabstieg. Jang bemerkte aber, dass die Ausgabe in den Parametern der Folgerungen linear ist.

Definition — mittlerer quadratischer Fehler und RMSE

Seien N ≥ 1, (x1, y1), …, (xN, yN) ∈ ℝ × ℝ Daten und ŷ : ℝ → ℝ ein Modell (seine Ausgabe für die Eingabe x ist ŷ(x)). Der mittlere quadratische Fehler des Modells ŷ auf diesen Daten ist die Zahl

E = 1/N ∑k=1N (ŷ(xk) − yk)2 ≥ 0,

und der RMSE (root mean square error) ist seine Wurzel, RMSE = √E. Den einen oder den anderen zu minimieren ist dasselbe; angegeben wird aber der RMSE, weil er die Einheiten der Ausgabe hat. Alle Fehler in diesem Teil sind RMSE.

RMSE = √1/N ∑k (ŷ(xk) − yk)2

ŷ(xk)
Vorhersage des Systems im k-ten Punkt — die einzige Stelle, an der die Parameter c, σ, p, r in den Fehler eingehen
− yk, dann quadriert
Abweichung vom gemessenen Wert, quadriert — das Vorzeichen spielt keine Rolle, große Fehler wiegen mehr als kleine, und das Quadrat lässt sich glatt ableiten (und erlaubt für die Folgerungen eine exakte Lösung mit kleinsten Quadraten)
1/N ∑k
Durchschnitt über die Punkte — der Fehler auf 40 Trainings- und auf 121 Testpunkten ist dann vergleichbar
Die Wurzel am Ende bringt den Fehler zurück in die Einheiten von y: RMSE 0,1 heißt „typischerweise um 0,1 daneben“.
Algorithmus — hybrides Lernen

Bei festen Voraussetzungen ist y(x) = ∑i ((w̄ix) pi + w̄i ri) eine lineare Funktion der Parameter der Folgerungen. Darauf beruht dieser Algorithmus.

Eingabe: Trainingsdaten (xk, yk) ∈ ℝ × ℝ, k = 1, …, N; die Anzahl der Regeln n; Anfangszentren ci ∈ ℝ und -breiten σi > 0; die Schrittweite η > 0; die Anzahl der Epochen T ∈ ℕ; die kleinste zulässige Breite σmin > 0. Ausgabe: die Parameter ci, σi, pi, ri, i = 1, …, n. Wiederhole für die Epochen t = 0, 1, …, T:

  1. vorwärts: berechne w̄i(xk) für alle i und k und bestimme die Parameter der Folgerungen pi, ri exakt mit der Methode der kleinsten Quadrate (Definition unten);
  2. Abbruch: ist t = T, beende und gib die Parameter zurück;
  3. rückwärts: mache mit den so gefundenen Folgerungen einen Schritt des Gradientenabstiegs für die Zentren und Breiten (Gradienten nach dem Satz unten): ci ← ci − η ∂E/∂ci,    σi ← max(σmin, σi − η ∂E/∂σi).

Im Beispiel dieses Teils ist η = 0,1, T = 300 und σmin = 0,05.

Einfach gesagt

Wo sich eine Aufgabe exakt lösen lässt, löse sie exakt; dem Gradienten überlass nur das, was sich nicht exakt lösen lässt. Die lineare Regression aus dem Teil über Statistik findet die beste Gerade in einer einzigen Rechnung — und hier findet sie auf einmal die besten linearen Folgerungen aller Regeln. Der Gradient verschiebt und verbreitert dann nur noch die Hügel der Zugehörigkeitsfunktionen.

Definition — kleinste Quadrate für die Folgerungen

Seien (xk, yk) ∈ ℝ × ℝ, k = 1, …, N, Trainingsdaten, n ≥ 1 die Anzahl der Regeln und die Parameter der Voraussetzungen ci, σi fest. Dann sind die w̄i(xk) bloß Zahlen (kurz w̄i). Ordnen wir die Parameter der Folgerungen in einen Vektor θ = (p1, r1, …, pn, rn) ∈ ℝ2n und bilden für jeden Punkt k die Zeile

ak = (w̄1xk, w̄1, …, w̄nxk, w̄n) ∈ ℝ2n,   sodass   ŷ(xk) = ak · θ.

Die Zeilen a1, …, aN bilden die Matrix A ∈ ℝN×2n, und y = (y1, …, yN) ∈ ℝN. Die Lösung nach der Methode der kleinsten Quadrate ist der Vektor

θ* ∈ argminθ ∈ ℝ2n ‖Aθ − y‖2/N,

also die Parameter der Folgerungen mit dem kleinsten mittleren quadratischen Fehler. Jedes solche θ* erfüllt die Normalgleichungen ATA θ = ATy — ein System aus 2n linearen Gleichungen (und umgekehrt ist jede ihrer Lösungen ein Minimum; eindeutig ist sie genau dann, wenn A linear unabhängige Spalten hat). Für 4 Regeln und 40 Punkte ist A eine 40 × 8-Matrix und das System hat 8 Gleichungen. Unsere Rechnung addiert zur Diagonale von ATA noch 10−6 (einen kleinen Ridge-Term), damit das System auch bei fast abhängigen Spalten lösbar ist, und löst es mit dem Gauß-Verfahren.

Satz — Gradient nach Zentrum und Breite

Seien (xk, yk) ∈ ℝ × ℝ, k = 1, …, N, Daten und ŷ ein ANFIS mit n Regeln und den Parametern ci ∈ ℝ, σi > 0, pi, ri ∈ ℝ. Sei E sein mittlerer quadratischer Fehler auf den Daten, aufgefasst als Funktion aller Parameter, und für eine Eingabe x bezeichne wi = exp(−(x − ci)2/2σi2), W = ∑j wj, w̄i = wi/W und gi = pix + ri. Dann gilt für jedes i = 1, …, n

∂E/∂ci = 2/N ∑k=1N (ŷ − yk) (gi − ŷ) w̄i xk − ci/σi2,

∂E/∂σi = 2/N ∑k=1N (ŷ − yk) (gi − ŷ) w̄i (xk − ci)2/σi3,

wobei ŷ, gi und w̄i im Punkt x = xk genommen werden.

Beweis. Aus ŷ = ∑j wjgj/W folgt mit der Quotientenregel ∂ŷ/∂wi = giW − ∑j wjgj/W2 = gi − ŷ/W. Die Ableitungen des Gauß-Hügels sind ∂wi/∂ci = wi x − ci/σi2 und ∂wi/∂σi = wi (x − ci)2/σi3, und die Parameter ci, σi beeinflussen ŷ nur über wi. Mit der Kettenregel ergibt ∂E/∂ci = 2/N ∑k (ŷ − yk) · gi − ŷ/W · wi xk − ci/σi2 zusammen mit wi/W = w̄i die erste Formel; die zweite genauso. ∎

∂E/∂ci = 2/N ∑k (ŷ − yk) (gi − ŷ) w̄i xk − ci/σi2

∂E/∂ci
wie sich der Fehler ändert, wenn wir das Zentrum des i-ten Hügels verschieben — der Lernschritt geht gegen dieses Vorzeichen
ŷ − yk
Fehler im Punkt — wo das System trifft, will der Punkt nichts und trägt zum Gradienten nichts bei
gi − ŷ
wie sich die Folgerung der Regel von der Gesamtausgabe unterscheidet — mehr Gewicht für die Regel zieht die Ausgabe zu ihrer Folgerung; sagt die Folgerung dasselbe wie das Ganze, hat es keinen Sinn, den Hügel zu verschieben
w̄i
Anteil der Regel an der Ausgabe — Punkte weit weg vom Hügel, wo die Regel kaum mitredet, beeinflussen ihr Zentrum fast nicht
xk − ci/σi2
Richtung der Verschiebung — ein Punkt rechts vom Zentrum zieht den Hügel nach rechts, links nach links; im Zentrum selbst ist der Hügel flach, und eine Verschiebung ändert nichts
Für die Breite ist die Formel dieselbe, nur das letzte Glied ist (xk − ci)2/σi3: Entfernte Punkte wollen den Hügel verbreitern oder verschmälern, die Richtung spielt keine Rolle.

Das ganze Lernen aus dem Beispiel unten in Pseudocode (Schrittweite η = 0,1, 300 Epochen):

c = Zentren gleichmäßig auf [0, 6]   # für 4 Regeln 0, 2, 4, 6
σ = halber Abstand der Zentren       # für 4 Regeln 1
for epocha in 0 … 300:
    # vorwärts: Schichten 1–3, dann Folgerungen exakt mit kleinsten Quadraten
    wn[k][i] = w̄_i(x_k)  für alle Punkte k und Regeln i
    A = Zeilen (wn[k][1]·x_k, wn[k][1], …, wn[k][n]·x_k, wn[k][n])
    p, r = löse (AᵀA + 10⁻⁶·I)·θ = Aᵀy
    if epocha == 300: break
    # rückwärts: Gradientenschritt nach den Formeln oben
    gc, gσ = ∂E/∂c, ∂E/∂σ
    c = c − η·gc
    σ = max(0,05; σ − η·gσ)  # der Hügel darf nicht verschwinden

3. ANFIS lernt eine Funktion

Die Aufgabe: aus 40 verrauschten Stichproben (Rauschen mit Standardabweichung 0,1) die Funktion y = sin(x2/3) auf dem Intervall [0, 6] lernen. Die Funktion schwingt nach rechts immer schneller, daher sind vier gleichmäßig verteilte Regeln nicht ideal. Den Fehler messen wir auch auf 121 rauschfreien Punkten außerhalb der Trainingsdaten:

−101 01 0123456 Epoche 0 · Testfehler 0,394 Epoche 25 · Testfehler 0,367 Epoche 100 · Testfehler 0,202 Epoche 300 · Testfehler 0,173 Eingabe x (ohne Einheit) Ausgabe y (ohne Einheit) Zugehörigkeit μ (0–1)
Lernen von ANFIS mit vier Regeln: oben die Ausgabe, unten die Zugehörigkeitsfunktionen

Schon in der nullten Epoche — nur mit kleinsten Quadraten für die Folgerungen und gleichmäßigen Hügeln — beträgt der Testfehler 0,394 und der Fehler auf den Trainingsdaten 0,198. Dann beginnen die Voraussetzungen zu lernen. Nach 100 Epochen liegt der Testfehler bei 0,202, nach 300 Epochen bei 0,173. Auf den Trainingsdaten sinkt er auf 0,107 — unter das Rauschniveau der Daten (0,114); vernünftigerweise geht es nicht besser. Die Zentren der Hügel haben sich dabei nur wenig verschoben; die Hauptänderung liegt in den Breiten — die letzte Regel rechts, wo die Funktion am schnellsten schwingt, ist von 1 auf 0,64 schmaler geworden.

Definition — Rauschniveau der Daten

Sei f : ℝ → ℝ die wahre Funktion, x1, …, xN ∈ ℝ die Eingaben, und die Trainingsausgaben seien yk = f(xk) + εk, k = 1, …, N, wobei εk zufällige Abweichungen (Rauschen) sind. Das Rauschniveau der Daten ist der RMSE, den die wahre Funktion f selbst als Modell auf den Trainingsdaten hätte:

√1/N ∑k=1N (f(xk) − yk)2 = √1/N ∑k=1N εk2.

In unserem Beispiel ist N = 40, f(x) = sin(x2/3), und die εk sind unabhängige zufällige Abweichungen aus einer Normalverteilung mit Erwartungswert 0 und Standardabweichung 0,1; das Rauschniveau ergab √1/40 ∑k εk2 = 0,114. Dass es etwas größer als 0,1 ist, ist reiner Zufall — in unseren 40 gezogenen Abweichungen.

Ein Modell, dessen Fehler auf den Trainingsdaten kleiner als das Rauschniveau ist (0,107 < 0,114), beginnt bereits, auch die zufälligen Abweichungen nachzubilden. Bei einem so kleinen Unterschied schadet das noch nicht — der Testfehler sinkt weiter —, aber es ist eine erste Warnung, auf die wir bei der Zahl der Regeln zurückkommen.

00,20,40,6 0100200300 Epoche (Anzahl der Durchläufe durch die Daten) Testfehler (RMSE)
Testfehler: hybrides Lernen gegen reinen Gradienten hybrid nur Gradient gestrichelt Rauschen in den Daten

Reiner Gradientenabstieg für alle Parameter beginnt bei Folgerungen gleich null und lernt viel langsamer: Nach 300 Epochen hat er einen Testfehler von 0,387, und selbst nach 3 000 Epochen (0,188) holt er das hybride Lernen nach 300 nicht ein. Eine größere Schrittweite führt zudem schnell zur Divergenz. Die Aufgabe in einen linearen und einen nichtlinearen Teil zu zerlegen, lohnt sich.

4. Wie viele Regeln?

Anzahl der Regeln2346812
Fehler auf den Trainingsdaten0,5100,1810,1070,0980,0890,085
Testfehler0,5900,1770,1730,1720,5660,319

Mit mehr Regeln sinkt der Fehler auf den Trainingsdaten immer weiter. Im Test steigt er aber ab acht Regeln steil an — das System hat begonnen, das Rauschen zu lernen: Mit 40 Punkten und 32 Parametern (8 Regeln × 4) hat es genug Freiheit, zwischen den Trainingspunkten wild zu schwingen. Das ist Überanpassung, dasselbe Phänomen wie bei einer zu stark gebogenen polynomialen Regression. Eine vernünftige Zahl von Regeln liegt hier zwischen drei und sechs.

Beispiel — wie viele Parameter ANFIS hat

Mit einem Eingang hat jede Regel zwei Parameter der Voraussetzung (ci, σi) und zwei Parameter der Folgerung (pi, ri), insgesamt 4n. Bei 40 Trainingspunkten:

  • 4 Regeln: 16 Parameter, davon 8 linear — auf jeden linearen Parameter kommen 40/8 = 5 Punkte;
  • 8 Regeln: 32 Parameter, davon 16 linear — 40/16 = 2,5 Punkte pro linearem Parameter, und die kleinsten Quadrate haben damit genug Freiheit, auch das Rauschen zu treffen;
  • 12 Regeln: 48 Parameter — mehr, als es Punkte gibt. Die kleinsten Quadrate bestimmen zwar „nur“ 24 Folgerungen aus 40 Gleichungen, aber die weiteren 24 Parameter der Voraussetzungen können die Hügel genau dorthin verschieben und verschmälern, wo das Rauschen gerade ausgeschlagen hat.

Eine nützliche Faustregel: Es sollte mindestens einige Male mehr Punkte geben als Parameter, die aus ihnen geschätzt werden.

5. Was sich ablesen lässt

Das Versprechen neuro-fuzzy Systeme ist, dass das gelernte Modell lesbar bleibt. Die Voraussetzungen sind lesbar: vier Regeln „um 0“, „um 2,2“, „um 4“ und „um 6,2“. Die Folgerungen aber nicht. Die Regel „WENN x ist um 2,2, DANN y = 10,06 x − 13,83“ würde in ihrem Zentrum 8,25 vorhersagen, obwohl der wahre Wert 1,0 ist. Die einzelnen Regeln gleichen sich gegenseitig aus — die Hügel überlappen sich stark, und die Ausgabe ergibt erst als Ganzes Sinn.

Beispiel — wie sich die Regeln im Punkt x = 2,195 ausgleichen

Das gelernte Zentrum der zweiten Regel ist c2 = 2,195. Dort hat die zweite Regel volle Zugehörigkeit (w2 = 1), die Nachbarn aber nicht null: w = (0,140; 1; 0,331; 0,000), Summe 1,471, also z. B. w̄2 = 1/1,471 ≈ 0,680 (Farben nach der Formel für y im ersten Abschnitt, gi = pix + ri):

Regel1234
Gewicht w̄i0,0950,6800,2250,000
Folgerung gi12,648,25−25,64−31,68
Beitrag w̄igi1,2035,609−5,7690,000

Die Summe ist y = 1,203 + 5,609 − 5,769 = 1,043, der wahre Wert sin(2,1952/3) = 0,999. Die Ausgabe ist gut, entsteht aber als Differenz zweier Beiträge um ±5,7: Die zweite Regel „schießt“ nach oben „über“, und die dritte zieht sie nach unten. Keine der Regeln sagt für sich allein, wie groß y ist.

Interpretierbarkeit gibt es also nicht umsonst. Einschränkungen helfen, sie zu erhalten: geringere Überlappung der Zugehörigkeitsfunktionen, Regularisierung der Folgerungen oder Sugeno nullter Ordnung mit konstanten Folgerungen. Bezahlt wird dafür mit Genauigkeit. Es ist dieselbe Abwägung wie überall im maschinellen Lernen — zwischen dem, was ein Modell kann, und dem, was wir über es sagen können.

6. ANFIS und neuronale Netze

  • Verwandtschaft mit RBF-Netzen. Jang und Sun zeigten 1993, dass Netze mit radialen Basisfunktionen und Sugeno-Fuzzy-Systeme nullter Ordnung unter milden Bedingungen dasselbe sind, nur anders gedeutet.
  • Fluch der Dimensionalität. Mit n Eingängen und k Termen pro Eingang hat das Regelgitter kn Regeln — für 10 Eingänge und 3 Terme über 59 Tausend. Deshalb wird ANFIS für wenige Eingänge eingesetzt oder mit Regeln, die per Clustering ausgewählt werden (etwa mit fuzzy c-means aus dem letzten Teil).
  • Anwendungen. Vorhersage von Zeitreihen (ein klassischer Test ist die chaotische Mackey-Glass-Reihe), Modellierung und Regelung von Systemen, bei denen wir Messdaten, aber wenig Theorie haben.
  • Heute. Tiefe Netze haben Aufgaben mit vielen Eingängen längst übernommen. Die Idee „lernfähig, aber lesbar“ lebt aber in der erklärbaren KI weiter — und Fuzzy-Schichten werden gelegentlich auch in tiefe Netze eingebaut, wo die Ausgabe mit Regeln erklärt werden muss.
Definition — Netz mit radialen Basisfunktionen (RBF)

Sei d ≥ 1 die Anzahl der Eingänge, n ≥ 1 die Anzahl der verborgenen Neuronen, c1, …, cn ∈ ℝd Zentren, v1, …, vn ∈ ℝ Ausgabegewichte und φ : [0, ∞) → (0, ∞) eine fallende radiale Basisfunktion (typischerweise gaußsch, φ(t) = exp(−t2/2σ2) mit σ > 0). Ein normiertes RBF-Netz ist die Funktion y : ℝd → ℝ,

y(x) = ∑i=1n vi φ(‖x − ci‖)/∑j=1n φ(‖x − cj‖),

wobei ‖·‖ die euklidische Norm ist; der Nenner ist positiv, weil φ positive Werte hat. Die Ausgabe ist also ein gewichteter Durchschnitt der Ausgabegewichte, wobei das Gewicht des Neurons i mit dem Abstand der Eingabe von seinem Zentrum ci fällt. Ein Sugeno-System nullter Ordnung mit gaußschen Zugehörigkeiten und dem Produkt als „und zugleich“ ist y = ∑i w̄i ri — nach Einsetzen von wi = φ(‖x − ci‖) und vi = ri genau dieselbe Formel. Vereinfacht gesagt: Regel = Neuron, Zugehörigkeitsfunktion = Basisfunktion, Folgerung = Ausgabegewicht. (Jang und Sun, 1993, zählen die Bedingungen genau auf: gleiche Anzahl von Regeln und Neuronen, konstante Folgerungen, gaußsche Zugehörigkeiten, innerhalb einer Regel mit gleicher Breite, das Produkt als „und zugleich“ und dieselbe Art, die Ausgabe zusammenzusetzen — gewichteter Durchschnitt oder gewichtete Summe.)

Beispiel — Fluch der Dimensionalität in Zahlen

Mit n Eingängen und k Termen pro Eingang hat das vollständige Gitter kn Regeln. Eine Sugeno-Folgerung erster Ordnung y = p1x1 + … + pnxn + r hat n + 1 Parameter, sodass es kn(n + 1) lineare Parameter gibt. Parameter der Voraussetzungen gibt es nur 2kn — jeder Eingang hat seine k Hügel, die alle Regeln gemeinsam nutzen.

Für n = 10 und k = 3: 310 = 59 049 Regeln, 59 049 · 11 = 649 539 Parameter der Folgerungen und 2 · 3 · 10 = 60 Parameter der Voraussetzungen. Die kleinsten Quadrate müssten ein System mit 649 539 Unbekannten lösen — und Daten bräuchte man noch viel mehr.

7. Zusammenfassung

  • ANFIS ist ein Sugeno-Fuzzy-System, geschrieben als fünfschichtiges Netz: Zugehörigkeit, Stärke, Normierung, Folgerung, Summe.
  • Hybrides Lernen bestimmt die linearen Folgerungen exakt mit kleinsten Quadraten und stimmt Zentren und Breiten der Zugehörigkeitsfunktionen per Gradient fein ab.
  • Für die Funktion sin(x2/3) senkte das Lernen der Voraussetzungen den Testfehler von 0,394 auf 0,173; der reine Gradient brauchte zehnmal so viele Epochen für ein schlechteres Ergebnis.
  • Zu viele Regeln führen zur Überanpassung — ab acht Regeln steigt der Testfehler steil an.
  • Die Voraussetzungen bleiben lesbar, die Folgerungen gleichen sich aber gegenseitig aus; auf die Interpretierbarkeit muss man achten.

Mit diesem Teil endet das Modul über Fuzzy-Logik: vom Wort „warm“ über die Logik und die Regler bis zu einem System, das die Regeln selbst lernt. Willst du es selbst ausprobieren? Lass einen KI-Agenten ANFIS den Stromverbrauch in Abhängigkeit von der Temperatur aus öffentlichen Daten lernen — und schau dir dann an, welche Regeln Sinn ergeben.

Siehst du das anders? Schreib an support@coden-app.com.

Ein Agent auf deinem Rechner, vom Telefon aus gesteuert