Ich wäre versucht, "keine" oder "sowohl Klassifizierung als auch Clustering" zu antworten.
Warum "keine"? Denn HMMs befinden sich nicht in der gleichen Tasche wie Support Vector Machines oder k-means.
Support Vector Machines oder k-means wurden speziell entwickelt, um ein Problem zu lösen (Klassifizierung im ersten Fall, Clustering im zweiten Fall) und sind in der Tat nur ein Optimierungsverfahren, um ein Kriterium "erwartete Güte der Klassifizierung" oder "Güte der Clusterung" zu maximieren . Die Schönheit liegt in der Wahl des Kriteriums und des Optimierungsverfahrens. HMM sind kein Algorithmus an sich. Sie sind eine spezielle Art der Wahrscheinlichkeitsverteilung über Folgen von Vektoren - für die wir gute Parameterschätzungs- und Randverteilungsberechnungsalgorithmen kennen. Es ist jedoch genauso lächerlich, zu fragen, ob sie zur "Clustering" - oder "Klassifikations" -Familie gehören, wie zu fragen, ob die Gaußsche Verteilung überwacht oder nicht überwacht wird.
Warum "sowohl Klassifizierung als auch Clustering"? Aus folgenden Gründen: HMM kann als Wahrscheinlichkeitsverteilung zur Klassifizierung in einem Bayes'schen Gerüst verwendet werden. Da es sich um ein Modell mit versteckten Zuständen handelt, können einige latente Cluster der Trainingsdaten aus ihren Parametern wiederhergestellt werden. Etwas präziser:
HMM kann zur Klassifizierung verwendet werden. Dies ist eine einfache Anwendung des Bayes'schen Klassifikationsrahmens, wobei das HMM als probabilistisches Modell zur Beschreibung Ihrer Daten verwendet wird. Beispielsweise verfügen Sie über eine große Datenbank mit Äußerungen von Ziffern ("eins", "zwei" usw.) und möchten ein System erstellen, mit dem eine unbekannte Äußerung klassifiziert werden kann. Für jede Klasse in Ihren Trainingsdaten ("eins", "zwei") schätzen Sie die Parameter eines HMM-Modells, das die Trainingssequenzen in dieser Klasse beschreibt, und Sie erhalten 10 Modelle. Um die Erkennung durchzuführen, berechnen Sie die 10 Wahrscheinlichkeitswerte (die angeben, mit welcher Wahrscheinlichkeit die zu erkennende Sequenz vom Modell generiert wurde) und das Modell mit den höchsten Werten geben die Ziffer an. Im Rabiner-Tutorial zu HMMs, die Trainingsphase ist "Problem 3", die Klassifikationsphase ist "Problem 2".
HMM kann auch unbeaufsichtigt eingesetzt werden, um eine Art Clustering zu erreichen. Bei einer gegebenen Sequenz können Sie ein HMM mit Status darauf trainieren und am Ende des Trainingsprozesses den Viterbi-Algorithmus für Ihre Sequenz ausführen, um den wahrscheinlichsten Status für jeden Eingabevektor zu ermitteln (oder diesen einfach aus dem während des Trainingsprozesses). Dies gibt Ihnen eine Gruppierung Ihrer Eingabesequenz inkγkKlassen, aber im Gegensatz zu dem, was Sie durch Ausführen Ihrer Daten mit k-means erhalten hätten, ist Ihre Clusterbildung auf der Zeitachse homogen. Sie können beispielsweise die Farbhistogramme jedes Einzelbilds einer Videosequenz extrahieren, diesen Prozess in dieser Sequenz ausführen und das Video in homogene zeitliche Segmente aufteilen, die Szenen entsprechen (das unpraktische Bit ist dass Sie die Anzahl der Szenen im Voraus einstellen müssen ). Diese Technik wird häufig bei der automatischen, unbeaufsichtigten Strukturanalyse von Video oder Musik verwendet .k