L'algorithme de Baum-Welch est un algorithme efficace et puissant. En quelques itérations, les différents paramètres du modèle markovien utilisé sont ajustés pour "coller" à l'observation désignée O. Or, l'algorithme de Baum-welch considère (en modifiant fortement les paramètres du modèle) que si nous avons observé une séquence bien précise, c'est que celle-ci avait une forte probabilité d'apparition (d'où la maximisation de la vraisemblance). La séquence observée est cependant dépendante du hasard et l'idée selon laquelle une seule séquence d'observation permet de caractériser un modèle de markov entier reste illusoire. Aussi, il est beaucoup plus intéressant de considérer un grand nombre de séquence d'observations, et d'adapter ainsi l'algorithme de Baum-Welch avec ses considérations :
![]() |
(2.20) |
![]() |
(2.21) | ||
![]() |
(2.22) |
Cette dernière méthode permet d'obtenir un meilleur modèle de Markov.
Il est aussi à noter que, lorsqu'un grand nombre d'itérations est sélectionné, une perte de définition de différentes valeurs apparaît. En effet, le calcul des
étant des produits de probabilités, les valeurs ainsi manipulées tendent vers 0 de manière exponitielle. La précision de la machine devient dès lors trop faible. Pour résoudre le problème et augmenter ainsi la précision des différentes composantes du modèle, une méthode à été inventée : le rescaling. Le principe du rescaling est le suivant : normaliser les coefficients des matrices
et
, afin de conserver une certaine précision. Une des manières les plus courantes réside dans la normalisation des
et
de façon à avoir la somme des éléments d'une ligne égale à 1.