Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Ultralytics Sözlüğüne dön

Hidden Markov Model (HMM)

Gizli Markov modeli (HMM), gürültülü gözlemlerden gizli durumlar dizisini çıkarır. Modelin parametreleri, Viterbi algoritması ve uygulamaları.

Gizli Markov modeli (HMM), sistemin doğrudan gözlemlenemeyen durumlar arasında geçiş yaptığı ve her gizli durumun gözlemlenebilir bir çıktı ürettiği bir dizinin olasılıksal modelidir. Ses kareleri veya DNA harfleri gibi gözlemlerden oluşan bir dizi verildiğinde HMM, örneğin sesin ardındaki sesbirimler veya harflerin ardındaki gen bölgeleri gibi, her gizli durum dizisinin olasılığını hesaplar. "Markov" adı temel varsayımını ifade eder: Bir sonraki durum yalnızca mevcut duruma bağlıdır. Leonard Baum ve çalışma arkadaşları teoriyi 1960'ların sonlarında geliştirdi; HMM'ler daha sonra onlarca yıl boyunca konuşma tanımaya güç verdi. Tamamen açık olasılıklardan oluşturulan HMM'ler, zaman serisi analizinde ve biyoinformatikte standart bir araç ve istatistiksel yapay zekânın klasik bir örneği olmayı sürdürüyor.

Bir HMM'nin Bileşenleri#

N gizli durumlu bir HMM, üç olasılık kümesiyle tanımlanır:

  • Başlangıç olasılıkları (π): Her gizli durumda başlama olasılığı.
  • Geçiş olasılıkları (A): Girdisi A[i, j] olan N × N boyutlu bir matris, tek adımda i durumundan j durumuna geçme olasılığını gösterir; bu yapı gizli durumları bir Markov zinciri hâline getirir.
  • Yayılım olasılıkları (B): Mevcut durum verildiğinde her gözlemin olasılığı. Ayrık gözlemler bir tablo kullanır; akustik özellikler gibi sürekli gözlemler ise Gauss karışımları gibi dağılımlardan yararlanır.

İki varsayım modeli yönetilebilir kılar: Her durum yalnızca önceki duruma, her gözlem de yalnızca mevcut duruma bağlıdır. Zamana yayıldığında model, her biri bir gözlem üreten bir gizli durumlar zinciridir:

Üç Klasik HMM Problemi#

Lawrence Rabiner'ın 1989 tarihli, yaygın biçimde atıf alan öğreticisi HMM kullanımını üç soru etrafında düzenledi. Her sorunun, tüm Nᵀ olası durum dizilerini değerlendirmek yerine, maliyeti T gözlem için N² × T oranında büyüyen bir dinamik programlama yanıtı vardır:

  • Değerlendirme: Belirli bir model altında bir gözlem dizisinin olasılığı nedir? İleri algoritma tüm gizli yolları toplar; böylece tanıyıcı bir ifadeyi en iyi açıklayan sözcük modelini seçer.
  • Kod çözme: Gözlemleri en iyi açıklayan gizli durum dizisi hangisidir? Andrew Viterbi'nin 1967'de evrişimli kodları çözmek için yayımladığı Viterbi algoritması, olasılığı en yüksek tek yolu bulur; ileri-geri algoritması ise her zaman adımında her durumun olasılığını verir.
  • Öğrenme: Bir dizi gözlem dizisine en iyi uyan parametreler hangileridir? Beklenti maksimizasyonunun bir uygulaması olan Baum-Welch algoritması, etiketlenmemiş dizilerden π, A ve B'yi kestirir. Durum dizileri etiketlendiğinde geçişleri ve yayılımları saymak yeterlidir.

Viterbi kod çözme işlemi NumPy ile birkaç satırda yapılabilir. Bu modelde kişinin yürüme veya koşma etkinliği gizlidir; bir izleyici her karede bir hız ölçümü bildirir ve etkinlikler bir kareden diğerine sürme eğilimindedir:

import numpy as np

states = ["walk", "run"]
start = np.array([0.8, 0.2])  # başlangıç durumu olasılıkları
trans = np.array([[0.9, 0.1], [0.1, 0.9]])  # etkinlikler kareler arasında sürme eğilimindedir
emit = np.array([[0.7, 0.25, 0.05], [0.1, 0.3, 0.6]])  # Yavaş, orta, hızlı için P(hız | durum)
obs = [0, 0, 2, 0, 0, 1, 2, 2, 1, 2]  # kare başına hız ölçümleri

