Significado das probabilidades iniciais de transição em um modelo de markov oculto

11

Quais são os benefícios de atribuir certos valores iniciais às probabilidades de transição em um modelo de Markov oculto? Eventualmente, o sistema os aprenderá; então, qual é o sentido de fornecer valores que não sejam aleatórios? O algoritmo subjacente faz alguma diferença como Baum – Welch?

Se eu conhecer as probabilidades de transição no início com muita precisão, e meu principal objetivo é prever probabilidades de saída do estado oculto para as observações, o que você me aconselharia?

metdos
fonte

Respostas:

7

Baum-Welch é um algoritmo de otimização para calcular o estimador de probabilidade máxima. Para modelos ocultos de Markov, a superfície de probabilidade pode ser bastante feia e certamente não é côncava. Com bons pontos de partida, o algoritmo pode convergir mais rapidamente e para o MLE.

Se você já conhece as probabilidades de transição e deseja prever estados ocultos pelo algoritmo Viterbi, precisará das probabilidades de transição. Se você já os conhece, não há necessidade de reestimá-los usando a Baum-Welch. A re-estimativa é computacionalmente mais cara que a previsão.

NRH
fonte
3

Alguns dos materiais referentes às estimativas iniciais do HMM são apresentados em

Lawrence R. Rabiner (fevereiro de 1989). "Um tutorial sobre modelos de Markov ocultos e aplicativos selecionados no reconhecimento de fala". Anais do IEEE 77 (2): 257–286. doi: 10.1109 / 5.18626 (seção VC)

Você também pode dar uma olhada no kit de ferramentas de modelagem probabilística para Matlab / Octave , especialmente a função hmmFitEm , onde você pode fornecer seu próprio parâmetro inicial do modelo ou apenas usando (opção 'nrandomRestarts'). Ao usar 'nrandomRestarts', o primeiro modelo (na etapa init) usa:

  • Ajuste uma mistura de gaussianos via MLE / MAP (usando EM) para dados contínuos;
  • Ajuste uma mistura de produto de distribuições discretas via MLE / MAP (usando EM) para dados discretos;

o segundo, terceiro modelos ... (na etapa init) usam parâmetros inicializados aleatoriamente e, como resultado, convergem mais lentamente com os valores de verossimilhança de log mais baixos.

Sergey
fonte