¿Cuáles son las diferencias entre los modelos ocultos de Markov y las redes neuronales?


40

Me estoy mojando los pies en las estadísticas, así que lamento si esta pregunta no tiene sentido. He utilizado modelos de Markov para predecir estados ocultos (casinos injustos, tiradas de dados, etc.) y redes neuronales para estudiar los clics de los usuarios en un motor de búsqueda. Ambos tenían estados ocultos que estábamos tratando de resolver usando observaciones.

Según tengo entendido, ambos predicen estados ocultos, así que me pregunto cuándo se usarían los modelos de Markov en las redes neuronales. ¿Son solo enfoques diferentes para problemas similares?

(Estoy interesado en aprender pero también tengo otra motivación, tengo un problema que estoy tratando de resolver usando modelos ocultos de Markov, pero me está volviendo loco, así que estaba interesado en ver si puedo cambiar a usar otra cosa).


2
Es posible que desee ver aquí: stats.stackexchange.com/questions/4498/…
Nucular

¿Le gustaría elegir una respuesta o aclarar más lo que está buscando?
conjugateprior

Respuestas:


28

Lo que está oculto y lo que se observa.

Lo que está oculto en un modelo oculto de Markov es lo mismo que lo que está oculto en un modelo de mezcla discreta, así que para mayor claridad, olvídate de la dinámica del estado oculto y quédate con un modelo de mezcla finita como ejemplo. El "estado" en este modelo es la identidad del componente que causó cada observación. En esta clase de modelo, tales causas nunca se observan, por lo que 'causa oculta' se traduce estadísticamente en la afirmación de que los datos observados tienen dependencias marginales que se eliminan cuando se conoce el componente fuente. Y se estima que los componentes fuente son los que hacen que esta relación estadística sea verdadera.

Lo que está oculto en una red neuronal multicapa de avance con unidades medias sigmoideas son los estados de esas unidades, no las salidas que son el objetivo de la inferencia. Cuando la salida de la red es una clasificación, es decir, una distribución de probabilidad sobre posibles categorías de salida, estos valores de unidades ocultas definen un espacio dentro del cual las categorías son separables. El truco para aprender un modelo de este tipo es crear un espacio oculto (ajustando el mapeo de las unidades de entrada) dentro del cual el problema es lineal. En consecuencia, los límites de decisión no lineales son posibles desde el sistema en su conjunto.

Generativo versus discriminativo

El modelo de mezcla (y HMM) es un modelo del proceso de generación de datos, a veces llamado probabilidad o "modelo directo". Cuando se combina con algunas suposiciones sobre las probabilidades anteriores de cada estado, se puede inferir una distribución sobre los posibles valores del estado oculto utilizando el teorema de Bayes (un enfoque generativo). Tenga en cuenta que, aunque se llama un "previo", tanto el previo como los parámetros de probabilidad generalmente se aprenden de los datos.

En contraste con el modelo de mezcla (y HMM), la red neuronal aprende directamente una distribución posterior sobre las categorías de salida (un enfoque discriminativo). Esto es posible porque los valores de salida se observaron durante la estimación. Y como se observaron, no es necesario construir una distribución posterior a partir de un modelo anterior y específico para la probabilidad, como una mezcla. El posterior se aprende directamente de los datos, que son más eficientes y menos dependientes del modelo.

Mezclar y combinar

Para hacer las cosas más confusas, estos enfoques se pueden mezclar, por ejemplo, cuando el estado del modelo de mezcla (o HMM) a veces se observa realmente. Cuando eso es cierto, y en algunas otras circunstancias no relevantes aquí, es posible entrenar de manera discriminatoria en un modelo generativo. De manera similar, es posible reemplazar el mapeo del modelo de mezcla de un HMM con un modelo hacia adelante más flexible, por ejemplo, una red neuronal.

Las preguntas

Por lo tanto, no es del todo cierto que ambos modelos predicen el estado oculto. Los HMM se pueden usar para predecir el estado oculto, aunque solo del tipo que espera el modelo directo. Las redes neuronales se pueden usar para predecir un estado aún no observado , por ejemplo, estados futuros para los que hay predictores disponibles. Este tipo de estado no está oculto en principio, simplemente no se ha observado todavía.

¿Cuándo usarías uno en lugar del otro? Bueno, las redes neuronales hacen modelos de series de tiempo bastante incómodos en mi experiencia. También suponen que ha observado resultados. Los HMM no lo hacen, pero realmente no tienes ningún control sobre cuál es el estado oculto. Sin embargo, son modelos de series de tiempo adecuados.


2
+1 Esto es muy bueno. Por: Similarly it is possible to replace the mixture model mapping of an HMM with a more flexible forward model, e.g., a neural network.¿te refieres a reemplazar las probabilidades de emisión p (Observado | Oculto) con un avance NN? Me he encontrado con esto en algunos lugares, pero ninguno da una explicación; solo mencionan que lo han implementado. Supongo que reemplazan el paso MLE para las emisiones de aprendizaje, pero no puedo entender cómo. ¿Conoces algún código o ejemplo explicativo? Cualquier puntero de bienvenida, gracias.
Zhubarb

