¿Qué tipo de algoritmo de aprendizaje automático es el modelo oculto de Markov?

12

He utilizado el algoritmo Hidden Markov Model para el reconocimiento automático de voz en una clase de procesamiento de señal. Ahora, revisando la literatura de aprendizaje automático, veo que los algoritmos se clasifican como "Clasificación", "Agrupación" o "Regresión". ¿En qué cubo cae HMM? No encontré modelos ocultos de markov que figuran en la literatura.

usuario1411110
fuente

Respuestas:

14

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

pichenettes
fuente
1

Primero, veamos las tres opciones:

  • Clasificación : Identificar a qué clase de un conjunto de clases predefinidas pertenecen los datos.
  • Agrupación : Aprende el conjunto de clases a las que pertenecen los datos.
  • Regresión : Encontrar una relación entre una variable y una o más.

La descripción del HMM en Wikipedia tiene la siguiente tabla:

ingrese la descripción de la imagen aquí

entonces el número de estados (clases) es fijo.

Eso significa que el algoritmo no trata de calcular el número de clases (estados) --- por lo que no es un clúster abierto (donde se desconoce el número de estados).

Sin embargo, como señala @nikie, el HMM agrupará.

Realmente no hay una variable independiente (como existe en el contexto de regresión) --- entonces no es regresión.

Entonces mi respuesta es que el HMM es una clasificación y un algoritmo de agrupamiento , no creo que sea una regresión.

Peter K.
fuente
2
¿Cómo se pasa de "el número de clases si está fijo" a "para que el algoritmo no intente darse cuenta de que las clases son"? El número de clases para la agrupación de k-means también es fijo, pero es claramente un algoritmo de agrupación.
Niki Estner
Supongo que estoy acostumbrado a la agrupación abierta en lugar de arreglada. Se actualizará la respuesta. ¡Gracias!
Peter K.