Навчання моделі прихованої Маркова, кілька навчальних екземплярів


18

Я реалізував дискретний HMM відповідно до цього підручника http://cs229.stanford.edu/section/cs229-hmm.pdf

Цей підручник та інші завжди говорять про підготовку НММ із заданою послідовністю спостереження.

Що відбувається, коли у мене є кілька тренувальних послідовностей? Треба просто запускати їх послідовно, навчаючи модель за іншою?

Інший варіант - об'єднати послідовності в одну і тренувати на ній, але тоді я матиму переходи стану від кінця однієї послідовності до початку наступної, які не є реальними.


Дивіться цей документ pdfs.semanticscholar.org/4000/… Незважаючи на те, що вони поширюють ідеї на сценарій спостереження, що не стосується індептів, мені було дуже корисно зрозуміти простий випадок, коли передбачається indep
Marc Torrellas

hmmlearnвпровадження СММ вже підтримки навчання СММ з декількома послідовностями. Просто дивіться тренування HMM з декількома послідовностями
Wenmin Wu

Відповіді:


16

Ні поєднувати, ні виконувати кожну ітерацію тренувань з різною послідовністю - це не правильно. Правильний підхід вимагає деяких пояснень:

Як правило, тренують HMM за допомогою алгоритму ЕМ. Це складається з декількох ітерацій. Кожна ітерація має один крок "оцінка" та один "максимальний" крок. На кроці "максимізувати" ви вирівнюєте кожен вектор спостереження x зі станом s у вашій моделі, щоб деяка міра ймовірності була максимальною. На кроці "оцінки" для кожного стану s ви оцінюєте (a) параметри статистичної моделі для x векторів, вирівняних до s та (b) ймовірностей переходу стану. У наступній ітерації крок максимізації запускається знову з оновленими статистичними моделями і т. Д. Процес повторюється встановлену кількість разів або коли імовірнісний захід перестає значно зростати (тобто модель переходить до стабільного рішення). Нарешті, (принаймні, в розпізнаванні мови) HMM, як правило, має призначений "старт"

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

Порівнюючи початок кожної послідовності спостереження з початковим станом, ви уникаєте проблеми об'єднання послідовностей, коли ви будете неправильно моделювати переходи між кінцем однієї послідовності та початком наступної. І використовуючи всі послідовності на кожній ітерації, ви уникаєте надання різних послідовностей кожної ітерації, що, як зазначив респондент, не гарантує конвергенції.


Чи вимагає цей метод, щоб кожна послідовність тренувань була однакової довжини?
Нейт

2
Ні, це не так. Зазвичай розробляється HMM, щоб дозволити самообмеження (один і той же стан використовується кілька разів послідовно) і щоб дозволити декілька станів, до яких переходити. Ці функції дозволяють HMM оцінювати послідовності різної довжини.
JeffM

4

Лоуренс Рабінер описує математично обґрунтований підхід у цьому підручнику з IEEE 77 . Підручник - це також шостий розділ книги " Основи розпізнавання мови " Рабінера та Джуанга.

RIA Davis та ін. ін. надає деякі додаткові пропозиції в цій роботі .

Я не пройшов ґрунтовного вивчення математики, але для мене підхід Рабінера звучить найбільш перспективно, тоді як підхід Девіса, здається, не має математичної основи.


2

Якщо ви дотримуєтеся математики, додавання додаткових прикладів навчання передбачає перерахунок способу обчислення ймовірності. Замість підсумовування за розмірами ви також підсумовуєте приклади тренувань.

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

Ось документ, який робить це для фільтра Калмана (це HMM з гауссовими ймовірностями), він може дати вам смак як змінити код, щоб ви могли підтримати більше прикладів.

http://ntp-0.cs.ucl.ac.uk/staff/S.Prince/4C75/WellingKalmanFilter.pdf

У нього також є лекція з HMM, але логіка досить проста.


1
Я не бачив, на що ти маєш на увазі. Чи можете ви вказати мою в правильному напрямку? Спасибі.
Вибіг

0

Це більше коментар до документа RIA Davis, на який посилається Bittenus (вище) . Мені доведеться погодитись з Біттеном, за методиками, запропонованими в роботі, не багато математичної підкладки - це скоріше емпіричне порівняння.

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

Інший тип моделювання усереднення моделей був детально описаний RIA Davis у статті журналу та використовує навчання Вітербі замість порівняння та оцінки алгоритмів навчання ансамблю Баума-Велча, використовуючи критерії чисельності поїздів та випробувань та умови . Однак цей документ досліджує лише НММ з тією ж обмеженою топологією подачі. (Я планую вивчити цей метод і оновлю цю публікацію зі своїми висновками.)

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