Decoding Hidden Markov Models Faster than Viterbi via Online Matrix-Vector (max, +)-Multiplication
Abstract
In this paper, we present a novel algorithm for the maximum a posteriori decoding (MAPD) of time-homogeneous Hidden Markov Models (HMM), improving the worst-case running time of the classical Viterbi algorithm by a logarithmic factor. In our approach, we interpret the Viterbi algorithm as a repeated computation of matrix-vector (max, +)-multiplications. On time-homogeneous HMMs, this computation is online: a matrix, known in advance, has to be multiplied with several vectors revealed one at a time. Our main contribution is an algorithm solving this version of matrix-vector (max,+)-multiplication in subquadratic time, by performing a polynomial preprocessing of the matrix. Employing this fast multiplication algorithm, we solve the MAPD problem in O(mn2/log n) time for any time-homogeneous HMM of size n and observation sequence of length m, with an extra polynomial preprocessing cost negligible for m > n. To the best of our knowledge, this is the first algorithm for the MAPD problem requiring subquadratic time per observation, under the assumption — usually verified in practice — that the transition probability matrix does not change with time.
Cite
Text
Cairo et al. "Decoding Hidden Markov Models Faster than Viterbi via Online Matrix-Vector (max, +)-Multiplication." AAAI Conference on Artificial Intelligence, 2016. doi:10.1609/AAAI.V30I1.10263Markdown
[Cairo et al. "Decoding Hidden Markov Models Faster than Viterbi via Online Matrix-Vector (max, +)-Multiplication." AAAI Conference on Artificial Intelligence, 2016.](https://mlanthology.org/aaai/2016/cairo2016aaai-decoding/) doi:10.1609/AAAI.V30I1.10263BibTeX
@inproceedings{cairo2016aaai-decoding,
title = {{Decoding Hidden Markov Models Faster than Viterbi via Online Matrix-Vector (max, +)-Multiplication}},
author = {Cairo, Massimo and Farina, Gabriele and Rizzi, Romeo},
booktitle = {AAAI Conference on Artificial Intelligence},
year = {2016},
pages = {1484-1490},
doi = {10.1609/AAAI.V30I1.10263},
url = {https://mlanthology.org/aaai/2016/cairo2016aaai-decoding/}
}