Resumen
Los modelos ocultos de Markov (HMM) son mucho más simples que las redes neuronales recurrentes (RNN) y se basan en suposiciones fuertes que pueden no ser siempre ciertas. Si las suposiciones son ciertas, es posible que vea un mejor rendimiento de un HMM, ya que es menos complicado ponerse a trabajar.
Un RNN puede funcionar mejor si tiene un conjunto de datos muy grande, ya que la complejidad adicional puede aprovechar mejor la información en sus datos. Esto puede ser cierto incluso si los supuestos de HMM son ciertos en su caso.
Finalmente, no se limite solo a estos dos modelos para su tarea de secuencia, a veces las regresiones más simples (por ejemplo, ARIMA) pueden ganar, y a veces otros enfoques complicados como las redes neuronales convolucionales podrían ser los mejores. (Sí, los CNN se pueden aplicar a algunos tipos de datos de secuencia al igual que los RNN).
Como siempre, la mejor manera de saber qué modelo es mejor es hacer los modelos y medir el rendimiento en un conjunto de prueba extendido.
Suposiciones fuertes de HMM
Las transiciones de estado solo dependen del estado actual, no de nada en el pasado.
Esta suposición no se cumple en muchas de las áreas con las que estoy familiarizado. Por ejemplo, imagina que estás tratando de predecir cada minuto del día si una persona estaba despierta o dormida a partir de los datos de movimiento. La posibilidad de que alguien cambie de dormido a despierto aumenta cuanto más tiempo haya estado dormido . Un RNN teóricamente podría aprender esta relación y explotarla para una mayor precisión predictiva.
Puede intentar evitar esto, por ejemplo, incluyendo el estado anterior como una característica, o definiendo estados compuestos, pero la complejidad añadida no siempre aumenta la precisión predictiva de un HMM, y definitivamente no ayuda a los tiempos de cálculo.
Debe predefinir el número total de estados.
Volviendo al ejemplo del sueño, puede parecer que solo hay dos estados que nos interesan. Sin embargo, incluso si solo nos importa predecir despierto frente a dormido , nuestro modelo puede beneficiarse al descubrir estados adicionales como conducir, ducharse, etc. (por ejemplo, la ducha generalmente viene justo antes de dormir). Nuevamente, un RNN podría aprender teóricamente tal relación si mostrara suficientes ejemplos de ella.
Dificultades con los RNN
Puede parecer de lo anterior que los RNN son siempre superiores. Sin embargo, debo señalar que los RNN pueden ser difíciles de conseguir, especialmente cuando su conjunto de datos es pequeño o sus secuencias son muy largas. Personalmente, he tenido problemas para que los RNN se capaciten en algunos de mis datos, y sospecho que la mayoría de los métodos / directrices RNN publicados están ajustados a los datos de texto . Al intentar usar RNN en datos que no son de texto, he tenido que realizar una búsqueda de hiperparámetros más amplia de la que me interesa para obtener buenos resultados en mis conjuntos de datos particulares.
En algunos casos, he encontrado que el mejor modelo para datos secuenciales es en realidad un estilo UNet ( https://arxiv.org/pdf/1505.04597.pdf ) Modelo de red neuronal convolucional ya que es más fácil y rápido de entrenar, y es capaz para tener en cuenta el contexto completo de la señal.