In this style of model training, a set of training observations is used to estimate the parameters of a single HMM by iteratively computing Viterbi alignments. When used to initialise a new HMM, the Viterbi segmentation is replaced by a uniform segmentation (i.e. each training observation is divided into N equal segments) for the first iteration.
Apart from the first iteration on a new model, each training sequence is segmented using a state alignment procedure which results from maximising
for 1<i<N where
with initial conditions given by
for 1<j<N. In this and all subsequent cases, the output probability is as defined in equations 7.1 and 7.2 in section 7.1.
If represents the total number of transitions from state i to state j in performing the above maximisations, then the transition probabilities can be estimated from the relative frequencies
The sequence of states which maximises implies an alignment of training data observations with states. Within each state, a further alignment of observations to mixture components is made. The tool HINIT provides two mechanisms for this: for each state and each stream
The means and variances are then estimated via simple averages
Finally, the mixture weights are based on the number of observations allocated to each component