Скрытая марковская модель_Передний и обратный алгоритм_Алгоритм Витерби

1. Введение

          Модель Маркова - это модель без памяти , то есть состояние в момент времени t в последовательности связано только со временем t-1 , что является прямой зависимостью. Так называемые скрытые модели Маркова говорят, т статус и время т-1 раз косвенно , то есть сказать , что не существует прямой связи между двумя наблюдаемыми переменными, но их скрытые переменные последовательности, необходимые свойства Маркова. Многие, казалось бы, не связанные между собой вещи имеют неявную связь. Чтобы понять эту неявную взаимосвязь, вам нужно найти скрытые переменные и раскрыть правила. Это действительно очень увлекательная теория, он заставил меня почувствовать больше возможностей.

2. Скрытая марковская модель.

        

       Три параметра: на рисунке выше показан скрытый марковский рабочий процесс, X - последовательность скрытых переменных и Y - последовательность наблюдений. Мы определяем параметры модели как: λ = (π, A, B), где π представляет собой распределение вероятностей начального состояния, то есть распределение вероятностей x в первый момент; A представляет матрицу перехода, которая является параметром между X; B представляет Матрица выбросов - это параметр между X и Y; с этими тремя параметрами мы можем выразить возможность всех изменений в x и y.

      Две гипотезы: однородная марковская гипотеза (состояние X в момент времени t связано только со временем t-1) и гипотеза наблюдательной независимости (yt связана только с xt)

      Три проблемы: Скрытый Марков имеет три классические проблемы, соответствующие трем ситуациям, с которыми он может справиться. Таким образом, это проблема оценки оценки, проблема обучения обучению, проблема декодирования декодирования;

        Оценка состоит в том, чтобы найти условную вероятность Y при заданном λ (то есть использовать параметры модели, чтобы найти значение наблюдения); Обучение состоит в том, чтобы найти Y для данного Y (то есть, учитывая данные наблюдения, узнать параметры модели); Декодирование должно знать λ и Y, чтобы найти X ( То есть параметры модели и наблюдения известны, а скрытые переменные найдены);

         Далее мы подробно рассмотрим эти три проблемы.

3. Оценка

         Прямой алгоритм можно понимать как сумму прямой вероятности каждого состояния в каждый момент времени слева направо, а обратный алгоритм - это сумма обратной вероятности каждого состояния в каждый момент времени справа налево. В конце концов, можно выразить условное распределение вероятностей параметра λ, соответствующее наблюдаемому значению. Давайте подробно объясним ниже.

1. Прямой алгоритм

       

        Решение прямого насилия:

        Для задачи оценки мы знаем значение параметра λ и последовательность наблюдений, и что требуется, это распределение вероятностей последовательности наблюдений при параметре λ, то есть P (Y | λ). Самый прямой способ - найти P (X | λ) , А затем находим P (Y | X, λ), мы получаем совместную вероятность между скрытой переменной и наблюдаемым значением. Затем, используя маргинальное распределение вероятностей (когда одна переменная фиксирована, вероятность другой переменной) можно просто найти P (Y | λ)

       Но этот алгоритм должен изучить возможности всех комбинаций последовательностей скрытых слоев. Сложность всего алгоритма экспоненциальна. Предполагая, что количество скрытых состояний равно N, а длина скрытой последовательности равна T, сложность такова О (TN ^ {T}). Чтобы объяснить сложность здесь, существует несколько комбинаций последовательностей N ^ {T}, и каждую последовательность необходимо вычислить T раз. Для небольшого количества скрытых блоков и состояний это приемлемо. Но когда количество скрытых единиц и состояний велико, вычислительные затраты фатальны.

        Чтобы решить эту проблему, мы решили найти другой способ. Итак, мы вызвали прямой алгоритм.

        Форвардный алгоритм:

        Идея прямого алгоритма очень проста. Поскольку параметр λ известен, мы определяем последовательность скрытых переменных как I, а последовательность наблюдений как O

                      1. Прямая вероятность в первый момент : прямая вероятность в момент один = π * матрица излучения ;

                                       

                     2. Прямая вероятность в более позднее время: прямая вероятность в момент t + 1 = прямая вероятность в момент времени t * матрица перехода состояний * матрица передачи

                                      

                     3. Наконец, мы суммируем прямые вероятности в каждый момент, чтобы вычислить распределение вероятностей окончательной последовательности наблюдений O на основе параметра λ

                                     

         Описание: Идея прямого алгоритма состоит в том, чтобы найти прямую вероятность каждого момента слева направо. Это алгоритм динамического программирования, который абстрагирует взаимосвязь между каждым моментом и прямой вероятностью предыдущего момента, чтобы его можно было легко Использование итерации представляет каждый момент. Затем суммируйте прямые вероятности во все моменты, чтобы получить окончательное распределение вероятностей P (O | λ); прямая вероятность в первый момент умножается на матрицу выбросов на π , и прямая вероятность в каждый последующий момент используется перед Прямая вероятность в данный момент умножается на матрицу перехода состояний, а затем умножается на матрицу излучения. Таким образом, мы избегаем возможности обхода левой и правой комбинаций последовательности каждый раз, и сложность всего алгоритма снижается до экспоненциального уменьшения по сравнению со сложностью решения методом грубой силы .О (TN ^ {2})О (TN ^ {T})

