Estou apenas começando a me molhar nas estatísticas, então desculpe se esta pergunta não faz sentido. Eu usei os modelos de Markov para prever estados ocultos (cassinos injustos, jogadas de dados etc.) e redes neurais para estudar os cliques dos usuários em um mecanismo de pesquisa. Ambos tinham estados ocultos que estávamos tentando descobrir usando observações.
Pelo que entendi, ambos prevêem estados ocultos, então estou me perguntando quando alguém usaria modelos de Markov em redes neurais? São apenas abordagens diferentes para problemas semelhantes?
(Estou interessado em aprender, mas também tenho outra motivação, tenho um problema que estou tentando resolver usando modelos ocultos de Markov, mas isso está me deixando maluco, por isso estava interessado em ver se posso mudar para o uso de outra coisa.)
fonte
Respostas:
O que está oculto e o que é observado
O que está oculto em um modelo de Markov oculto é o mesmo que está oculto em um modelo de mistura discreta; portanto, para maior clareza, esqueça a dinâmica do estado oculto e use um modelo de mistura finita como exemplo. O 'estado' neste modelo é a identidade do componente que causou cada observação. Nesta classe de modelo, tais causas nunca são observadas, portanto, a "causa oculta" é traduzida estatisticamente na alegação de que os dados observados têm dependências marginais que são removidas quando o componente de origem é conhecido. E estima-se que os componentes de origem sejam o que torna essa relação estatística verdadeira.
O que está oculto em uma rede neural de múltiplas camadas feedforward com unidades médias sigmóides são os estados dessas unidades, não as saídas que são alvo da inferência. Quando a saída da rede é uma classificação, ou seja, uma distribuição de probabilidade entre as possíveis categorias de saída, esses valores de unidades ocultas definem um espaço no qual as categorias são separáveis. O truque para aprender esse modelo é criar um espaço oculto (ajustando o mapeamento das unidades de entrada) dentro do qual o problema é linear. Consequentemente, limites de decisão não lineares são possíveis no sistema como um todo.
Generativo versus discriminativo
O modelo de mistura (e HMM) é um modelo do processo de geração de dados, às vezes chamado de probabilidade ou 'modelo futuro'. Quando associado a algumas suposições sobre as probabilidades anteriores de cada estado, é possível inferir uma distribuição sobre os valores possíveis do estado oculto usando o teorema de Bayes (uma abordagem generativa). Observe que, embora chamado de 'prior', o prior e os parâmetros na probabilidade geralmente são aprendidos com os dados.
Em contraste com o modelo de mistura (e HMM), a rede neural aprende uma distribuição posterior diretamente sobre as categorias de saída (uma abordagem discriminativa). Isso é possível porque os valores de saída foram observados durante a estimativa. E, como foram observadas, não é necessário construir uma distribuição posterior a partir de um modelo anterior e específico para a probabilidade, como uma mistura. O posterior é aprendido diretamente dos dados, que são mais eficientes e menos dependentes do modelo.
Misturar e combinar
Para tornar as coisas mais confusas, essas abordagens podem ser misturadas, por exemplo, quando o estado do modelo de mistura (ou HMM) às vezes é realmente observado. Quando isso é verdade, e em algumas outras circunstâncias não relevantes aqui, é possível treinar discriminativamente em um modelo generativo. Da mesma forma, é possível substituir o mapeamento do modelo de mistura de um HMM por um modelo avançado mais flexível, por exemplo, uma rede neural.
As questões
Portanto, não é bem verdade que os dois modelos prevejam o estado oculto. Os HMMs podem ser usados para prever o estado oculto, embora apenas do tipo que o modelo a frente está esperando. Redes neurais podem ser usadas para prever um estado ainda não observado , por exemplo, estados futuros para os quais preditores estão disponíveis. Este tipo de estado não está oculto em princípio, apenas não foi observado ainda.
Quando você usaria um e não o outro? Bem, redes neurais fazem modelos de séries temporais bastante estranhos na minha experiência. Eles também assumem que você observou a saída. Os HMMs não, mas você realmente não tem controle sobre qual é realmente o estado oculto. No entanto, eles são modelos de séries temporais adequados.
fonte
Similarly it is possible to replace the mixture model mapping of an HMM with a more flexible forward model, e.g., a neural network.
você quer dizer substituir as probabilidades de emissão p (Observado | Oculto) por um feed NN? Eu me deparei com isso em alguns lugares, mas nenhum dá uma explicação; eles apenas mencionam que o implementaram. Suponho que eles substituam a etapa do MLE para aprender as emissões, mas não conseguem entender como. Você conhece algum código ou exemplo explicativo? Qualquer indicação bem-vinda, obrigado.Modelos de Markov ocultos podem ser usados para gerar uma linguagem, ou seja, listar elementos de uma família de strings. Por exemplo, se você tiver um HMM que modela um conjunto de seqüências, poderá gerar membros dessa família, listando as sequências que se enquadram no grupo de sequências que estamos modelando.
Redes Neurais, pegue uma entrada de um espaço de alta dimensão e simplesmente mapeie-a para um espaço dimensional inferior (a maneira como as Redes Neurais mapeiam essa entrada é baseada no treinamento, em sua topologia e outros fatores). Por exemplo, você pode pegar uma imagem de um número de 64 bits e mapeá-la para um valor verdadeiro / falso que descreva se esse número é 1 ou 0.
Embora ambos os métodos sejam capazes de (ou pelo menos tentem) discriminar se um item é membro de uma classe ou não, as Redes Neurais não podem gerar um idioma como descrito acima.
Existem alternativas aos modelos de Markov ocultos disponíveis; por exemplo, você pode usar uma rede bayesiana mais geral, uma topologia diferente ou uma gramática livre de contexto estocástico (SCFG) se você acredita que o problema está na falta de poder dos HMMs. modele seu problema - isto é, se você precisar de um algoritmo capaz de discriminar hipóteses mais complexas e / ou descrever o comportamento dos dados que são muito mais complexos.
fonte
A melhor resposta para esta pergunta do que eu encontrei é a seguinte: está aprendendo profundamente uma cadeia de Markov disfarçada . Isso é exatamente o que eu entendi, mas como já houve uma discussão em outro lugar na Internet, estou colocando o link aqui.
Modelo de cadeias de Markov:
Os RNNs tentam modelar:
Podemos usar uma sequência de caracteres como entrada em vez de um único caractere. Dessa forma, podemos capturar melhor o estado (dependendo do contexto).
fonte