Каковы различия между алгоритмом Баум-Уэлча и тренировкой Витерби?

18

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

Цифровой Гал
источник
3
Что именно вы подразумеваете под «тренировкой Витерби»?
Bmargulies
2
В моей задаче у меня есть массив реальных данных, которые я моделирую как HMM (в частности, смесь функций множественной плотности, каждая с неизвестными параметрами). Пока я предполагаю, что знаю вероятности перехода состояния. Что я имею в виду под Витерби Трейнигом, так это следующий алгоритм. 1) Произвольно назначить состояние каждой точке данных (инициализация). 2) Выполнить MLE параметров функции плотности. 3) Пересмотреть состояние для каждой точки (можно сделать с помощью Viterbi Alg). 4) Перейдите к шагу 2 и повторите, если не выполнены критерии остановки.
Цифровой Гал
1
Тот же вопрос был задан при переполнении стека: тренировка Витерби против алгоритма Баума-Уэлча
Франк Дернонкурт

Ответы:

21

Алгоритм Баума-Уэлча и алгоритм Витерби рассчитывают разные вещи.

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

Алгоритм Баума-Уэлча дает вам как наиболее вероятные скрытые вероятности перехода, так и наиболее вероятный набор вероятностей излучения, учитывая только наблюдаемые состояния модели (и, как правило, верхнюю границу числа скрытых состояний). Вы также получаете «точечные» точки наибольшего правдоподобия в скрытых состояниях, которые часто немного отличаются от единственной скрытой последовательности, которая в целом наиболее вероятна.

Если вы знаете свою модель и просто хотите получить скрытые состояния, то нет смысла использовать алгоритм Баума-Уэлча. Если вы не знаете свою модель, то вы не можете использовать алгоритм Витерби.

Отредактировано, чтобы добавить: См. Комментарий Питера Смита; в номенклатуре есть некоторое совпадение / неопределенность. Некоторое возмущение привело меня к главе Луиса Хавьера Родригеса и Инес Торрес из книги «Распознавание образов и анализ изображений» (ISBN 978-3-540-40217-6, стр. 845-857), в которой обсуждается соотношение скорости и точности: два алгоритма.

Вкратце, алгоритм Баума-Уэлча по сути является алгоритмом максимизации ожиданий (EM), применяемым к HMM; как строгий алгоритм EM-типа вы гарантированно сходитесь, по крайней мере, к локальному максимуму, и поэтому для унимодальных задач найдите MLE. Однако для каждого шага требуется два прохода над вашими данными, а сложность становится очень большой из-за длины данных и количества обучающих выборок. Тем не менее, вы получите полную условную вероятность для ваших скрытых параметров.

Алгоритм тренировки Витерби (в отличие от «алгоритма Витерби») аппроксимирует MLE для достижения увеличения скорости за счет точности. Он сегментирует данные и затем применяет алгоритм Витерби (как я понял), чтобы получить наиболее вероятную последовательность состояний в сегменте, а затем использует эту наиболее вероятную последовательность состояний для переоценки скрытых параметров. Это, в отличие от алгоритма Баума-Уэлча, не дает полной условной вероятности скрытых параметров и, таким образом, приводит к снижению точности при сохранении значительного (в главе от 1 до 2 порядка) вычислительного времени.

Богатый
источник
7
Если я прав, вы смешиваете тренировки Витерби и декодирование Витерби.
Питер Смит
1
Ты прав. Я не знал, что существует процедура, которая использует только алгоритм Витерби для вычисления вероятностей перехода. Это выглядит - при дальнейшем чтении - как будто есть некоторое совпадение номенклатуры между HMM-анализом с дискретным временем / дискретным состоянием и анализом с дискретным временем / непрерывным состоянием с использованием гауссовых распределений смеси. Мой ответ говорит о настройке DTDS HMM, а не о настройке модели смеси.
Рич
@Rich: Не могли бы вы указать мне какой-нибудь доступный материал (например, оригинальный учебник Рабинера по HMM) по Viterbi Training?
Джейкоб
4
Обучение @Jacob Viterbi также носит имя Segmental K-Means, см. Эту статью Хуанга и Рабинера.
альт
1
@Anoldmaninthesea. Рассмотрение вероятностей между эпохами является нормальным способом оценки конвергенции (вероятность должна всегда увеличиваться в каждую эпоху, а затем останавливаться, когда вы достигаете локальных максимумов). Еще одна вещь, которую вы можете сделать, - это ранняя остановка, отслеживая вероятность того, что данные не используются во время EM.
альт
0

Вперед-назад используется, когда вы хотите посчитать «невидимые вещи». Например, при использовании EM для улучшения модели с помощью неконтролируемых данных. Я думаю, что статья Петрова является примером. В технике, о которой я думаю, вы сначала тренируете модель с аннотированными данными с довольно грубыми аннотациями (например, тегом «Глагол»). Затем вы произвольно разделяете массу вероятности для этого состояния на две слегка неравные величины и переобучаетесь, бегая вперед-назад, чтобы максимизировать вероятность, перераспределяя массу между двумя состояниями.

bmargulies
источник