Hidden Markov Model (Gizli Markov Modeli)

Gizli durum dizilerini olasılıksal olarak modelleyen ve bu durumların gözlemlenemeyen yapısını Viterbi ile çözen istatistiksel grafik modeli.

Hidden Markov Model (Gizli Markov Modeli — HMM), gözlemlenemeyen (gizli) durumlar arasındaki olasılıksal geçişleri ve bu durumların ürettiği gözlemleri modelleyen bir olasılıksal grafik modelidir. "Markov" özelliği, bir sonraki durumun yalnızca mevcut duruma bağlı olduğunu; geçmiş tüm durumlardan bağımsız olduğunu ifade eder. "Gizli" sözcüğü ise gerçek sistem durumlarının doğrudan gözlemlenemeyip yalnızca bu durumların ürettiği semboller ya da sinyaller aracılığıyla çıkarsanabileceğini belirtir. Matematiksel olarak HMM beş bileşenden oluşur: gizli durum kümesi S, gözlem sembol kümesi O, durum geçiş olasılıkları matrisi A (A[i][j] = i durumundan j durumuna geçiş olasılığı), yayılım (emission) olasılıkları matrisi B (B[j][k] = j durumundayken k sembolünü yayma olasılığı) ve başlangıç durum dağılımı π. HMM'e yönelik üç temel hesaplama problemi vardır. İlki değerlendirme (evaluation): verili gözlem dizisi için modelin bu diziyi üretme olasılığını hesaplamak; İleri Algoritma (Forward Algorithm) bu problemin verimli çözümüdür. İkincisi çözümleme (decoding): verili gözlem dizisine en olası gizli durum dizisini bulmak; Viterbi Algoritması dinamik programlama ile bu görevi O(N²T) süre karmaşıklığıyla çözer. Üçüncüsü öğrenme (learning): gözlem verilerinden A, B ve π parametrelerini tahmin etmek; Baum-Welch Algoritması, Beklenti-Maksimizasyon (EM) çerçevesinde bu görevi yerine getirir. Tarihsel olarak HMM, 1970'lerde otomatik konuşma tanıma (ASR) sistemlerinin temel taşı oldu: akustik model olarak her fonem bir HMM durumuna karşılık gelirken Viterbi algoritması en olası fonem dizisini çözümler. Ayrıca POS (part-of-speech) etiketleme, biyoinformatik (gen dizisi analizi), jest ve el yazısı tanıma ile finansal zaman serisi modellemesinde yaygın biçimde kullanılmıştır. Derin öğrenme çağında RNN ve Transformer mimarileri büyük ölçüde HMM'nin yerini almıştır; ancak HMM yorumlanabilirliği, gizli durum ayrımı ve küçük veri senaryolarındaki avantajlarını korumaktadır. Modern ASR sistemlerinde CTC-HMM hibrit mimarileri hâlâ üretimde kullanılmakta; kaldi ve ESPnet gibi araç setleri bu yaklaşımı desteklemektedir. Türkçe konuşma tanıma araştırmalarında HMM tabanlı akustik modeller akademik çalışmalarda referans noktası olma özelliğini sürdürmektedir.

Gizli Markov Modeli Nasıl Çalışır?

HMM, zamanla değişen bir sistemin iki katmanını birbirinden ayırır: gözlemlenemeyen gizli durum dizisi ve bu durumların ürettiği gözlem dizisi. Her adımda sistem bir gizli durumda bulunur; bu durum Markov özelliğiyle yalnızca bir önceki duruma bağlıdır. Sistem mevcut gizli durumundan bir gözlem sembolü 'yayar' (emit eder). Amaç, yalnızca gözlemleri görerek ardındaki gizli durum dizisini ve model parametrelerini (A, B, π) çıkarsamaktır. Örneğin konuşma tanımada ses sinyali (gözlem) fonem durumlarını (gizli) örter; HMM bu ses sinyalinden hangi fonemlerin sıralandığını Viterbi algoritmasıyla çözer. Doğal dil işlemede kelimeler (gözlem) sözcük türlerini — isim, fiil, sıfat — (gizli durum) gizler; HMM en olası POS dizisini çıkarır.

HMM'in Üç Temel Problemi

📊 Değerlendirme: İleri Algoritma

Verili gözlem dizisinin bu model tarafından üretilme olasılığını hesaplar. İleri Algoritma (Forward Algorithm), dinamik programlamayla tüm olası gizli yolları verimli biçimde toplar; kaba kuvvete göre üstel karmaşıklığı O(N²T)'ye indirir. Model karşılaştırma ve anomali tespitinde kullanılır.

🔍 Çözümleme: Viterbi Algoritması

Verili gözlem dizisine en olası gizli durum dizisini bulur. Dinamik programlamayla O(N²T) karmaşıklıkta çalışır. Konuşma tanımada fonem sıralaması, POS etiketlemede sözcük türü atama ve biyoinformatikte gen segmentasyonu için kritiktir.

🎓 Öğrenme: Baum-Welch (EM)

