Формальное описание HMM Q = q 1, q 2, …, q. N Множество из N состояний A = a 01, a 02, . . , an 1, …, ann Матрица вероятностей переходов между состояниями O = o 1, o 2, …, o. T Последовательность из T событий, каждое из которых является элементом множества (алфавита) V = v 1, v 2, …, vv B = bi(ot) Функция, определяющая вероятность того, что в состоянии i наблюдается событие ot q 0 , q F Стартовое и финальное состояния
Как использовать HMM для наблюдений, выраженных вещественными значениями Проблема Согласно определению HMM, каждое наблюдаемое событие должно быть из конечного алфавита V Однако характеристический вектор состоит из 39 вещественных чисел Решение Создать тренировочное множество векторов Выполнить их кластеризацию (т. е. разбить на сравнительно небольшое количество классов) Представить каждый класс символом из алфавита V Для каждого класса посчитать вероятность возникновения соответствующего события во всех состояниях HMM
Алгоритм кластеризации, метод k-средних 1. 2. 3. 4. Случайным образом выбираем M векторов из тренировочного множества L и назначаем их кодовыми символами vk алфавита V Для каждого вектора в тренировочном множестве вычисляем ближайший кодовый символ, используя метрику. Добавляем этот вектор в ячейку подобранного символа Для всех ячеек пересчитываем центр масс. Новым кодовым символом становится центр масс Повторяем шаги 2 -3 до тех пор пока состав ячеек изменяется