Які відмінності між прихованими моделями Маркова та нейронними мережами?


40

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

Наскільки я розумію, вони обоє прогнозують приховані стани, тож мені цікаво, чи можна було б використовувати моделі Маркова через нейронні мережі? Чи просто різні підходи до подібних проблем?

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


2
Ви можете подивитися тут: stats.stackexchange.com/questions/4498/…
Nuclear

Чи хотіли б ви вибрати відповідь або уточнити, що шукаєте?
сполученийприор

Відповіді:


27

Що приховано, і що спостерігається

Те, що приховано у прихованій моделі Маркова, те саме, що приховано в дискретній моделі суміші, тому для наочності забудьте про динаміку прихованого стану та дотримуйтесь кінцевої моделі суміші як прикладу. "Стан" у цій моделі - тотожність компонента, який спричинив кожне спостереження. У цьому класі моделі таких причин ніколи не спостерігається, тому «приховану причину» статистично переводять у твердження, що спостережувані дані мають граничні залежності, які усуваються, коли джерело компонента відоме. А вихідні компоненти оцінюються такими, що роблять цю статистичну залежність справжньою.

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

Покоління проти дискримінації

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

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

Змішайте і з’єднайте

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

Питання

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

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


2
+1 Це дуже добре. Під: Similarly it is possible to replace the mixture model mapping of an HMM with a more flexible forward model, e.g., a neural network.чи ви маєте на увазі заміну ймовірностей викидів p (спостерігається | приховано) на подання NN? Я стикався з цим у кількох місцях, але жодне не дає пояснень; вони просто згадують, що це реалізували. Я припускаю, що вони замінюють крок MLE для вивчення викидів, але не можуть зрозуміти, як. Чи знаєте ви який-небудь код або пояснювальний приклад? Будь-які вказівники вітаються, дякую.
Жубарб

Здається, це менш використовується таким чином (дещо більше ML-персонажа може мене тут виправити). Тха сказав, що оцінка параметрів NN, відображення вектору стану для виведення, обумовлене знанням вектора стану (або, принаймні, знанням його очікуваного значення, як в алгоритмі ЕМ) - це те саме завдання, що і тренування з спостережуваними вхідними та вихідними даними, тому я гадаю, що там нічого особливого сказати про цю частину.
кон'югатпріор

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

10

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

Нейронні мережі, візьміть вхід з просторового простору і просто віднесіть його до простору нижнього розміру (спосіб, по якому Neural Networks відображає цей вхід, заснований на навчанні, його топології та інших чинниках). Наприклад, ви можете зробити 64-розрядне зображення числа і віднести його до значення true / false, яке описує, чи є це число 1 або 0.

Хоча обидва методи здатні (або принаймні можуть спробувати) розрізнити, чи є елемент членом класу чи ні, Нейронні мережі не можуть створити мову, як описано вище.

Існують альтернативи прихованим моделям Маркова, наприклад, ви, можливо, зможете використовувати більш загальну байєсівську мережу, іншу топологію або стохастичну граматику без контексту (SCFG), якщо ви вважаєте, що проблема полягає в тому, що HMMs не має сили для моделюйте свою проблему - тобто, якщо вам потрібен алгоритм, який здатний розмежувати складніші гіпотези та / або описати поведінку даних, що є набагато складнішими.


6
+1 Для другого абзацу. Я хотів би зазначити, що той, хто чітко розуміє всі елементи цієї відповіді, напевно, не ставить запитання оригіналу. Напевно, не корисно згадувати офіційні граматики для того, хто допису починається з "Я просто промокаю ноги в статистиці ..." Другий абзац тут відображає суть того, про що задається ОП. Замість першого абзацу ви можете сказати: HMM моделює умовні залежності прихованих станів, де кожен стан має розподіл ймовірностей щодо спостережень.
Філліп Хмара

7
Ця відповідь просто неправильна. Тут нейромережа вважається зручною. Це лише один клас нейронних мереж. Поточні моделі не просто відображають окремі входи до нижнього розміру, і вони можуть генерувати мову. Дивіться, наприклад, arxiv.org/abs/1308.0850
rd11

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

Хм. Чи можете ви навести приклад того, що, на вашу думку, може генерувати HMM, і що ви вважаєте, що не може бути створене за допомогою RNN?
rd11

Приклад, який спадає на думку, такий: даючи HMM, ви можете отримати послідовність елементів, що належать до мови, що представляє HMM. Для того, щоб це зробити RNN, вам потрібно додати щось над цим (наприклад, спробувати різні входи та позначити вхід як член класу чи іншим чином) - хоча у випадку з RNN ви, мабуть, дивитесь на кілька входів (одна за одною) як що представляє один "предмет". НММ більш природно підходять для генерування мови.
Андрій

3

Найкраща відповідь на це запитання з того, що я знайшов, це така: Чи глибоко вивчає ланцюжок Маркова в маскуванні . Це саме те, що я зрозумів, але оскільки в Інтернеті вже було обговорення, я посилаю тут посилання.

p(x1....xn)=p(x1)p(x2|x1)p(x3|x2)...

p(x1....xn)=p(x1)p(x2|x1)p(x3|x2,x1)p(x4|x3,x2,x1)...

Ми можемо використовувати послідовність символів як введення замість одного символу. Таким чином, ми можемо краще захопити стан (залежно від контексту).

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