Etiketlenmemiş gözlem verilerinden model parametrelerini (A, B, π) öğrenir. Beklenti-Maksimizasyon (EM) çerçevesinde İleri-Geri Algoritması ile çalışır; yerel maksimuma yakınsadığında durur. Başlangıç parametreleri sonucu etkiler — rastgele yeniden başlatma önerilir.

Uygulama Alanları

Otomatik konuşma tanıma (ASR), HMM'nin tarihsel açıdan en kritik uygulama alanıdır: her fonem bir HMM durumuna karşılık gelir; akustik özellik vektörleri (MFCC) gözlem sembollerini oluşturur; Viterbi algoritması en olası fonem dizisini çıkarır. Bu yaklaşım 1970'lerden 2010'lara kadar ASR'nin baskın mimarisini oluşturdu. Doğal dil işlemede POS etiketleme (kelime → sözcük türü), adlandırılmış varlık tanıma (NER) ve morfolojik analiz HMM ile modellendi. Biyoinformatikte DNA dizisi segmentasyonu, gen bulma ve protein yapısı tahmini için profile HMM kullanılır. El yazısı tanıma, jest tanıma ve robotik durum tahmini de HMM'in klasik uygulama alanlarındandır. Finansal zaman serisi modellemesinde ekonomik rejimlerin (büyüme, resesyon) gizli durum olarak modellenmesi için bugün hâlâ kullanılmaktadır.

Derin Öğrenme Çağında HMM

RNN, LSTM ve ardından Transformer mimarileri NLP ve ASR görevlerinde büyük ölçüde HMM'in yerini almıştır. Bununla birlikte HMM'in üç kalıcı avantajı mevcuttur: (1) yorumlanabilirlik — her gizli durumun anlamlı bir fiziksel veya semantik karşılığı vardır; (2) küçük veri verimliliği — parametrik yapısı sayesinde sınırlı örneklemle öğrenebilir; (3) gerçek zaman kısıtları — Viterbi algoritması deterministik ve öngörülebilir hesaplama süresine sahiptir. Modern ASR'de CTC-HMM hibrit mimarileri, derin sinir ağlarının akustik model çıktısını HMM'in dil modeli bileşeniyle birleştirerek üretim sistemlerinde kullanılmaktadır. Kaldi ve ESPnet araç setleri bu hibrit yaklaşımı destekler. Türkiye'de akademik konuşma tanıma çalışmalarında HMM tabanlı akustik modeller hâlâ referans kıyası olarak yer almaktadır.

Sık Sorulan Sorular

  • check_circle HMM ile Markov zinciri arasındaki fark nedir?: Markov zincirinde sistem durumları doğrudan gözlemlenebilir; HMM'de ise durumlar gizlidir ve yalnızca dolaylı gözlemler aracılığıyla çıkarsanır. HMM, Markov zincirinin üzerine bir gözlem katmanı ekler. Markov zinciri 'ne var?' sorusuna cevap verirken HMM 'ne gözlemliyorum, arka planda ne oluyor?' sorusunu çözer.
  • check_circle Viterbi algoritması neden önemlidir?: Verili gözlem dizisine en olası gizli durum dizisini bulmak için olası tüm yolları kaba kuvvetle denemek O(Nᵀ) zaman alır — T gözlem sayısında pratik dışıdır. Viterbi dinamik programlamayla bunu O(N²T)'ye indirir. Konuşma tanıma, genetik dizi analizi ve kelime türü etiketlemede kritik performans kazanımı sunar.
  • check_circle HMM mi, RNN mi? Hangi durumlarda HMM tercih edilir?: Büyük etiketli veri mevcutsa ve doğruluk öncelikliyse RNN/Transformer üstündür. Veri kıtlığında, yorumlanabilirlik gerekliyse (tıbbi/hukuki karar sistemleri), gerçek zamanlı deterministik yanıt isteniyorsa veya gizli durumların anlamlı fiziksel karşılığı varsa HMM tercih edilmelidir. Hibrit CTC-HMM her iki yaklaşımı birleştirir.
  • check_circle Baum-Welch algoritması neden EM algoritmasıyla ilişkilidir?: Baum-Welch, Beklenti-Maksimizasyon (EM) algoritmasının HMM'e özgü uygulamasıdır. E-adımında İleri-Geri algoritmasıyla gizli durum olasılıkları hesaplanır (beklenti); M-adımında bu beklentiler kullanılarak model parametreleri (A, B, π) güncellenir (maksimizasyon). Bu döngü yakınsayana dek tekrarlanır.
  • check_circle Python'da HMM nasıl uygulanır?: hmmlearn kütüphanesi en yaygın seçenektir: GaussianHMM ve MultinomialHMM sınıfları scikit-learn arayüzüyle çalışır. pomegranate kütüphanesi GPU destekli ve daha esnek bir alternatif sunar. ASR için kaldi, ESPnet veya torchaudio üzerinden HMM-DNN hibrit modeller uygulanabilir.