# Viterbi: her duruma ulaşmanın en iyi log olasılığı ve geriye dönük işaretçiler
logp = np.log(start) + np.log(emit[:, obs[0]])
back = []
for o in obs[1:]:
    scores = logp[:, None] + np.log(trans)  # satırlar: önceki durum, sütunlar: sonraki durum
    back.append(scores.argmax(axis=0))
    logp = scores.max(axis=0) + np.log(emit[:, o])

# En olası durum dizisini, en iyi son durumdan geriye doğru izleyin
path = [int(logp.argmax())]
for pointers in reversed(back):
    path.insert(0, int(pointers[path[0]]))
print("Speeds: ", " ".join(["slow", "medium", "fast"][o] for o in obs))
print("Decoded:", " ".join(states[s] for s in path))

Kod, walk walk walk walk walk run run run run run sonucunu çözümler. Kare 3'teki hızlı ölçüm "yürü" olarak kalır; çünkü koşuya geçip geri dönmek olasılığı düşük iki geçiş gerektirir. Kare 6 ve 9'daki orta hız ölçümleri ise çevrelerindeki hızlı kareler nedeniyle "koş" olur. Geçişleri göz ardı eden kare başına bir sınıflandırıcı, 3. kareyi koşu olarak etiketlerdi.

  • Kalman filtresi: Doğrusal dinamiklere ve Gauss gürültüsüne sahip sürekli durumlar için aynı tahmin ve güncelleme özyinelemesini uygular. HMM'nin ileri algoritması, ayrık durumlar için bunun karşılığıdır.
  • Bayes ağları: HMM, her zaman adımında bir gizli ve bir gözlemlenen değişkene sahip en basit dinamik Bayes ağıdır.
  • Markov karar süreci (MDP): Gözlemlenen durumlara sahip bir Markov zincirine eylemler ve ödüller ekler; pekiştirmeli öğrenmenin temelini oluşturur.
  • Yinelemeli sinir ağları ve transformer'lar: Büyük veri kümelerinden uzun menzilli, doğrusal olmayan bağımlılıkları öğrenir ve çoğu konuşma ve dil görevinde HMM'lerin yerini almıştır. HMM'ler çok daha az veri gerektirir ve olasılıklarının her biri doğrudan incelenebilir.
  • Durum uzayı modelleri (SSM'ler): Mamba gibi derin öğrenme katmanları, kontrol teorisindeki durum uzayı fikrini paylaşır ve sürekli gizli bir vektörü öğrenilmiş, deterministik dinamiklerle günceller.

Gerçek Dünya Uygulamaları#

  • Konuşma tanıma: 1980'lerden 2010'ların başlarına kadar çoğu tanıyıcı, her sesbirimi Gauss karışımı yayılımlara sahip küçük bir HMM ile modelledi. Hibrit sistemlerde yayılım modeli daha sonra derin sinir ağlarına geçti; uçtan uca modeller ise sonunda HMM'yi tamamen devre dışı bıraktı.
  • Biyoinformatik: Profil HMM'leri, birbiriyle ilişkili protein veya DNA dizisi ailelerini tanımlar. HMMER, uzak akrabaları bulmak için dizi veritabanlarını tararken bu modellerden yararlanır ve Pfam protein ailesi veritabanının temelini oluşturur; gen bulucular da genomun bölümlerini HMM'lerle kodlayan veya kodlamayan olarak etiketler.
  • Sözcük türü etiketleme: İlk dönem istatistiksel doğal dil işleme sistemleri, etiket dizilerinde Viterbi kod çözme kullanarak sözcükleri isim, fiil ve diğer sözcük türleri olarak etiketlerdi.
  • Etkinlik tanıma: Vücut pozu dizileri veya giyilebilir sensör ölçümleri, ayakta durma, yürüme ya da düşme gibi etkinliklere çözümlenir. Ultralytics'in antrenman takibi çözümü bu türden iki durumlu bir diziyi izler: YOLO26 poz tahmini anahtar noktalarındaki (varsayılan olarak dirsek) eklem açısını kullanarak her kişiyi "yukarı" veya "aşağı" diye etiketler, 145°'nin üzerinde ve 90°'nin altında geçiş yapar ve yukarıdan aşağıya her değişimde bir tekrarı sayar.

Çözümleri keşfet

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla