Content deleted Content added
m Task 18 (cosmetic): eval 2 templates: del empty params (2×); |
|||
(17 intermediate revisions by 13 users not shown) | |||
Line 1:
'''Iterative Viterbi
The scaled probability measure was first proposed by [[John S. Bridle]]. An early algorithm to solve this problem, [[sliding window]], was proposed by [[Jay G. Wilpon]] et al., 1989, with constant cost ''T'' = ''mn''<sup>2</sup>/2.▼
▲'''Iterative Viterbi Decoding''' is an [[algorithm]] that spots the subsequence S of an observation O={o<sub>1</sub>,...,o<sub>n</sub>} having the highest average probability (i.e., probability scaled by the length of S) of being generated by a given [[hidden Markov model]] M with m states. The algorithm uses a modified [[Viterbi algorithm]] as an internal step.
A faster algorithm
▲The scaled probability measure was first proposed by [[John S. Bridle]]. An early algorithm to solve this problem, [[sliding window]], was proposed by [[Jay G. Wilpon]] et al., 1989, with constant cost T=mn<sup>2</sup>/2.
▲A faster algorithm was developed by [[Marius C. Silaghi]] in 1998 (published 1999). It consists of an iteration of calls to the [[Viterbi algorithm]], reestimating a filler score until convergence.
== The algorithm ==
A basic (non-optimized) version,
<pre>
// and [[distance matrix]] d[1..n,1..m]
// remaining elements in matrices are solely for internal computations
(int, int, int) AverageSubmatchDistance(char
// score, subsequence start, subsequence end
declare int e, B, E
t'[0] := t'[m+1] := s'[0] := s'[n+1] := 'e'
e := random()
do
for i := 1 to n do d'[i,0] := d'[i,m+1] := e until (
return (e, B, E)
Line 40 ⟶ 30:
</pre>
The ViterbiDistance() procedure returns the tuple (''e'', ''B'', ''E''), i.e., the Viterbi score "''e''" for the
A modification that can be applied to CYK tables, proposed by Antoine Rozenknop, consists in subtracting ''e'' from all elements of the initial matrix ''d''.
== References ==▼
* Silaghi, M., "Spotting Subsequences matching a HMM using the Average Observation Probability Criteria with application to Keyword Spotting", AAAI, 2005.
* Rozenknop, Antoine, and Silaghi, Marius; "Algorithme de
==Further reading==
*{{cite conference |title=An Efficient Code Structure of Block Coded Modulations with Iterative Viterbi Decoding Algorithm |last1=Li |first1=Huan-Bang |last2=Kohno |first2=Ryuji |date=2006 |publisher=IEEE |___location=Valencia, Spain |conference=3rd International Symposium on Wireless Communication Systems |isbn=978-1-4244-0397-4 |doi=10.1109/ISWCS.2006.4362391}}
*{{cite journal|last1=Wang |first1=Qi |last2=Wei |first2=Lei |last3=Kennedy |first3=R.A. |title=Iterative Viterbi decoding, trellis shaping, and multilevel structure for high-rate parity-concatenated TCM |journal=IEEE Transactions on Communications |volume=50 |number=1 |date=January 2002 |pages=48–55 |issn=0090-6778 |doi=10.1109/26.975743 }}
▲== References ==
[[Category:Error detection and correction]]
[[Category:Markov models]]
▲* Rozenknop, Antoine, and Silaghi, Marius; "Algorithme de decodage de treillis selon le critere de cout moyen pour la reconnaissance de la parole", TALN 2001.
|