Viterbi algoritmus

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2017. április 23-án áttekintett verziótól ; az ellenőrzések 7 szerkesztést igényelnek .

A Viterbi algoritmus  az állapotok legmegfelelőbb listájának megtalálására szolgáló algoritmus (úgynevezett Viterbi-útvonal ), amely a Markov-láncok kontextusában megkapja a bekövetkezett események legvalószínűbb sorozatát.

Ez egy dinamikus programozási algoritmus . A Viterbi konvolúciós dekódoló algoritmusban használatos .

Az algoritmust Andrew Viterbi javasolta 1967-ben, mint egy hálózatokon zajos konvolúciós kód dekódolására szolgáló algoritmust . [1] Az algoritmust széles körben használták GSM és CDMA mobiltelefonok, betárcsázós modemek és 802.11 vezeték nélküli hálózatok konvolúciós kódjainak dekódolására . Széles körben használják a beszédfelismerésben , beszédszintézisben , a számítógépes nyelvészetben és a bioinformatikában is . Például a beszédfelismerésben a hangjelzést események sorozataként érzékelik, és egy szövegsor az akusztikus jel "rejtett jelentése". A Viterbi algoritmus megkeresi az adott jel legvalószínűbb szövegsorát.

Az algoritmus több feltételezést is megfogalmaz:

Algoritmus

Legyen egy rejtett Markov-modell (HMM) állapottérrel , ahol a lehetséges különböző hálózati állapotok száma. Ugyanakkor a hálózat által elfogadott állapotok láthatatlanok a megfigyelés számára. Jelölje a hálózat pillanatnyi állapotával . A hálózat kimenetén pillanatnyilag a megfigyelésre látható érték jelenik meg , ahol a kimeneten a lehetséges különböző megfigyelt értékek száma. Legyen a kezdeti valószínűsége annak, hogy a hálózat állapotba kerül , és legyen a hálózat állapotból állapotba való átmenetének valószínűsége .

Figyeljük meg a sorozatot a hálózat kimenetén . Ezután a következő rekurzív relációk segítségével meghatározható a megfigyelt sorozat hálózati állapotainak legvalószínűbb sorozata : [2]

Itt  az első megfigyelt értékeknek megfelelő állapotok legvalószínűbb sorozatának valószínűsége , amely állapotra végződik . A Viterbi útvonalat mutatók segítségével találhatjuk meg, hogy megjegyezzük, melyik állapot jelent meg a második egyenletben. Legyen  egy függvény, amely az if , vagy if kiszámításához használt értéket adja vissza . Akkor

Itt az arg max szabvány definícióját használjuk .
Ennek az algoritmusnak a bonyolultsága .

Lásd még

Jegyzetek

  1. 2005. április 29., G. David Forney Jr.: The Viterbi Algorithm: A Personal History . Letöltve: 2012. január 10. Az eredetiből archiválva : 2016. június 2..
  2. Xing E, 11. dia, URL: http://www.cs.cmu.edu/~epxing/Class/10708-07/schedule.html Archiválva : 2015. január 18. a Wayback Machine -nél