Me vería tentado a responder "ninguno" o "clasificación y agrupación".
¿Por qué "ninguno"? Porque los HMM no están en la misma bolsa que las máquinas de vectores de soporte o k-means.
Las máquinas de vectores de soporte o k-means están específicamente diseñadas para resolver un problema (clasificación en el primer caso, agrupamiento en el segundo), y de hecho son solo un procedimiento de optimización para maximizar un criterio de "bondad esperada de clasificación" o "bondad de agrupamiento" . La belleza radica en la elección del criterio y el procedimiento de optimización. HMM no son un algoritmo per se. Son un tipo específico de distribución de probabilidad sobre secuencias de vectores, para lo cual conocemos una buena estimación de parámetros y algoritmos de cálculo de distribución marginal. Pero preguntar si están en la familia de "agrupamiento" o "clasificación" es tan ridículo como preguntar si la distribución gaussiana es aprendizaje supervisado o no supervisado.
¿Por qué "tanto la clasificación como la agrupación"? Debido a lo siguiente: al ser distribuciones de probabilidad, HMM puede usarse para la clasificación en un marco bayesiano; y al ser un modelo con estados ocultos, se puede recuperar una agrupación latente de los datos de entrenamiento de sus parámetros. Más precisamente:
HMM se puede utilizar para la clasificación. Esta es una aplicación directa del marco de clasificación bayesiano, con el HMM como modelo probabilístico que describe sus datos. Por ejemplo, tiene una gran base de datos de enunciados de dígitos ("uno", "dos", etc.) y desea construir un sistema capaz de clasificar un enunciado desconocido. Para cada clase en sus datos de entrenamiento ("uno", "dos", usted estima los parámetros de un modelo HMM que describe las secuencias de entrenamiento en esta clase, y termina con 10 modelos. Luego, para realizar el reconocimiento, calcula los 10 puntajes de probabilidad (que indican la probabilidad de que el modelo haya generado la secuencia que desea reconocer), y el modelo con el puntaje más alto le da el dígito. En el tutorial de Rabiner sobre HMM, la etapa de entrenamiento es "Problema 3", la etapa de clasificación es "Problema 2".
HMM también se puede utilizar sin supervisión, para lograr algo parecido a la agrupación. Dada una secuencia, puede entrenar un state HMM en él y, al final del proceso de entrenamiento, ejecutar el algoritmo de Viterbi en su secuencia para obtener el estado más probable asociado con cada vector de entrada (o simplemente extraerlo de la durante el proceso de entrenamiento). Esto le da una agrupación de su secuencia de entrada enγ k kkγkclases, pero a diferencia de lo que habría obtenido al ejecutar sus datos a través de k-means, su agrupación es homogénea en el eje del tiempo. Por ejemplo, puede extraer los histogramas de color de cada fotograma de una secuencia de video, ejecutar este proceso en esta secuencia y terminará con un desglose del video en segmentos temporales homogéneos correspondientes a escenas (el bit poco práctico es que tiene que configurar el número de escenas por adelantado). Esta técnica se usa comúnmente en análisis de estructura automáticos, sin supervisión, de video o música .k