Реализация HMM с помощью Matlab

Я не очень хорошо знаком с HMM, но хочу реализовать в Matlab. Я хочу использовать этот набор инструментов HMM Toolbox. Я не уверен, понял ли я, как я должен это реализовать. Если есть много обучающих последовательностей состояний для разных классов. Вот как бы я это сделал:

  1. Я рассчитываю для каждой последовательности матрицу перехода и эмиссии с помощью [TRANS,EMIS] = hmmestimate(seq,states), которая представляет собой HMM.
  2. Я сохраняю эту матрицу с информацией, к какому классу принадлежит
  3. Я делаю это для каждой тренировочной последовательности
  4. Если я получаю последовательность наблюдений для классификации, я использую функцию hmmviterbi(seq,TRANS,EMIS) для вычисления «вероятности» для каждого сохраненного HMM.
  5. Наиболее «вероятным» (самый высокий процент) был HMM, который я искал --> я знаю класс

Можно ли так реализовать HMM?

Я надеюсь, что вы можете дать мне несколько советов

Кстати. Я знаю, что мой английский не так хорош, но я надеюсь, что он понятен.


person xandi1987    schedule 12.04.2013    source источник


Ответы (1)


Хотя я не знаю Matlab и не могу вам помочь в этой области, ваши шаги звучат правильно. Вот шаги, которые я бы реализовал:

  • Сначала вы используете тренировочный набор для создания модели, представляющей этот набор.
  • Повторите это для каждой ситуации, которую вы хотите, чтобы ваша система распознала (например, модель для каждой ситуации).
  • Когда у вас есть входной набор, вы сравниваете его с каждой моделью и сохраняете оценки вероятности/достоверности.
  • Сравните эти оценки и выберите самый сильный результат (при условии, что он превышает любой установленный вами порог).

РЕДАКТИРОВАТЬ: я нашел хороший пример здесь из предыдущего вопроса. Чтобы ответить, верна ли ссылка, которую вы предоставили в комментариях, я должен был бы сказать да, но раньше не использовал Matlab для HMM, поэтому не могу подтвердить использование этих функций. Я предлагаю вам посмотреть ответ на предыдущую ссылку на вопрос выше и проработать его, так как это более подробное объяснение моих простых шагов, описанных выше.

person Nashibukasan    schedule 15.04.2013
comment
Спасибо за ответ... Не могли бы вы взглянуть на это описание: mathworks. de/de/help/stats/hmmtrain.html Это похоже на правильный метод обучения, но я понятия не имею, как мне оценить матрицу? (Хочу реализовать сложное распознавание жестов) - person xandi1987; 17.04.2013