Markov zincirleri ve HMM


11

Markov zincirleri bana mantıklı geliyor, onları gerçek yaşam problemlerindeki olasılık durum değişikliklerini modellemek için kullanabilirim. Sonra HMM geliyor. HMM'lerin MC'lerden daha fazla problemi modellemek için daha uygun olduğu söylenir. Bununla birlikte, insanların bahsettiği sorunlar, konuşma işleme gibi anlaşılması biraz karmaşıktır. Yani sorum şu: HMM'nin MC'den daha uygun olduğu "gerçek ve basit" bir sorunu tarif edebilir misiniz? ve nedenini açıklayalım? Teşekkürler

Yanıtlar:


19

Konuşma tanıma düşündüğünüz kadar karmaşık bir örnek değildir.

İlk olarak, metin tanıma yapan bir Markov Zinciri (MC) oluşturmayı hayal edin. Programınız bir grup metni (kusursuz, hatasız) okur ve durumları (kelimeleri) ve durum değişikliklerini (sonraki kelimeler) hesaplar. Bunu indirmişsin gibi geliyor. Artık metin oluşturabilir veya MC'nizin durumlarını ve geçiş olasılıklarını kullanarak bir sonraki kelimeyi tahmin etmek için bazı metinler verebilirsiniz.

Şimdi MC'nizi konuşma ile kullanmak istediğinizi düşünün. İnsanların MC'nize benzer metinleri okumasını sağlayın ve hazırsınız, değil mi? Şey ... Kelimeleri farklı telaffuz edecekleri dışında: yazılı metnin "patates" dediği yerde, aslında "po-TAY-toh" ve "po-TAH-toh" ve "pu-TAY -to ", vb. Ve tersi:" yedi "ve" sekiz "metni iki farklı durumu temsil eder, ancak (genellikle) aynı şekilde telaffuz edilir.

Algoritmanız artık altta yatan durumları (kelimeler) görmüyor, her kelime için telaffuzların olasılık dağılımını görüyor. Orijinal MC'niz telaffuzların arkasında gizlidir ve şimdi modelinizin iki katmanlı olması gerekir.

Böylece, orijinal antrenmanınız için kullandığınız metni yüksek sesle okuyabilmeniz için birçok kişi alabilir, her kelimenin telaffuzları için bir dağıtım alabilir ve ardından orijinal modelinizi telaffuz modeliyle birleştirebilirsiniz ve bir Gizli Markov Modeliniz var ( bir HMM).

Gerçek dünya gürültülü olma eğiliminde olduğundan, gerçek dünyadaki sorunların çoğu bu şekilde olacaktır. Aslında bir şeyin hangi eyalette olduğunu bilemezsiniz. Bunun yerine, her eyalet için çeşitli göstergeler alırsınız: bazen farklı eyaletler için aynı gösterge ("yedi" ve "sekiz") ve bazen aynı eyalet için farklı göstergeler ("pu-TAY-toe" ve "pah-tah-TOE"). Bu nedenle, HMM'ler gerçek dünya problemleri için daha uygundur.

[İki yan not: 1) gerçek konuşma tanıma sözcük düzeyinde değil foneme düzeyinde çalışır ve 2) HMM'lerin konuşma tanıma için tepenin kralı olduğuna, ancak son zamanlarda derin sinir ağları tarafından tahttan indirildiğine inanıyorum.]


6

Çok temel olarak, bir HMM, devletin tam olarak gözlemlenemediği bir Markov modelidir, bunun yerine sadece bazı gürültülü gözlemlerle dolaylı olarak gözlemlenir. Markov model kısmı, devlete zamansal bağımlılıklar empoze etmenin basit bir yoludur. Buna bağlı olarak, HMM'lerin yararlı olduğu sorunlar, devletin bir Markov modelini takip ettiği problemlerdir, ancak devleti doğrudan gözlemlemezsiniz.

Bir HMM ile yapabileceğiniz çeşitli şeyler var. Yapabileceğiniz faydalı bir şey şu şekildedir - günümüze kadar bir dizi gürültülü gözlem göz önüne alındığında, belki de sistemin en olası mevcut durumunun ne olduğunu bilmek istersiniz. Bunu yapmak için, Markov zincir yapısını devleti çıkarmaya yönelik gözlemlerle uygun şekilde birleştirirsiniz. Benzer şekilde, bunu tüm durum dizisini gözlem dizisinden çıkarmak için uzatabilirsiniz ( bu standarttır).

Bilim ve mühendislikte bu model her zaman kullanılır. Örneğin, belki c gibi basit bir hayvanın videosunu kaydediyorsunuz . elegans(bir solucan) ve sadece az sayıda ayrı davranışsal durumu vardır. Videodan, her kareyi hayvanın davranışsal durumu ile etiketlemek istiyorsunuz. Tek bir çerçeveden, etiketleme algoritmasında bir miktar hata / gürültü vardır. Bununla birlikte, bir Markov zinciri ile modelleyebileceğiniz geçici bağımlılıklar da vardır ... Bir çerçevede hayvan bir durumda ise, bir sonraki çerçeve için aynı durumda olması muhtemeldir (ve belki de bazı durumlar sadece geçişlere izin verir) bazı diğer eyaletlere). Temel olarak, gürültülü tek kare gözlemlerinizi geçişlerin yapısıyla (HMM tarafından) birleştirerek, düzgünleştirilmiş ve daha iyi kısıtlanmış bir durum tahminleri dizisi elde edebilirsiniz.


2

HMM bir karışım modelidir. Tıpkı Gauss Modelinin karışımı gibi . Markov Zinciri'ne ek olarak onu kullanmamızın nedeni, veri modellerini yakalamak için daha karmaşık olmasıdır.

Çekişmeli bir değişkeni modellemek için tek bir Gaussian kullanırsak VEYA sürekli bir değişkeni modellemek için Gaussian karışımını kullanırız.

Bu fikri tanıtmak için sürekli bir değişken kullanırdım: diyelim ki bu veriler var

resim açıklamasını buraya girin

2 Gaussian ve farklı oranlarda modellemek daha iyidir. Hangi ayrık durumda "eşdeğerdir": 2 gizli durum ile bir HMM inşa ediyoruz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.