Sumário
Os modelos de Markov ocultos (HMMs) são muito mais simples que as redes neurais recorrentes (RNNs) e dependem de fortes suposições que nem sempre podem ser verdadeiras. Se as premissas forem verdadeiras, você poderá ver um melhor desempenho de um HMM, pois é menos complicado trabalhar.
Uma RNN pode ter um desempenho melhor se você tiver um conjunto de dados muito grande, pois a complexidade extra pode aproveitar melhor as informações em seus dados. Isso pode ser verdade mesmo que as suposições dos HMMs sejam verdadeiras no seu caso.
Por fim, não se restrinja apenas a esses dois modelos para sua tarefa de sequência; às vezes, regressões mais simples (por exemplo, ARIMA) podem vencer, e às vezes outras abordagens complicadas, como as Redes Neurais Convolucionais, podem ser as melhores. (Sim, as CNNs podem ser aplicadas a alguns tipos de dados de sequência, assim como as RNNs.)
Como sempre, a melhor maneira de saber qual modelo é melhor é fabricá-los e medir o desempenho em um conjunto de testes realizado.
Fortes Pressupostos dos HMMs
As transições de estado dependem apenas do estado atual, não de nada no passado.
Essa suposição não se aplica a muitas áreas com as quais estou familiarizado. Por exemplo, finja que você está tentando prever para cada minuto do dia se uma pessoa estava acordada ou dormindo com os dados de movimento. A chance de alguém fazer a transição do sono para o acordado aumenta quanto mais tempo a pessoa fica no estado de sono . Uma RNN poderia, teoricamente, aprender esse relacionamento e explorá-lo para obter maior precisão preditiva.
Você pode tentar contornar isso, por exemplo, incluindo o estado anterior como um recurso ou definindo estados compostos, mas a complexidade adicionada nem sempre aumenta a precisão preditiva de um HMM e definitivamente não ajuda os tempos de computação.
Você deve predefinir o número total de estados.
Voltando ao exemplo do sono, pode parecer que existem apenas dois estados com os quais nos preocupamos. No entanto, mesmo que apenas nos preocupemos em prever o estado de vigília versus o sono , nosso modelo pode se beneficiar da descoberta de estados extras como dirigir, tomar banho, etc. (por exemplo, tomar banho geralmente acontece logo antes de dormir). Novamente, uma RNN poderia teoricamente aprender tal relação se mostrasse exemplos suficientes dele.
Dificuldades com RNNs
Pode parecer do acima exposto que RNNs são sempre superiores. Devo observar, no entanto, que as RNNs podem ser difíceis de trabalhar, principalmente quando o conjunto de dados é pequeno ou as seqüências muito longas. Pessoalmente, tive problemas para treinar as RNNs em alguns dos meus dados e desconfio que a maioria dos métodos / diretrizes da RNN publicados esteja sintonizada nos dados de texto . Ao tentar usar RNNs em dados que não são de texto, tive que realizar uma pesquisa de hiperparâmetro mais ampla do que gostaria para obter bons resultados em meus conjuntos de dados específicos.
Em alguns casos, descobri que o melhor modelo para dados seqüenciais é na verdade um estilo UNet ( https://arxiv.org/pdf/1505.04597.pdf ) Modelo de rede neural convolucional, pois é mais fácil e rápido de treinar, e é capaz para levar em consideração o contexto completo do sinal.