Baum-Welch algoritması ile Viterbi eğitimi arasındaki farklar nelerdir?


18

Şu anda bir görüntü bölümleme sorunu için Viterbi eğitimini kullanıyorum . Viterbi eğitimi yerine Baum-Welch algoritmasını kullanmanın avantajlarının / dezavantajlarının ne olduğunu bilmek istedim.


3
'Viterbi eğitimi' ile tam olarak ne demek istiyorsun?
bmargulies

2
Benim sorunum bir HMM (özellikle bilinmeyen parametreleri ile birden çok yoğunluk fonksiyonlarının bir karışımı) modelleme gerçek değer veri bir dizi var. Şimdilik devlet geçiş olasılıklarını bildiğimi varsayıyorum. Viterbi Trainig ile kastettiğim şu algoritma. 1) Her veri noktasına keyfi olarak bir durum atayın (başlatma) 2) Yoğunluk fonksiyonu parametrelerinin MLE'sini gerçekleştirin. 3) Her bir nokta için durumu yeniden tahmin edin (Viterbi Alg ile yapılabilir). 4) 2. adıma geçin ve durdurma kriterleri yerine gelmedikçe tekrarlayın.
Digital Gal

1
Aynı soru yığın taşması hakkında da soruldu: viterbi antrenmanı vs baum-welch algoritması
Franck Dernoncourt

Yanıtlar:


21

Baum-Welch algoritması ve Viterbi algoritması farklı şeyleri hesaplar.

Modelinizin gizli kısmı için geçiş olasılıklarını ve modelinizin görünür çıktıları için emisyon olasılıklarını biliyorsanız, Viterbi algoritması size hem çıktılarınızda hem de model spesifikasyonunuzda koşullu olarak gizli durumların en olası tam sırasını verir .

Baum-Welch algoritması size hem en olası gizli geçiş olasılıklarını hem de yalnızca modelin gözlemlenen durumları (ve genellikle gizli durumların sayısının üst sınırı) verildiğinde en olası emisyon olasılıkları kümesini verir. Ayrıca, gizli durumlardaki genel olarak büyük olasılıkla tek gizli diziden biraz farklı olan "noktaya doğru" en yüksek olasılık noktalarını da alırsınız.

Modelinizi biliyorsanız ve sadece gizli durumları istiyorsanız, Baum-Welch algoritmasını kullanmak için bir neden yoktur. Modelinizi bilmiyorsanız, Viterbi algoritmasını kullanamazsınız.

Eklemek için düzenlendi: Peter Smit'in yorumuna bakın; isimlendirmede bir miktar örtüşme / belirsizlik var. Bazıları beni "Patern Tanıma ve Görüntü Analizi" (ISBN 978-3-540-40217-6, s. 845-857) ile Luis Javier Rodrıguez ve Ines Torres'in hızın doğruluk değiş tokuşlarına karşı tartışıldığı bir bölüme yönlendirdi. iki algoritma.

Kısaca, Baum-Welch algoritması esasen bir HMM'ye uygulanan Beklenti-Maksimizasyon (EM) algoritmasıdır; katı bir EM-tipi algoritma olarak en azından yerel bir maksimuma dönüşmeniz garanti edilir ve bu nedenle tek modlu problemler için MLE'yi bulun. Yine de, her adım için verilerinizin üzerinden iki geçiş yapılması gerekir ve karmaşıklık, verilerin uzunluğu ve egzersiz örneği sayısı açısından çok büyük olur. Ancak, gizli parametreleriniz için tam koşullu olasılıkla sonuçlanırsınız.

Viterbi eğitim algoritması ("Viterbi algoritmasının" aksine), doğruluk maliyetiyle hızda bir kazanç elde etmek için MLE'ye yaklaşır. Verileri bölümlere ayırır ve daha sonra segmentte en olası durum sırasını elde etmek için (anladığım gibi) Viterbi algoritmasını uygular, daha sonra gizli parametreleri yeniden tahmin etmek için en olası durum sırasını kullanır. Bu, Baum-Welch algoritmasından farklı olarak, gizli parametrelerin tam koşullu olasılığını vermez ve bu nedenle önemli ölçüde tasarruf sağlarken (bölüm 1 ila 2 büyüklük sırası rapor eder) hesaplama süresinin doğruluğunu azaltır.


7
Haklıysam Viterbi eğitimini ve Viterbi kod çözme işlemlerini karıştırırsınız.
Peter Smit

1
Haklısın. Geçiş olasılıklarını hesaplamak için sadece Viterbi algoritmasını kullanan bir prosedür olduğunu bilmiyordum. Ayrık zaman / ayrık durum HMM analizi ile Gauss karışım dağılımlarını kullanan ayrık zaman / sürekli durum analizi arasında bir miktar örtüşme olduğu gibi - daha fazla okumaya benziyor. Cevabım, karışım modeli kurulumuyla değil DTDS HMM kurulumuyla ilgili.
Zengin

@Rich: Beni Viterbi Eğitimindeki erişilebilir bazı materyallere (Rabiner'ın orijinal HMM öğreticisi gibi) yönlendirebilir misiniz?
Jacob

4
@Jacob Viterbi eğitimi Segmental K-Means adıyla da geçiyor, Juang ve Rabiner'ın bu makalesine bakın .
alto

1
@Anoldmaninthesea. Dönemler arasındaki olasılıklara bakmak, yakınsamayı değerlendirmenin normal yoludur (her dönemde olasılık her zaman artmalı ve daha sonra yerel bir maksimuma ulaştığınızda durmalıdır). Yapabileceğiniz diğer bir şey, EM sırasında kullanılmayan verilerin olasılığını izleyerek erken durmadır.
alto

0

İleri-geri 'görünmez şeyleri' saymak istediğinizde kullanılır. Örneğin, denetimsiz veriler aracılığıyla bir modeli geliştirmek için EM kullanılırken. Bence Petrov'un makalesi bir örnek. Düşündüğüm teknikte, ilk olarak oldukça kaba ek açıklamalara sahip açıklamalı verileri olan bir modeli eğitiyorsunuz (örneğin, 'Fiil' etiketi). Daha sonra, bu durumun olasılık kütlesini keyfi olarak iki eşit olmayan miktarda bölünür ve iki eyalet arasındaki kütleyi yeniden dağıtarak olasılığı en üst düzeye çıkarmak için ileri geri koşarak yeniden eğitirsiniz.

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.