У чому полягають відмінності між алгоритмом Баума-Велча та навчанням Вітербі?


18

Наразі я використовую навчання Вітербі для проблеми сегментації зображень. Мені хотілося знати, які переваги / недоліки полягає у використанні алгоритму Баума-Велча замість навчання Вітербі.


3
Що саме ви маєте на увазі під «тренуванням з вітербі»?
bmargulies

2
У своїй проблемі я маю масив реальних цінних даних, які я моделюю як HMM (особливо суміш функцій множинної щільності, кожна з невідомими параметрами). Поки я припускаю, що я знаю ймовірності переходу держави. Що я маю на увазі під Вітербі Тренігом, це наступний алгоритм. 1) Довільно призначити стан для кожної точки даних (ініціалізація) 2) Виконайте MLE параметрів функції щільності. 3) Переоцінка стану для кожної точки (це можна зробити за допомогою Alter Viterbi). 4) Перейдіть до кроку 2 і повторіть, якщо не будуть виконані критерії зупинки.
Digital Gal

1
Це ж питання було задано щодо переповнення стека: тренування вітербі проти алгоритму баум-велча
Франк Дернонкурт

Відповіді:


21

Алгоритм Баума-Велча та алгоритм Вітербі обчислюють різні речі.

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

Алгоритм Баума-Велча дає вам як найбільш вірогідні приховані ймовірності переходу, так і найбільш ймовірний набір ймовірностей випромінювання з урахуванням лише спостережуваних станів моделі (і, як правило, верхня межа кількості прихованих станів). Ви також отримуєте "точкові" найвищі точки ймовірності в прихованих станах, які часто трохи відрізняються від єдиної прихованої послідовності, яка в цілому є найбільш ймовірною.

Якщо ви знаєте свою модель і просто хочете прихованих станів, тоді немає ніяких підстав використовувати алгоритм Баума-Велча. Якщо ви не знаєте своєї моделі, ви не можете використовувати алгоритм Вітербі.

Відредаговано, щоб додати: Див. Коментар Пітера Сміта; в номенклатурі є певне перекриття / розпливчастість. Деякі роздуми привели мене до глави Луїса Хав'є Родрігеса та Інес Торрес у "Розпізнаванні візерунків та аналізу зображень" (ISBN 978-3-540-40217-6, с. 845-857), де обговорюється швидкість та точність компромісів два алгоритми.

Якщо коротко, алгоритм Баума-Велча є по суті алгоритмом очікування-максимізації (ЕМ), застосованим до HMM; як суворий алгоритм типу ЕМ, ви гарантовано збігаєтесь принаймні до локального максимуму, і тому для унімодальних проблем знайдіть MLE. Однак, для кожного кроку потрібно два проходи над вашими даними, а складність стає дуже великою у довжині даних та кількості навчальних зразків. Однак у вас виходить повна умовна ймовірність прихованих параметрів.

Алгоритм тренувань Вітербі (на відміну від "алгоритму Вітербі") наближає MLE до досягнення рівня швидкості за рахунок точності. Він сегментує дані, а потім застосовує алгоритм Вітербі (як я це зрозумів) для отримання найбільш ймовірної послідовності стану в сегменті, а потім використовує цю найбільш ймовірну послідовність стану для повторної оцінки прихованих параметрів. Це, на відміну від алгоритму Баума-Велха, не дає повної умовної вірогідності прихованих параметрів, і, таким чином, знижує точність, зберігаючи значні (розділ повідомляє від 1 до 2 порядків) обчислювальний час.


7
Якщо я маю рацію, ви змішуєте тренування з Вітербі та декодування Вітербі.
Пітер Сміт

1
Ти маєш рацію. Я не знав, що існує процедура, яка використовувала лише алгоритм Вітербі для обчислення ймовірностей переходу. Подальше читання - начебто, існує деяке збіг номенклатури між дискретним аналізом HMM дискретного часу / дискретного стану та дискретним аналізом часу / безперервного стану з використанням розподілу суміші Гаусса. Моя відповідь говорить про налаштування DTDS HMM, а не про налаштування моделі суміші.
Багатий

@Rich: Чи не могли б ви вказати мені якийсь доступний матеріал (наприклад, оригінальний підручник з HMM Рабінера) з навчань у Вітербі?
Яків

4
Тренування @Jacob Viterbi також проходить під назвою Segmental K-Means, дивіться цю статтю Юанг та Рабінер.
alto

1
@Anoldmaninthesea. Перегляд імовірностей між епохами - це нормальний спосіб оцінити конвергенцію (вірогідність завжди повинна збільшуватися в кожну епоху, а потім зупинятися, коли ви досягли локальних максимумів). Інша річ, яку ви можете зробити, це раннє припинення, контролюючи ймовірність використання даних, які не використовуються під час ЕМ.
альт

0

Вперед-назад використовується, коли ви хочете порахувати "невидимі речі". Наприклад, при використанні ЕМ для вдосконалення моделі за допомогою даних без нагляду. Я думаю, що папір Петрова є прикладом. У техніці, про яку я думаю, спершу ви тренуєте модель з анотованими даними з досить грубими анотаціями (наприклад, тег для 'Verb'). Потім ви довільно розділите масу ймовірності для цього стану на дві злегка неоднакові величини та перекваліфікуєтесь, бігаючи вперед-назад, щоб збільшити ймовірність, перерозподіляючи масу між двома станами.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.