Hidden Markov Model (HMM)
Erkunde Hidden Markov Models (HMM) für statistische KI. Lerne, wie HMMs mit Ultralytics YOLO26 für Aktionserkennung, Sequenzanalyse und temporale Logik zusammenarbeiten.
Ein Hidden Markov Model (HMM) ist ein statistisches Framework, das zur Modellierung von Systemen verwendet wird, bei denen der interne Prozess nicht direkt sichtbar ist – daher "hidden" (verborgen) –, sondern aus einer Sequenz beobachtbarer Ereignisse abgeleitet werden kann. Während sich modernes Deep Learning zur Handhabung komplexer Sequenzen weiterentwickelt hat, bleibt das HMM ein grundlegendes Konzept in der statistischen KI und der Wahrscheinlichkeitstheorie. Es ist besonders effektiv für die Zeitreihenanalyse, bei der die Reihenfolge der Ereignisse einen entscheidenden Kontext liefert, basierend auf dem Kernprinzip, dass die Wahrscheinlichkeit eines zukünftigen Zustands ausschließlich vom aktuellen Zustand abhängt und nicht von der vorangegangenen Historie.
Link to this sectionKernmechanismen von HMMs#
Um zu verstehen, wie ein HMM funktioniert, ist es wichtig, zwischen den zwei verschiedenen Ebenen des Modells zu unterscheiden: den unsichtbaren Zuständen und den sichtbaren Ausgaben. Das Modell geht davon aus, dass das System gemäß spezifischer Wahrscheinlichkeiten zwischen verborgenen Zuständen wechselt und bei jedem Schritt eine Beobachtung ausgibt.
Ein HMM wird durch eine Reihe von Parametern definiert, die diese Übergänge und Emissionen steuern:
- Hidden States: Diese repräsentieren die zugrunde liegende Realität des Systems zu einem bestimmten Zeitpunkt. In einem Sprachmodell könnte ein verborgener Zustand ein bestimmtes Phonem oder Wort darstellen.
- Observable Events: Dies sind die Datenpunkte, die tatsächlich von Sensoren oder Eingaben erfasst werden. Im Sprachbeispiel wäre die Beobachtung die Audiowellenform oder das Spektrogramm.
- Transition Probabilities: Diese Matrix beschreibt die Wahrscheinlichkeit, von einem verborgenen Zustand in einen anderen zu wechseln. Zum Beispiel die Wahrscheinlichkeit, dass sich das Wetter von "Regnerisch" zu "Sonnig" ändert.
- Emission Probabilities: Diese definieren die Wahrscheinlichkeit, eine bestimmte Beobachtung bei gegebenem aktuellem verborgenen Zustand zu sehen.
- Initial Probabilities: Die Verteilung, die bestimmt, in welchem Zustand das System am wahrscheinlichsten beginnt.
Das Training eines HMM beinhaltet im Allgemeinen den Baum-Welch-Algorithmus, um diese Parameter aus Trainingsdaten zu schätzen. Sobald das Modell trainiert ist, wird üblicherweise der Viterbi-Algorithmus verwendet, um die wahrscheinlichste Sequenz verborgener Zustände aus einer neuen Menge von Beobachtungen zu dekodieren.
Link to this sectionHMMs vs. andere Sequenzmodelle#
Obwohl HMMs Gemeinsamkeiten mit anderen Sequenzverarbeitungswerkzeugen haben, unterscheiden sie sich erheblich in Architektur und Anwendung:
- HMM vs. Recurrent Neural Networks (RNN): RNNs und Long Short-Term Memory (LSTM)-Netzwerke sind Deep-Learning-Modelle, die weitreichende Abhängigkeiten und nichtlineare Muster erfassen können, während HMMs einfachere, probabilistische Modelle sind, die durch die Markov-Annahme (Kurzzeitgedächtnis) begrenzt sind. HMMs erfordern jedoch deutlich weniger Daten und sind weitaus interpretierbarer.
- HMM vs. Kalman Filter (KF): Beide werden zur Zustandsschätzung verwendet. Kalman-Filter sind jedoch für kontinuierliche Zustände konzipiert (wie die Verfolgung der präzisen Position eines fahrenden Autos), während HMMs für diskrete Zustände verwendet werden (wie die Bestimmung, ob das Auto "geparkt", "fahrend" oder "angehalten" ist).
Link to this sectionPraxisanwendungen#
Trotz des Aufstiegs von Deep Learning (DL) werden Hidden Markov Models immer noch häufig in Szenarien eingesetzt, die probabilistische Schlussfolgerungen über Sequenzen erfordern.
Link to this sectionSprach- und Handschrifterkennung#
Historisch gesehen waren HMMs das Rückgrat von Spracherkennungssystemen. In diesem Kontext sind die gesprochenen Wörter die "verborgenen" Zustände und die vom Mikrofon aufgezeichneten Audiosignale die Beobachtungen. HMMs helfen dabei, die wahrscheinlichste Wortfolge zu bestimmen, die das Audiosignal erzeugt hat. Ähnlich unterstützen sie die Entzifferung kursiver Handschrift, indem sie den Übergang zwischen Schriftzeichenstrichen modellieren.
Link to this sectionBiologische Sequenzanalyse#
Im Bereich der Bioinformatik sind HMMs entscheidend für die Gen-Vorhersage und Protein-Ausrichtung. Sie analysieren Sequenzen von DNA oder Aminosäuren, um funktionelle Regionen zu identifizieren, wie etwa Gene innerhalb eines Genoms. Die "verborgenen" Zustände könnten kodierende oder nicht-kodierende Regionen darstellen, während die spezifischen Nukleotide (A, C, G, T) als Beobachtungen fungieren.
Link to this sectionAktionserkennung in der Computer Vision#
In der modernen Computer Vision können HMMs mit Modellen wie YOLO26 kombiniert werden, um eine Aktionserkennung durchzuführen. Während YOLO Objekte oder Posen in einzelnen Bildern erkennt, kann ein HMM die Sequenz dieser Posen über die Zeit analysieren, um eine Aktion wie "Gehen", "Laufen" oder "Stürzen" zu klassifizieren.
Link to this sectionIntegration von Vision und Zustandsanalyse#
Für Entwickler, die die Ultralytics Platform zur Verwaltung von Datensätzen und Modellen nutzen, ist das Verständnis sequenzieller Logik von entscheidender Bedeutung. Ein Vision-Modell liefert die Rohbeobachtungen (Detektionen), die dann in ein Zustandsraummodell wie ein HMM eingespeist werden können, um den zeitlichen Kontext abzuleiten.
Das folgende Beispiel demonstriert, wie man eine Sequenz von Beobachtungen mithilfe der YOLO26 Posen-Schätzung generiert. Diese Keypoints können als Input für "beobachtbare Ereignisse" für ein nachgelagertes HMM oder eine ähnliche Logik dienen, um Verhaltensweisen über die Zeit zu klassifizieren.
from ultralytics import YOLO
# Load the YOLO26n-pose model for efficient keypoint detection
model = YOLO("yolo26n-pose.pt")
# Run inference on a video source (the 'observable' sequence)
# stream=True creates a generator for memory efficiency
results = model.predict(source="path/to/video.mp4", stream=True)
# Iterate through frames to extract observations
for result in results:
# Each 'keypoints' object is an observation for a potential HMM
keypoints = result.keypoints.xyn.cpu().numpy()
if keypoints.size > 0:
print(f"Observation (Normalized Keypoints): {keypoints[0][:5]}...")
# In a full pipeline, these points would be fed into an HMM decoderLink to this sectionBedeutung in der modernen KI#
Obwohl Transformer und Large Language Models (LLMs) HMMs für Aufgaben wie Natural Language Processing (NLP) abgelöst haben, bleiben HMMs im Edge Computing und in Umgebungen mit geringer Latenz relevant. Ihre Recheneffizienz macht sie ideal für Systeme mit begrenzten Ressourcen, bei denen eine intensive GPU-Nutzung nicht möglich ist. Da sie zudem auf transparenten Wahrscheinlichkeitsmatrizen basieren, bieten sie im Vergleich zur "Black-Box"-Natur vieler neuronaler Netzwerke eine höhere Observability.






