Viterbi-Trellis

Die wahrscheinlichste verborgene Zustandsfolge bestimmen und jede Wahrscheinlichkeitsspalte nachvollziehen.

Über dieses Tool

Aus Beobachtungssymbolen die wahrscheinlichste verborgene Zustandsfolge eines diskreten HMM erster Ordnung bestimmen. Das Regenschirmbeispiel nutzt Rain/Sun als Zustände und U (Regenschirm) beziehungsweise N (kein Regenschirm). Das sind Lehrannahmen, keine gemessenen Wetterdaten. Im Würfelbeispiel stehen Fair/Loaded für fair/gezinkt, Beobachtungen 1–6; der gezinkte Würfel zeigt mit Wahrscheinlichkeit 0,5 eine Sechs. Das unmögliche Beispiel startet in A, kann nicht wechseln und A emittiert nur x. Beobachtung y ist unmöglich.

Beobachtungen: 1–32 vollständige, groß-/kleinschreibungssensitive Tokens mit Leerzeichen oder Kommas, ohne Kürzung. Modelleinstellungen enthält editierbares JSON mit states, obsLabels, start, trans und emit. Die Arrayreihenfolge definiert Indizes. start[i] ist die Startwahrscheinlichkeit; trans[i][j] der Übergang von Zustand i nach j; emit[i][k] die Wahrscheinlichkeit für Symbol k in Zustand i. Jede Verteilung summiert sich innerhalb 1e-9 zu 1, Werte in [0,1]. 1–4 unterschiedliche Zustände und 1–8 unterschiedliche Symbole, IDs aus 1–12 ASCII-Buchstaben, Ziffern, Unterstrichen oder Bindestrichen. Höchstens 6.000 JSON-Zeichen und 512 Zeichen für Beobachtungen.

Berechnen liefert sofort das Ergebnis; Schritt berechnet eine ganze Zeitspalte. Optionale Animation mit 0–2000 ms, anfangs 350. Pause/Fortsetzen behält den Lauf; Berechnen schließt ihn ab. Zurücksetzen oder geänderte Eingaben verwerfen Ergebnisse. Modell, Beobachtungen, Auswahl und Verzögerung werden lokal gespeichert, auch ungültige Entwürfe; Ergebnisse und Animation werden neu berechnet. Überschreitet ein Entwurf die Speichergrenze, bleibt die bisherige gespeicherte Kopie erhalten und eine Warnung erscheint.

Viterbi maximiert P(Zustände, Beobachtungen), nicht die gesamte Beobachtungswahrscheinlichkeit oder eine nachträgliche Konfidenz. Startwert: ln(start[i]) + ln(emit[i][o]). Weitere Spalten maximieren über Vorgänger: bisheriger Wert + ln(Übergang) + ln(Emission); Rückzeiger rekonstruieren den Pfad. Null bleibt −∞. Natürliche Logarithmen vermeiden Unterlauf von Produkten. Rechenkern O(T·N²), Arbeitsspeicher O(T·N); die Spaltenansicht rekonstruiert zusätzlich Präfixpfade und erstellt Momentaufnahmen. Bei exakten Gleichständen gewinnen erster Vorgänger und Endzustand in Modellreihenfolge. Mehrere optimale Pfade sind möglich; der beste Präfixpfad kann sich mit späteren Beobachtungen ändern.

Zeilen sind Zustände, Spalten Zeitpunkte; unten stehen Beobachtung und Zeitindex. Blau markiert den aktuellen besten Präfix und später den endgültigen Pfad. Logwerte über den Knoten und in der optionalen Tabelle sind die besten gemeinsamen Präfixwerte mit diesem Endzustand. Unmögliche Übergänge fehlen, zukünftige Spalten sind noch unberechnet. Lange Trellisse scrollen lokal. Anzeige auf drei Dezimalstellen, Rechnung mit voller Genauigkeit. Begrenzter Lehrdecoder, kein Modelltraining, keine Marginalisierung, Spracherkennung oder echte Wettervorhersage.

Jurafsky & Martin — Hidden Markov Models