В настоящее время я использую тренировку Витерби для проблемы сегментации изображения. Я хотел знать, в чем преимущества / недостатки использования алгоритма Баума-Уэлча вместо тренировки Витерби.
18
В настоящее время я использую тренировку Витерби для проблемы сегментации изображения. Я хотел знать, в чем преимущества / недостатки использования алгоритма Баума-Уэлча вместо тренировки Витерби.
Ответы:
Алгоритм Баума-Уэлча и алгоритм Витерби рассчитывают разные вещи.
Если вы знаете вероятности перехода для скрытой части вашей модели и вероятности излучения для видимых выходов вашей модели, то алгоритм Витерби дает вам наиболее вероятную полную последовательность скрытых состояний, зависящую как от ваших выходов, так и от спецификации вашей модели.
Алгоритм Баума-Уэлча дает вам как наиболее вероятные скрытые вероятности перехода, так и наиболее вероятный набор вероятностей излучения, учитывая только наблюдаемые состояния модели (и, как правило, верхнюю границу числа скрытых состояний). Вы также получаете «точечные» точки наибольшего правдоподобия в скрытых состояниях, которые часто немного отличаются от единственной скрытой последовательности, которая в целом наиболее вероятна.
Если вы знаете свою модель и просто хотите получить скрытые состояния, то нет смысла использовать алгоритм Баума-Уэлча. Если вы не знаете свою модель, то вы не можете использовать алгоритм Витерби.
Отредактировано, чтобы добавить: См. Комментарий Питера Смита; в номенклатуре есть некоторое совпадение / неопределенность. Некоторое возмущение привело меня к главе Луиса Хавьера Родригеса и Инес Торрес из книги «Распознавание образов и анализ изображений» (ISBN 978-3-540-40217-6, стр. 845-857), в которой обсуждается соотношение скорости и точности: два алгоритма.
Вкратце, алгоритм Баума-Уэлча по сути является алгоритмом максимизации ожиданий (EM), применяемым к HMM; как строгий алгоритм EM-типа вы гарантированно сходитесь, по крайней мере, к локальному максимуму, и поэтому для унимодальных задач найдите MLE. Однако для каждого шага требуется два прохода над вашими данными, а сложность становится очень большой из-за длины данных и количества обучающих выборок. Тем не менее, вы получите полную условную вероятность для ваших скрытых параметров.
Алгоритм тренировки Витерби (в отличие от «алгоритма Витерби») аппроксимирует MLE для достижения увеличения скорости за счет точности. Он сегментирует данные и затем применяет алгоритм Витерби (как я понял), чтобы получить наиболее вероятную последовательность состояний в сегменте, а затем использует эту наиболее вероятную последовательность состояний для переоценки скрытых параметров. Это, в отличие от алгоритма Баума-Уэлча, не дает полной условной вероятности скрытых параметров и, таким образом, приводит к снижению точности при сохранении значительного (в главе от 1 до 2 порядка) вычислительного времени.
источник
Вперед-назад используется, когда вы хотите посчитать «невидимые вещи». Например, при использовании EM для улучшения модели с помощью неконтролируемых данных. Я думаю, что статья Петрова является примером. В технике, о которой я думаю, вы сначала тренируете модель с аннотированными данными с довольно грубыми аннотациями (например, тегом «Глагол»). Затем вы произвольно разделяете массу вероятности для этого состояния на две слегка неравные величины и переобучаетесь, бегая вперед-назад, чтобы максимизировать вероятность, перераспределяя массу между двумя состояниями.
источник