Parece que se usa menos de esa manera (alguna persona más de ML puede corregirme aquí). Tha dijo que estimar el vector de estado de mapeo de parámetros NN a la salida condicional en conocer el vector de estado (o al menos en conocer su valor esperado, como en un algoritmo EM) es la misma tarea que entrenar con datos de entrada y salida observados, así que supongo que allí nada especial que decir sobre esa parte.
conjugateprior

La respuesta es buena, excepto: las redes neuronales pueden ser discriminatorias (avance, etc.) o generativas (máquinas de Bolzmann restringidas, etc.). Además, las redes neuronales recurrentes como los modelos LSTM y Reservoir Computing pueden modelar series de tiempo y HMM, y a veces incluso mejor que HMM, especialmente en el caso de series de tiempo con una fuerte dinámica no lineal y una correlación a largo plazo.
GuSuku

10

Los modelos ocultos de Markov se pueden usar para generar un lenguaje, es decir, enumerar elementos de una familia de cadenas. Por ejemplo, si tiene un HMM que modela un conjunto de secuencias, podría generar miembros de esta familia, enumerando las secuencias que se incluirían en el grupo de secuencias que estamos modelando.

Redes neuronales, tome una entrada de un espacio de alta dimensión y simplemente mapee a un espacio de menor dimensión (la forma en que las redes neuronales mapean esta entrada se basa en el entrenamiento, su topología y otros factores). Por ejemplo, puede tomar una imagen de 64 bits de un número y asignarla a un valor verdadero / falso que describa si este número es 1 o 0.

Si bien ambos métodos pueden (o al menos pueden intentar) discriminar si un elemento es miembro de una clase o no, Neural Networks no puede generar un lenguaje como se describió anteriormente.

Hay alternativas a los modelos ocultos de Markov disponibles, por ejemplo, podría usar una red bayesiana más general, una topología diferente o una gramática estocástica sin contexto (SCFG) si cree que el problema radica en la falta de poder de los HMM para modele su problema, es decir, si necesita un algoritmo capaz de discriminar entre hipótesis más complejas y / o describir el comportamiento de datos que son mucho más complejos.


66
+1 Para el segundo párrafo. Quisiera señalar que cualquiera que comprenda claramente todos los elementos de esta respuesta probablemente no haría la pregunta original. Probablemente no sea útil mencionar las gramáticas formales a alguien cuya publicación comienza con "Me estoy mojando los pies en las estadísticas ..." El segundo párrafo aquí captura la esencia de lo que pregunta el OP. En lugar del primer párrafo, podría decir: un HMM modela dependencias condicionales de estados ocultos, donde cada estado tiene una distribución de probabilidad sobre las observaciones.
Phillip Cloud el

77
Esta respuesta es simplemente incorrecta. Se supone que la red neuronal aquí es de avance. Esta es solo una clase de redes neuronales. Los modelos recurrentes no solo asignan entradas individuales a una representación de menor dimensión, y pueden generar lenguaje. Véase, por ejemplo, arxiv.org/abs/1308.0850
rd11

Generar una secuencia (como en el artículo vinculado) no es lo mismo que generar un lenguaje. Supongo que podría aplicarlos para discernir entre los elementos de un conjunto y, de lo contrario, si lo desea, sin embargo, se puede considerar un modelo recurrente que toma una sola entrada grande que abarca las entradas individuales con recurrencia y devuelve una salida grande. No estoy seguro si la red neuronal recurrente puede proporcionarle las salidas sin ninguna entrada.
Andrew

Hmm ¿Puedes dar un ejemplo de algo que crees que puede generar un HMM y que crees que no se puede generar con un RNN?
rd11

El ejemplo que viene a la mente es el siguiente: dado un HMM, puede obtener una secuencia de elementos que pertenecen al lenguaje que representa el HMM. Para que un RNN lo haga, debe agregar algo por encima (por ejemplo, pruebe las diferentes entradas y marque una entrada como miembro de una clase o no), aunque en el caso de los RNN probablemente esté viendo múltiples entradas. (uno tras otro) como representación de un solo "elemento" Los HMM son más adecuados naturalmente para generar un lenguaje.
Andrew

3

La mejor respuesta a esta pregunta de lo que he encontrado es la siguiente: ¿Es el aprendizaje profundo una cadena de Markov disfrazada ? Esto es exactamente lo que entendí, pero como ya había una discusión en otra parte de Internet, estoy poniendo el enlace aquí.

p(x1....xn)=p(x1)p(x2|x1)p(x3|x2)...

p(x1....xn)=p(x1)p(x2|x1)p(x3|x2,x1)p(x4|x3,x2,x1)...

Podemos usar una secuencia de caracteres como entrada en lugar de un solo carácter. De esta manera, podemos capturar mejor el estado (dependiendo del contexto).

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.