2. Обратный алгоритм

    

        Мы только что узнали о прямом алгоритме, который фактически вычисляет прямую вероятность слева направо, а затем суммирует каждый момент. Так называемый обратный алгоритм рассчитывает обратную вероятность справа налево и затем суммирует каждый момент. Как и прямой алгоритм, это также динамический алгоритм, который использует взаимосвязь между каждым моментом и состоянием следующих моментов.

       В прямом алгоритме мы даем прямую вероятность в момент времени t-1 для вычисления прямой вероятности в момент времени t. Прямая вероятность представляет собой вероятность наблюдаемого значения в условиях скрытой переменной, тогда прямая вероятность в момент времени t представляет собой распределение вероятностей наблюдаемого значения в предыдущий момент времени t-1 при условии скрытой переменной в момент времени t . Поскольку оно выводится спереди назад, состояние π скрытой переменной в первый момент известно, поэтому мы можем напрямую выполнять рекурсивные вычисления.

       Обратный алгоритм к факту противоположного фронта, мы предполагаем известное время t скрытых переменных в условиях, возвращающихся к t + 1 в момент времени T, распределение вероятностей наблюдаемых значений . Поскольку он сдвигается сзади вперед, нам нужно сначала определить β, чтобы представить только что сделанное предположение.

                                                       

      Затем мы показываем рекуррентную зависимость от времени t + 1 до момента t β. В соответствии с приведенным выше рисунком мы можем объяснить, что на самом деле это очень простая логика. Поскольку βt + 1 представляет собой условное распределение вероятностей всех последующих наблюдений при условии t + 1. Затем умножьте βt + 1 на матрицу перехода, чтобы получить βt, и умножьте на матрицу излучения B, чтобы получить условное распределение вероятностей наблюдаемого значения в момент времени t + 1, и βt, полученный путем синтеза, может представлять скрытую переменную в момент времени t, t + 1. И условное распределение вероятностей наблюдений на все последующие моменты.

                                                       

       С помощью рекурсии мы можем получить состояние скрытой переменной в первый момент, что соответствует условному распределению вероятностей наблюдаемых значений во все последующие моменты. Сложите все N состояний, чтобы получить распределение вероятностей значения наблюдения, соответствующего λ (начальное состояние π, матрица перехода, матрица излучения).

                                                       

 

        Резюме: По сравнению с прямым алгоритмом, мы представили вычислительную логику обратного алгоритма. Идея та же, что и у прямого алгоритма, который динамически выражает взаимосвязь между параметром λ и наблюдаемым значением через взаимосвязь между состоянием в данный момент. Это просто потому, что мы нажимаем справа налево, поэтому нам нужно определить переменную β, чтобы представить нашу гипотезу. То есть скрытая переменная в каждый момент соответствует распределению вероятностей наблюдаемого значения в следующий момент. Наконец, мы получаем распределение вероятностей следующих наблюдений при условии π в первый момент. Поэтому при вычислении нам нужно инициализировать значение β в момент времени t. Окончательная сложность алгоритма составляет О (TN ^ {2}).

4. Алгоритм Витерби.

       Прежде всего, проблема декодирования в трех основных задачах HMM, соответствующих алгоритму Витерби, то есть известной модели λ (π, A, B) и последовательности наблюдения O; должна потребоваться последовательность скрытых состояний S. Практические приложения, такие как: распознавание речи, известная часть речевой информации, делает вывод о наиболее вероятной соответствующей текстовой информации;

        Не волнуйтесь, исходя из моего опыта столь долгой жизни, алгоритм, который часто слушает более страшное имя, на самом деле проще; основная идея алгоритма Витерби состоит в том, чтобы найти оптимальный путь, который является наиболее вероятной последовательностью скрытых состояний Комбинированный метод, как его найти? В этом есть небольшая хитрость. Предположим, вы знаете оптимальный путь от времени t до времени t + 1 (максимальная вероятность), тогда вы можете получить оптимальный путь до момента t; продолжайте нажимать, предполагая, что вы знаете предпоследний путь Оптимальный путь от второго момента до последнего момента, затем вы можете вывести глобальный оптимальный путь.

                                

                                         

                    Пожалуйста, посмотрите на два изображения выше: первое изображение - это все возможные пути от S до E, второе - это путь, обработанный Витерби, который, очевидно, проще. Внимательное наблюдение покажет, что вторая картина проста, потому что есть только один путь, соответствующий состоянию в каждый момент. Этот путь можно понимать как локальный оптимальный путь. Когда, наконец, достигается состояние E, другие пути могут быть исключены путем обратного отслеживания, оставляя только глобальный оптимальный путь.

            

5. Резюме

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

6. Ерунда

          Особенно люблю говорить чушь, потому что это приносит мне здоровье. Я всегда хотел найти ребенка, который спокойно оставался бы рядом со мной. Когда я разговаривал с ним, его ответ был настолько глубоким, что меня шокировал. Он не проявляет особого интереса к тому, чем занимаются другие люди, а скорее готов делать то, что другим кажется скучным. Ему нравится пребывать в оцепенении, разговаривать с самим собой, смотреть в далекое небо и медитировать, как будто он не принадлежит этому миру. Он много работал, чтобы вести себя как все, надеясь, что другие сочтут его нормальным ребенком. Только когда он будет один, он будет счастлив. Ему нравится болтать с невидимыми вещами, не словами, а сердцем. В это время все вокруг кажется живым. Я ушел, но он всегда сидел на краю поля под заходящим солнцем, раскачивая ногами. Я поздоровался, темнеет! Быстро иди домой! Он побежал домой и заснул на руках у матери. Я его давно не видела, скучаю по нему, но больше не могу найти.

Тик-Канкан

 

рекомендация

отblog.csdn.net/gaobing1993/article/details/108629751
рекомендация