Ni concatenar ni ejecutar cada iteración del entrenamiento con una secuencia diferente es lo correcto. El enfoque correcto requiere algunas explicaciones:
Normalmente se entrena un HMM utilizando un Algoritmo E-M . Consta de varias iteraciones. Cada iteración tiene un paso de "estimación" y otro de "maximización". En el paso de "maximización", se alinea cada vector de observación x con un estado s del modelo de forma que se maximice alguna medida de verosimilitud. En el paso de "estimación", para cada estado s, se estiman (a) los parámetros de un modelo estadístico para los vectores x alineados con s y (b) las probabilidades de transición de estado. En la siguiente iteración, la etapa "maximizar" se ejecuta de nuevo con los modelos estadísticos actualizados, etc. El proceso se repite un número determinado de veces o cuando la medida de verosimilitud deja de aumentar significativamente (es decir, el modelo converge a una solución estable). Por último, (al menos en el reconocimiento del habla) un HMM suele tener un estado "inicial" designado que se alinea con la primera observación de la secuencia de observación y tiene una topología "de izquierda a derecha", de modo que una vez que se abandona un estado no se vuelve a él.
Por lo tanto, si tiene varias secuencias de entrenamiento, en el paso de estimación debe ejecutar cada secuencia de modo que su vector de observación inicial se alinee con el estado inicial. De esa manera, las estadísticas sobre ese estado inicial se recogen de las primeras observaciones sobre todas sus secuencias de observación, y en general los vectores de observación se alinean con los estados más probables a lo largo de cada secuencia. Usted sólo haría el paso maximizar (y futuras iteraciones) después de se han proporcionado todas las secuencias para la formación. En la siguiente iteración, se haría exactamente lo mismo.
Al alinear el comienzo de cada secuencia de observación con el estado inicial, se evita el problema de concatenar secuencias en las que se modelan incorrectamente las transiciones entre el final de una secuencia y el comienzo de la siguiente. Además, al utilizar todas las secuencias en cada iteración, se evita proporcionar secuencias diferentes en cada iteración, lo que, como señala el autor de la pregunta, no garantiza la convergencia.