Nem concatenar nem executar cada iteração de treinamento com uma sequência diferente é a coisa certa a fazer. A abordagem correta requer alguma explicação:
Geralmente se treina um HMM usando um algoritmo EM. Isso consiste em várias iterações. Cada iteração possui uma etapa de "estimativa" e uma de "maximização". Na etapa "maximizar", você alinha cada vetor de observação x com um estado s no seu modelo para que alguma medida de probabilidade seja maximizada. Na etapa "estimativa", para cada estado s, você estima (a) os parâmetros de um modelo estatístico para os vetores x alinhados com s e (b) as probabilidades de transição de estado. Na iteração a seguir, a etapa de maximização é executada novamente com os modelos estatísticos atualizados etc. O processo é repetido um número definido de vezes ou quando a medida de probabilidade deixa de aumentar significativamente (ou seja, o modelo converge para uma solução estável). Finalmente, (pelo menos no reconhecimento de fala), um HMM normalmente terá um "início" designado
Portanto, se você tiver várias sequências de treinamento, na etapa de estimativa, execute cada sequência para que seu vetor de observação inicial se alinhe ao estado inicial. Dessa forma, as estatísticas desse estado inicial são coletadas das primeiras observações em todas as suas seqüências de observação e, em geral, os vetores de observação são alinhados aos estados mais prováveis ao longo de cada sequência. Você executaria apenas a etapa de maximização (e futuras iterações) após todas as seqüências terem sido fornecidas para treinamento. Na próxima iteração, você faria exatamente a mesma coisa.
Ao alinhar o início de cada sequência de observação com o estado inicial, você evita o problema de concatenar sequências nas quais modelaria incorretamente as transições entre o final de uma sequência e o início da próxima. E, ao usar todas as seqüências de cada iteração, você evita fornecer sequências diferentes a cada iteração, o que, como observou o respondente, não garantirá a convergência.