hidden Markov model
Főnév
hidden Markov model (tsz. hidden Markov models)
A Hidden Markov Model, röviden HMM, magyarul rejtett Markov-modell, egy valószínűségi modell, amely idősorokban vagy szekvenciákban zajló eseményeket ír le, ahol a rendszer belső állapotai nem közvetlenül megfigyelhetők (rejtettek), de ezek hatással vannak a megfigyelhető kimenetekre.
A HMM-et gyakran használják beszédfelismerés, gépi fordítás, biológiai szekvenciaelemzés, pénzügyi idősor-elemzés, vagy természetes nyelvfeldolgozás területein.
Motivációs példa: időjárás és megfigyelés
Képzeld el, hogy egy barátod egy másik városban él, és naponta leírja, eszik-e fagyit vagy sem. Te azt akarod kitalálni, hogy milyen idő volt aznap: napos, felhős vagy esős. Mivel csak a fagylaltfogyasztást figyeled meg, a valós állapot (időjárás) rejtve van, de következtetni lehet rá a megfigyelt adatok alapján. Ez a HMM alapelve.
A HMM alapfogalmai
- Rejtett állapotok (
S = {s₁, s₂, ..., sN})- A rendszer belső állapotai, amelyeket nem látunk közvetlenül.
- Példa: „Napos”, „Felhős”, „Esős”
- Megfigyelhető szimbólumok (
V = {v₁, v₂, ..., vM})- Azok az adatok, amelyeket ténylegesen megfigyelünk.
- Példa: „Fagyi evett” / „Nem evett fagyi”
- Átmeneti valószínűségek (
A = aᵢⱼ)- Az esélye annak, hogy az egyik állapotból a másikba lép a rendszer.
- Pl.
P(Felhős → Esős) = 0.3
- Megfigyelési valószínűségek (
B = bⱼ(k))- Milyen eséllyel figyelünk meg egy szimbólumot egy adott állapotban.
- Pl.
P(Fagyi evés | Napos) = 0.8
- Kezdő valószínűségek (
π = πᵢ)- Az esélye annak, hogy a rendszer az
i-edik állapotban kezd.
- Az esélye annak, hogy a rendszer az
Egy HMM tehát három fő paraméterből áll: λ = (A, B, π)
A HMM három fő problémája
- Értékelési probléma
- Mi az esélye annak, hogy egy adott megfigyeléssorozatot (pl. “fagyi, nem fagyi, fagyi”) a modell generálja?
- Megoldás: Forward algoritmus
- Dekódolási probléma
- Melyik rejtett állapotsorozat volt a legvalószínűbb egy megfigyeléssorozat esetén?
- Megoldás: Viterbi-algoritmus
- Tanulási probléma
- Hogyan becsüljük meg a HMM paramétereit (A, B, π) megfigyelések alapján?
- Megoldás: Baum–Welch-algoritmus (EM-algoritmus egyik formája)
Egyszerű példa
Állapotok:
- S₁ = Napos
- S₂ = Esős
Megfigyelések:
- V₁ = Fagyi evett
- V₂ = Nem evett
Átmeneti mátrix (A):
[0.7, 0.3] [0.4, 0.6]
Megfigyelési mátrix (B):
Napos: [0.8, 0.2] (Fagyi/Nem) Esős: [0.1, 0.9]
Kezdő valószínűség:
π = [0.6, 0.4] (Napos/Esős)
Használat Pythonban (hmmlearn csomag)
from hmmlearn import hmm
import numpy as np
# Megfigyelések: 0 = fagyi, 1 = nem fagyi
obs = np.array([[0], [1], [0]])
# Modell létrehozása
model = hmm.MultinomialHMM(n_components=2)
model.startprob_ = np.array([0.6, 0.4])
model.transmat_ = np.array([[0.7, 0.3], [0.4, 0.6]])
model.emissionprob_ = np.array([[0.8, 0.2], [0.1, 0.9]])
# Legvalószínűbb állapotsorozat (Viterbi)
logprob, seq = model.decode(obs, algorithm="viterbi")
print("Rejtett állapotok:", seq)
Alkalmazási területek
| Terület | Példa |
|---|---|
| Beszédfelismerés | Hang → fonémák / szavak |
| Biológia | DNS szekvenciák → gének lokalizálása |
| Pénzügy | Árak, trendek előrejelzése |
| Gépi fordítás | Szókapcsolatok, nyelvtani struktúrák modellezése |
| Szövegelemzés (NLP) | Szófaj meghatározása, entitásfelismerés, elemzés |
HMM vs Markov-lánc
| Tulajdonság | Markov-lánc | Rejtett Markov-modell (HMM) |
|---|---|---|
| Látható állapotok? | Igen | Nem (rejtett) |
| Kimenetek? | Nem feltétlenül | Megfigyelhető kimenetek vannak |
| Célja | Állapotok valószínűsége | Rejtett állapotok visszafejtése |
Előnyök és hátrányok
✔ Előnyök:
- Idősorok és szekvenciák természetes modellezése
- Matematikailag jól megalapozott
- Hatékony algoritmusok (pl. Viterbi, Baum–Welch)
✘ Hátrányok:
- Egyszerűsítő feltételezések (pl. elsőrendű Markov-feltételezés)
- Az állapotok számát nehéz meghatározni
- Paraméterhangolás számításigényes lehet
Összegzés
A Hidden Markov Model (HMM) egy hatékony, sokoldalú eszköz, amellyel rejtett állapotokkal rendelkező szekvenciális problémákat modellezhetünk. A modell mögött erős valószínűségi háttér áll, és rengeteg területen bizonyított: a beszédfelismeréstől a genetikai elemzésig. A kulcs az, hogy nem látjuk közvetlenül a rendszer belső állapotait, de a megfigyelt kimenetek alapján valószínűségi alapon visszakövetkeztethetünk rájuk.
- hidden Markov model - Szótár.net (en-hu)
- hidden Markov model - Sztaki (en-hu)
- hidden Markov model - Merriam–Webster
- hidden Markov model - Cambridge
- hidden Markov model - WordNet
- hidden Markov model - Яндекс (en-ru)
- hidden Markov model - Google (en-hu)
- hidden Markov model - Wikidata
- hidden Markov model - Wikipédia (angol)