Многомерная скрытая модель Маркова
Как я могу объединить несколько спектров излучений с одинаковыми марковскими состояниями?
Давайте использовать классический пример HMM:
% states
S = {sunny, rainy, foggy}
% discrete observations
x = {umbrella, no umbrella}
А что если бы у меня было несколько последовательностей наблюдений. Например:
% sequence 1
x1 = {umbrella, no umbrella}
% sequence 2
x2 = {wearing a coat, not wearing a coat}
Как я могу объединить эти две последовательности наблюдений в один HMM?
Примечание: я хотел бы объединить x1
а также x2
так что их взаимозависимости также моделируются. Поэтому просто говоря x={x1 x2}
(ИМО) не будет хорошим решением.
В частности, я хочу тренировать HMM на основе hmmtrain от Matlab:
[ESTTR,ESTEMIT] = hmmtrain(seq,TRGUESS,EMITGUESS)
Это только позволяет мне вставить один seq
,
Теперь допустим, у меня есть 5 различных спектров излучения, которые все что-то говорят о состояниях HMM. Как я могу справиться с этим многовариантным случаем?
2 ответа
Как насчет того, чтобы взять декартово произведение возможных наблюдений из каждого набора. То есть ваша новая модель дискретного излучения будет:
- зонтик и пальто
- зонтик и не носить пальто
- без зонтов и в пальто
- не зонтик и не носить пальто
А как насчет создания предпосылок для выбора специального HMM? Вместо огромного HMM вы можете создать несколько маленьких HMM и выбрать только соответствующий HMM. Например: если (зонтик = истина), тогда примените HMM_1, иначе примените HMM_2. Тогда у вас также будет меньше символов эмиссии в HMM. Хороший побочный эффект: вы экономите время на обучение и тестирование.