Ні поєднувати, ні виконувати кожну ітерацію тренувань з різною послідовністю - це не правильно. Правильний підхід вимагає деяких пояснень:
Як правило, тренують HMM за допомогою алгоритму ЕМ. Це складається з декількох ітерацій. Кожна ітерація має один крок "оцінка" та один "максимальний" крок. На кроці "максимізувати" ви вирівнюєте кожен вектор спостереження x зі станом s у вашій моделі, щоб деяка міра ймовірності була максимальною. На кроці "оцінки" для кожного стану s ви оцінюєте (a) параметри статистичної моделі для x векторів, вирівняних до s та (b) ймовірностей переходу стану. У наступній ітерації крок максимізації запускається знову з оновленими статистичними моделями і т. Д. Процес повторюється встановлену кількість разів або коли імовірнісний захід перестає значно зростати (тобто модель переходить до стабільного рішення). Нарешті, (принаймні, в розпізнаванні мови) HMM, як правило, має призначений "старт"
Отже, якщо у вас є кілька навчальних послідовностей, на етапі оцінювання слід запустити кожну послідовність так, щоб її початковий вектор спостереження вирівнювався з початковим станом. Таким чином, статистика цього початкового стану збирається з перших спостережень за всіма вашими послідовностями спостереження, і загалом вектори спостереження вирівнюються до найбільш ймовірних станів протягом кожної послідовності. Ви зробите максимальний крок (та майбутні ітерації) лише після того, як всі послідовності будуть надані для навчання. На наступній ітерації ви зробите абсолютно те саме.
Порівнюючи початок кожної послідовності спостереження з початковим станом, ви уникаєте проблеми об'єднання послідовностей, коли ви будете неправильно моделювати переходи між кінцем однієї послідовності та початком наступної. І використовуючи всі послідовності на кожній ітерації, ви уникаєте надання різних послідовностей кожної ітерації, що, як зазначив респондент, не гарантує конвергенції.