An implementation of the first-order Hidden Markov Model (HMM).
import random
import math
import numpy as np
Utility functions for I/O and common operations.
def pretty_print_matrix(A, round_to):
for row in A:
row_rounded = [round(el, round_to) for el in row]
print(' '.join(map(str, row_rounded)))
def line_to_matrix(line):
""" Convert a matrix in string format (one line) to a nested list.
Parameters
----------
line : str
A list in string denoting a matrix, where the first element is the number of rows,
the second element is the number of columns, and the rest of the elements are the
matrix entries in row-first order.
Returns
-------
matrix : list
A nested list (2D) of floats, i.e.: matrix.
"""
# Initalize list.
matrix = []
# Get number of rows and columns.
n_rows, n_cols = int(line[0]), int(line[1])
# Convert the row-first matrix entries into a 1D list and explicitly cast
# entries into float.
line = list(map(float, line[2:]))
# Convert the row-first 1D list into a nested (2D) list.
for n_row in range(n_rows):
current_row = line[n_row*n_cols:(n_row+1)*n_cols]
matrix.append(current_row)
return matrix
def line_to_emission_sequence(line):
""" Convert an emission sequence in string format (one line) to a list.
Parameters
----------
line : str
A list in string denoting an emission sequence, where the first element is the number of
emissions.
Returns
-------
emission_sequence : list
A list (1D) of ints, i.e.: matrix.
"""
# The first element is the number of emissions. Get the emissions and explicitly
# cast them into int.
emission_sequence = list(map(int, line[1:]))
return emission_sequence
def read_input_HMM1(lines, read_A, read_B, read_pi, read_emission_sequence):
""" Read pi, A, and B that define a HMM.
Parameters
----------
lines : list
A list of strings where each strrring is a matrix, where the first element is the number of rows,
the second element is the number of columns, and the rest of the elements are the
matrix entries in row-first order.
read_A : bool
True if A is read.
read_B : bool
True if B is read.
read_pi : bool
True if pi is read.
read_emission_sequence : bool
True if emission sequence is read.
Returns
-------
A : list
A nested list (2D), i.e.: matrix.
B : list
A nested list (2D), i.e.: matrix.
pi : list
A list (1D), i.e.: matrix.
"""
# Initalize A, B, and pi to None in order to check if they were successfully read before return.
A = None
B = None
pi = None
emissions_sequence = None
# Iterate over the lines, and read and convert them into A, B, and pi.
for idx, line in enumerate(lines):
# First line is A.
if idx == 0 and read_A:
A = line_to_matrix(line=line)
# Second line is B.
elif idx == 1 and read_B:
B = line_to_matrix(line=line)
# Third line is pi.
elif idx == 2 and read_pi:
pi = flatten_mat(line_to_matrix(line=line))
# Fourth line is emission sequence.
elif idx == 3 and read_emission_sequence:
emissions_sequence = line_to_emission_sequence(line=line)
# If more lines than 4, raise Exception.
elif 3 < idx:
raise Exception
else:
pass
# Assert that A, B, pi are all read.
assert A is not None and B is not None and pi is not None or emissions_sequence is not None
return A, B, pi, emissions_sequence
def matrix_to_line(A):
n_rows_str = str(int(len(A)))
n_cols_str = str(int(len(A[0])))
A_flat = [str(round(el, 8)) for row in A for el in row]
return n_rows_str + ' ' + n_cols_str + ' ' + ' '.join(A_flat) + "\n"
def probability_to_line(p):
return round(p, 20)
def state_sequence_to_line(state_sequence):
return ' '.join(list(map(str, state_sequence)))
def el_wise_prod(a,b):
assert len(a) == len(b), "El wise prod dim. issue"
return [[a_el*b_el for a_el, b_el in zip(a, b)]]
def el_wise_mat(A,B):
return [flatten_mat(el_wise_prod(a,b)) for a,b in zip(A,B)]
def dot_prod(a, b):
assert len(a) == len(b), "Dot prod dim. issue"
return sum([a_el*b_el for a_el, b_el in zip(a, b)])
def mat_transpose(A):
return [list(row) for row in list(zip(*A))]
def mat_mul(A, B):
A_col = len(A[0])
B_col = len(B[0])
A_row = len(A)
B_row = len(B)
assert A_col == B_row, "Matrix dimensions problem"
return [[dot_prod(a_row, b_col) for b_col in mat_transpose(B)] for a_row in A]
def flatten_mat(A):
return [el for row in A for el in row]
def read_in_file(filename):
""" Read in file and process its content to intreact with programatically.
Parameters
----------
filename : str
The file name of the in file.
Returns
-------
lines : list
A nested list (2D) in which each sub-list containt a matrix.
1st is no. of rows, 2nd is no. columns. The entries are in row-first order.
"""
# Try to open in file, if any issue, raise Exception.
try:
lines_txt = open(filename).readlines()
except:
raise Exception(f'{filename} is not found, or there is a problem with it.')
# Split the lines into lists on spaces, and explicitly cast entries into float.
# lines is a list of list where each sub-list includes a matrix in a string format.
lines = [list(map(float, str.strip(line_txt).split(" "))) for line_txt in lines_txt]
return lines
class HMM():
""" A class to abstractly define a (first-order) Hidden Markov Model (HMM).
Parameters
----------
filename : str
The file name of the in file.
Returns
-------
lines : list
A nested list (2D) in which each sub-list containt a matrix.
1st is no. of rows, 2nd is no. columns. The entries are in row-first order.
"""
def __init__(self, pi, A, B):
""" Initalize HMM with pi, A, and B.
Parameters
----------
pi : list
List (1D) of initial hidden state probability distribution.
A : list
Nested list (2D) of state transition probabilities. The jth entry in the
ith row shows the probability of moving from the ith state to the jth state.
Shape is number of hidden states times the number of hidden states.
B : list
Nested list (2D) of emission probabilities. The jth entry in the
ith row shows the probability of observing the jth obsevable while in hidden state i.
Shape is number of hidden states times the number of observables.
"""
# Assert that the number of rows is the same in A and B.
assert len(A) == len(B), "[ERROR] HMM initialization issue"
# Assign some useful stuff.
# The number of hidden states.
self.n_hidden_states = len(A)
# The identifiers (starts at 0) of the hidden states.
self.hidden_states = [i for i in range(self.n_hidden_states)]
# The number of observables/emissions.
self.n_emissions = len(B[0])
# The identifiers (starts at 0) of the observables/emissions.
self.emissions = [i for i in range(self.n_emissions)]
# pi, A, and B as object attributes.
self.pi = pi
self.A = A
self.B = B
@classmethod
def from_known_model(cls, pi, A, B):
""" Initalize HMM with known pi, A, and B, i.e.: defined model.
Parameters
----------
pi : list
List (1D) of initial hidden state probability distribution.
A : list
Nested list (2D) of state transition probabilities. The jth entry in the
ith row shows the probability of moving from the ith state to the jth state.
Shape is number of hidden states times the number of hidden states.
B : list
Nested list (2D) of emission probabilities. The jth entry in the
ith row shows the probability of observing the jth obsevable while in hidden state i.
Shape is number of hidden states times the number of observables.
Returns
-------
cls : class
The HMM class initialized with pi, A, and B.
"""
return cls(pi, A, B)
@classmethod
def from_unknown_model(cls, N, M, init_uniform):
""" Initalize HMM with unknown pi, A, and B, i.e.: undefined model with initialized parameters.
Used as the initialization of the Baum-Welch algorithm for learning HMM parameters given a
sequence of states.
Parameters
----------
N : int
The number of hidden states.
M : int
The number of observables.
init_uniform : bool
Boolean whether to initialize HMM with uniformly distributed pi, A, and B. Bad idea...
Returns
-------
cls : class
The HMM class initialized with pi, A, and B.
"""
# Threshold for checking if initial parameter matrices are row-stochastic.
threshold = 10e-3
# Range for sampling random numbers.
range_random = range(950,1051)
# Ininitalize pi, A, and B with either unfiformly or randomly distributed parameters.
# Maybe Gaussian rather than random???
if init_uniform:
A_unnorm = [[1 for i in range(N)] for j in range(N)]
B_unnorm = [[1 for i in range(M)] for j in range(N)]
pi_unnorm = [1 for i in range(N)]
else:
A_unnorm = [random.sample(range_random, N) for i in range(N)]
B_unnorm = [random.sample(range_random, M) for i in range(N)]
pi_unnorm = random.sample(range_random, N)
# Normalize rows in matrices for them to be row-stochastic (definition of HMM).
A = [[i/sum(row) for i in row] for row in A_unnorm]
B = [[i/sum(row) for i in row] for row in B_unnorm]
pi = [i/sum(pi_unnorm) for i in pi_unnorm]
# Assert dimensions of pi, A, and B, and if they are row-stochastic.
assert len(A) == N and len(A[0]) == N and all([1.0 - sum(row) < threshold for row in A]), "Issues with init A"
assert len(B) == N and len(B[0]) == M and all([1.0 - sum(row) < threshold for row in B]), "Issues with init B"
assert len(pi) == N and 1.0 - sum(pi) < threshold, "Issues with init pi"
return cls(pi, A, B)
@classmethod
def from_unknown_model_gauss(cls, N, M, init_uniform):
""" Initalize HMM with unknown pi, A, and B, i.e.: undefined model with initialized parameters.
Used as the initialization of the Baum-Welch algorithm for learning HMM parameters given a
sequence of states.
Parameters
----------
N : int
The number of hidden states.
M : int
The number of observables.
init_uniform : bool
Boolean whether to initialize HMM with uniformly distributed pi, A, and B. Bad idea...
Returns
-------
cls : class
The HMM class initialized with pi, A, and B.
"""
# Threshold for checking if initial parameter matrices are row-stochastic.
threshold = 10e-3
A_unnorm = np.random.uniform(100, 101, (N,N)) + np.random.normal(0,0.5,(N,N))
A = [[i/sum(row) for i in row] for row in list(A_unnorm)]
B_unnorm = np.random.uniform(100, 101, (N,M)) + np.random.normal(0,0.5,(N,M))
B = [[i/sum(row) for i in row] for row in list(B_unnorm)]
pi_unnorm = list(np.random.uniform(100, 101, N) + np.random.normal(0,0.5,N))
pi = [i/sum(pi_unnorm) for i in list(pi_unnorm)]
# Assert dimensions of pi, A, and B, and if they are row-stochastic.
assert len(A) == N and len(A[0]) == N and all([1.0 - sum(row) < threshold for row in A]), "Issues with init A"
assert len(B) == N and len(B[0]) == M and all([1.0 - sum(row) < threshold for row in B]), "Issues with init B"
assert len(pi) == N and 1.0 - sum(pi) < threshold, "Issues with init pi"
return cls(pi, A, B)
@classmethod
def from_unknown_model_given_init(cls, pi_init, A_init, B_init):
""" Initalize HMM with given initalization parameters pi_init, A_init, and B_init.
Parameters
----------
pi_init : list
List (1D) of initial hidden state probability distribution.
A_init : list
Nested list (2D) of state transition probabilities. The jth entry in the
ith row shows the probability of moving from the ith state to the jth state.
Shape is number of hidden states times the number of hidden states.
B_init : list
Nested list (2D) of emission probabilities. The jth entry in the
ith row shows the probability of observing the jth obsevable while in hidden state i.
Shape is number of hidden states times the number of observables.
Returns
-------
cls : class
The HMM class initialized with pi_init, A_init, and B_init.
"""
return cls(pi_init, A_init, B_init)
def next_state_distribution(self, state_distribution, A):
""" Compute hidden state distribution at next time step.
Parameters
----------
state_distribution : list
List (1D) of initial hidden state probability distribution.
A : list
Nested list (2D) of state transition probabilities. The jth entry in the
ith row shows the probability of moving from the ith state to the jth state.
Shape is number of hidden states times the number of hidden states.
Returns
-------
list
The probability distribution of the next hidden states.
"""
return flatten_mat(mat_mul(A=[state_distribution], B=A))
def next_emission_distribution(self, state_distribution, B):
""" Compute the probability distribution of emissions at current timecstep.
Parameters
----------
state_distribution : list
List (1D) of initial hidden state probability distribution.
B : list
Nested list (2D) of emission probabilities. The jth entry in the
ith row shows the probability of observing the jth obsevable while in hidden state i.
Shape is number of hidden states times the number of observables.
Returns
-------
list
The probability distribution of the emissions states.
"""
return flatten_mat(mat_mul(A=[state_distribution], B=B))
def alpha_pass(self, emission_sequence, scale=True):
""" Alpha-pass or forward algorithm of HMM. For each time step t, find the probabilities
that the Markov process is in state i given the emission sequence from the initial to the tth
timestep.
Parameters
----------
emission_sequence : list
List of ints where each entry is the id of the observable/emission at time step t.
scale : bool
Boolean whether to scale the probabilities during alpha pass. Each time step has their own
scaler. Useful in the case of long emission sequences when it is important to preserve
numerical stability due to machine precision. Should be set to true always.
Returns
-------
scalers : list
List (1D) of floats where each entry is the scaler of the probbailities in the alpha pass
at time step t. Each time step has their own scaler.
Useful in the case of long emission sequences when it is important to preserve avoid
underflow due to machine precision (products of small probabilities).
alpha_store : list
Nested list (2D) where each sub-list (iterate on t) includes the probabilities (iterate on i)
of the Markov process being in state i given the emission sequence upto time step t.
"""
# Initialize the alpha pass.
# Get the first emission.
e_init = emission_sequence[0]
# Get the column from B that corresponds to the first emission.
b_col_init = [row[e_init] for row in self.B]
# Initialize the scaler for the first time step.
c0 = 0
# Initialize the scaler list.
scalers = []
# Initialize the first alpha list.
alpha_init = [None for i in range(self.n_hidden_states)]
# For cleaner code, retrieve pi.
pi = self.pi
# Compute the first alpha list (at the first time step) and its sclaler.
for i in range(self.n_hidden_states):
alpha_init[i] = pi[i]*b_col_init[i]
c0 = c0 + alpha_init[i]
# Invert scaler to be within (0, 1].
c0 = 1/c0
# Append the first scaler to the scaler list.
scalers.append(c0)
if scale:
# Scale each probability in the first alpha list.
for i in range(self.n_hidden_states):
alpha_init[i] = c0*alpha_init[i]
# Initialize a list to store all of the alpha lists.
alpha_store = []
# Append the first alpha list to the alphas list.
alpha_store.append(alpha_init)
# Initialize the general alpha list at time step t.
alpha_t = [0 for i in range(self.n_hidden_states)]
# Initilaize the general alpha list at time step t minus 1 with the first
# alpha list.
alpha_t_min_1 = alpha_init.copy()
# Compute the alpha lists from the 2nd time step (i.e.: t=1 for zero indexed t).
for t in range(1, len(emission_sequence)):
# Reinitialize the alpha list at time step t.
alpha_t = [None for i in range(self.n_hidden_states)]
# Get the emission at time step t.
e = emission_sequence[t]
# Get the column from B that corresponds to tth emission.
b_col = [row[e] for row in self.B]
# Initialize the scaler for the tth time step.
ct = 0
# Compute the tht alpha list (at the tth time step) and its sclaler.
for i in range(self.n_hidden_states):
alpha_t[i] = 0
for j in range(self.n_hidden_states):
alpha_t[i] = alpha_t[i] + alpha_t_min_1[j] * self.A[j][i]
alpha_t[i] = alpha_t[i] * b_col[i]
ct = ct + alpha_t[i]
# Scale each probability in the tth alpha list.
ct = 1 / ct
scalers.append(ct)
if scale:
for i in range(self.n_hidden_states):
alpha_t[i] = ct * alpha_t[i]
# Copy the th alpha list to the t minus 1 th alpha list.
alpha_t_min_1 = alpha_t.copy()
# Append the tth alpha list to the alphas.
alpha_store.append(alpha_t)
return scalers, alpha_store
def beta_pass(self, scalers, emission_sequence, scale=True):
""" Beta-pass or backward algorithm of HMM. For each time step t, find the probabilities
that the Markov process is in state i given the emission sequence from the last emission at
time step T down to the tth timestep.
Parameters
----------
scalers : list
List of floats where each entry is the scaler (derived during the alpha-pass) of the
tth time step.
emission_sequence : list
List of ints where each entry is the id of the observable/emission at time step t.
scale : bool
Boolean whether to scale the probabilities during alpha pass. Each time step has their own
scaler. Useful in the case of long emission sequences when it is important to preserve
numerical stability due to machine precision. Should be set to true always.
Returns
-------
list
Nested list (2D) where each sub-list (iterate on t) includes the probabilities (iterate on i)
of the Markov process being in state i given the emission sequence from the last
time step T down to time step t.
It is the reversed list of the beta lists derived during the beta pass (iterating from
time step T to t).
"""
# Assert the scalers and the emission sequence have the same length.
assert len(scalers) == len(emission_sequence), "Scalers and emission sequence are diff. length"
if scale:
# Initialize the beta list for the last Tth time step.
# If scale beta pass, do the initialization with scaling.
beta_init = [scalers[-1] for i in range(self.n_hidden_states)]
else:
beta_init = [1 for i in range(self.n_hidden_states)]
# Initialize the general tth beta list (on time step t).
beta_t = [None for i in range(self.n_hidden_states)]
# Initialize the general t plus 1 th beta list (on time step t+1).
beta_t_plus_1 = beta_init.copy()
# Initialize the list of beta lists.
beta_store = []
# Append the initialized, last beta list to the betas.
beta_store.append(beta_init)
# Iterate over the time steps from last (T) down to the first one.
for t in range(len(emission_sequence)- 2, -1, -1):
# Reinitialize the beta list at time step t.
beta_t = [None for i in range(self.n_hidden_states)]
# Compute the beta list at time step t and its scaler.
for i in range(self.n_hidden_states):
beta_t[i] = 0
for j in range(self.n_hidden_states):
b_col = [row[emission_sequence[t+1]] for row in self.B]
beta_t[i] = beta_t[i] + self.A[i][j]*b_col[j]*beta_t_plus_1[j]
if scale:
# Scale the prbbaility of the ith hidden state in the tth beta pass.
beta_t[i] = scalers[t] * beta_t[i]
# Copy the tth beta list to the t plus 1 th beta list.
beta_t_plus_1 = beta_t.copy()
# Append the th beta list to the betas.
beta_store.append(beta_t)
return list(reversed(beta_store))
def probability_of_emission_sequence(self, emission_sequence):
""" Computes the probability that a full emission sequence occurs given the HMM parameters.
Parameters
----------
emission_sequence : list
List of ints where each entry is the id of the observable/emission at time step t.
Returns
-------
float
The probability of the emission sequence.
"""
# Alpha-pass, but DO NOT SCALE as the scaled version is not the real probability.
scalers, alpha_store = self.alpha_pass(emission_sequence=emission_sequence, scale=False)
# The sum over N of the probabilities of being in state i at time step T
# is the probability of observing the emission sequence.
return sum(alpha_store[-1])
def delta_step(self, delta_in, emission):
# Get the column in B that corresponds to the current emission.
b_col = [[row[emission] for row in self.B]]
# Intermediate computational result (shape is NxN).
intermediate = mat_mul(mat_transpose(b_col), delta_in)
# Get the delta nedted list (shape is NxN).
delta_mat = el_wise_mat(intermediate, mat_transpose(A))
# Get the maximum probability in the delta list.
max_prob = [[max(row) for row in delta_mat]]
argmax_state = [[row.index(max(row)) if 0 < max(row) else None for row in delta_mat]]
print(max_prob)
print(argmax_state)
return (max_prob, argmax_state)
def estimate_sequence_of_states_based_on_emission_sequence(self, emission_sequence):
# Init
e_init = emission_sequence[0]
b_col = [row[e_init] for row in self.B]
delta_0 = el_wise_prod(self.pi, b_col)
delta_current = delta_0.copy()
delta_current_register = []
delta_states_register = []
for step, e in zip(range(1,len(emission_sequence),1), emission_sequence[1:]):
delta_info = self.delta_step(delta_in=delta_current, emission=e)
delta_current = delta_info[0]
delta_states = delta_info[1]
delta_current_register.append(flatten_mat(delta_current))
delta_states_register.append(flatten_mat(delta_states))
estimated_state_sequence_reversed = []
delta_current_register_reversed = list(reversed(delta_current_register))
delta_states_register_reversed = list(reversed(delta_states_register))
last_deltas = delta_current_register_reversed[0]
last_max_p = max(last_deltas)
last_state_idx = last_deltas.index(last_max_p)
last_state = self.hidden_states[last_state_idx]
estimated_state_sequence_reversed.append(last_state)
state_idx = last_state_idx
state = last_state
for states in delta_states_register_reversed:
state = states[state_idx]
state_idx = self.hidden_states.index(state)
estimated_state_sequence_reversed.append(state)
return list(reversed(estimated_state_sequence_reversed))
def compute_gammas(self, alpha_store, beta_store, emission_sequence):
""" The Expectation part of the Baum-Welch algorithm.
Given the current HMM parameter estimation, the gamma matrix (shape is TxN)
gives the probability at time step t (in T rows) of being in state i
(in N columns) given the emission sequence.
The di-gamma tensor (shape is TxNxN) gives the probability at time step t (in T rows)
of being in state i (in N rows) and at time step t+1 being in state j (in N columns).
The gamma and the di-gamma tensors provide an expectation for computing the updated
HMM parameters.
Parameters
----------
alpha_store : list
List of lists (2D, shape is TxN) where each sub-list is the alpha list at time step t.
beta_store : list
List of lists (2D, shape is TxN) where each sub-list is the beta list at time step t.
emission_sequence : list
List of ints where each entry is the id of the observable/emission at time step t.
Returns
-------
di_gamma : list
Nested list (3D, shape is TxNxN) where each sub-list is a nested list (2D) of the expected
transition matrix.
It is the reversed list of the beta lists derived during the beta pass (iterating from
time step T to t).
gamma: list
Nested list (2D, shape is TxN) where each sub-list is the list of probbailities of
being in state i (in N) given the full emission sequence.
"""
# Assert that there are as many alpha lists and beta lists.
assert len(alpha_store) == len(beta_store)
# Initialize the di-gamma tensor (3D, shape is TxNxN).
di_gamma = \
[[[None for j in range(self.n_hidden_states)] for i in range(self.n_hidden_states)]
for t in range(len(emission_sequence))]
# Initalize gamma matrix / nested list (2D, shape is TxN).
gamma = [[None for i in range(self.n_hidden_states)] for t in range(len(emission_sequence))]
# Iterate over each emission.
for t in range(len(emission_sequence) - 1):
# Iterate over each hidden state.
for i in range(self.n_hidden_states):
# Initalize current gamma value.
gamma[t][i] = 0
# Select the column from B that corresponds to the current emission.
b_col = [row[emission_sequence[t+1]] for row in self.B]
# Iterate over the hidden states.
for j in range(self.n_hidden_states):
# Compute the current di-gamma and gamma value.
di_gamma[t][i][j] = alpha_store[t][i] * self.A[i][j] * b_col[j] * beta_store[t+1][j]
gamma[t][i] = gamma[t][i] + di_gamma[t][i][j]
# Iterate over the hidden states.
for i in range(self.n_hidden_states):
gamma[len(emission_sequence) - 1][i] = alpha_store[len(emission_sequence) - 1][i]
# Assert dimensions (although since I initalized them, it doesn't make much sense, anyway...)
assert len(di_gamma) == len(emission_sequence) and len(di_gamma[0]) == self.n_hidden_states and \
len(di_gamma[0][0]) == self.n_hidden_states
assert len(gamma) == len(emission_sequence) and len(di_gamma[0]) == self.n_hidden_states
return di_gamma, gamma
def reestimate_pi_A_B(self, emission_sequence, scalers, alpha_store, beta_store, di_gamma, gamma):
""" Reestimate the HMM parameters in the context of the Baum-Welch algorithm.
The Baum-Welch algorithm is an Expectation-Maximization (EM) algorithm (vulnerable
to local minima).
The Expectation part is computing the di-gamma and the gamma tensors.
The Maximzation part is estimating the new HMM parameters (pi, A, and B) from these
tensors.
Parameters
----------
emission_sequence : list
List of ints where each entry is the id of the observable/emission at time step t.
scalers : list
List of floats where each entry is the scaler (derived during the alpha-pass) of the
tth time step.
alpha_store : list
List of lists (2D, shape is TxN) where each sub-list is the alpha list at time step t.
beta_store : list
List of lists (2D, shape is TxN) where each sub-list is the beta list at time step t.
di_gamma : list
Nested list (3D, shape is TxNxN) where each sub-list is a nested list (2D) of the expected
transition matrix.
It is the reversed list of the beta lists derived during the beta pass (iterating from
time step T to t).
gamma: list
Nested list (2D, shape is TxN) where each sub-list is the list of probbailities of
being in state i (in N) given the full emission sequence.
Returns
-------
pi_new : list
List (1D) of initial new hidden state probability distribution.
A_new : list
Nested list (2D) of new state transition probabilities. The jth entry in the
ith row shows the probability of moving from the ith state to the jth state.
Shape is number of hidden states times the number of hidden states.
B_new : list
Nested list (2D) of new emission probabilities. The jth entry in the
ith row shows the probability of observing the jth obsevable while in hidden state i.
Shape is number of hidden states times the number of observables.
"""
# Initalize the new HMM parameters.
pi_new = [None for i in range(self.n_hidden_states)]
A_new = [[None for j in range(self.n_hidden_states)] for i in range(self.n_hidden_states)]
B_new = [[None for j in range(self.n_emissions)] for i in range(self.n_hidden_states)]
# Reestimate pi.
for i in range(self.n_hidden_states):
pi_new[i] = gamma[0][i]
# Reestimate A.
for i in range(self.n_hidden_states):
denom = 0
for t in range(len(emission_sequence) - 1):
denom = denom + gamma[t][i]
for j in range(self.n_hidden_states):
numer = 0
for t in range(len(emission_sequence) - 1):
numer = numer + di_gamma[t][i][j]
A_new[i][j] = numer / (denom + 10e-5)
# Reestimate B.
for i in range(self.n_hidden_states):
denom = 0
for t in range(len(emission_sequence)):
denom = denom + gamma[t][i]
for j in range(self.n_emissions):
numer = 0
for t in range(len(emission_sequence)):
if emission_sequence[t] == j:
numer = numer + gamma[t][i]
B_new[i][j] = numer / (denom + 10e-5)
return pi_new, A_new, B_new
def compute_log_prob(self, emission_sequence, scalers):
""" Compute log-probability (i.e.: log of P(O|lambda)) of the cost
function of Expectation-Maximization (EM) in the Baum-Welch algorithm.
The log-prob / log(P(O|lambda)) is used to avoid underflow and
to account for alpha list and beta list scaling.
Parameters
----------
emission_sequence : list
List of ints where each entry is the id of the observable/emission at time step t.
scalers : list
List of floats where each entry is the scaler (derived during the alpha-pass) of the
tth time step.
Returns
-------
log_prob : float
The log-probability of the EM in the Baum-Welch algorithm.
"""
# Initialize the log-probability.
log_prob = 0
# Compute the log-probability.
for t in range(len(emission_sequence)):
log_prob = log_prob + math.log10(scalers[t])
# Expectation-Maximization (EM), so invert log prob.
log_prob = -log_prob
return log_prob
def baum_welch(self, emission_sequence, max_iters):
""" The Baum-Welch algorithm: Expectation-Maximization (EM) of the conditional probability of
the full emission sequence given the HMM parameters.
Steps:
(0) Initialize HMM parameters (not uniform!)
(1) Forward-backward algorithm (one alpha-pass and one beta-pass)
(2) Compute expectations with the di-gamma and gamma functions
(3) Maximize expectations via reestimating the HMM parameters
(4) Compute log-probability of EM, log(P(O|lambda))
(5) If log-prob. increased, go to step (1), if not, terminate.
Parameters
----------
emission_sequence : list
List of ints where each entry is the id of the observable/emission at time step t.
max_iters : int
The maximum number of iterations during optimization. Can converge sooner than this.
"""
# Initialize old log prob
old_log_prob = -10e12
# Optimize.
for it in range(max_iters):
print(f"[INFO] Iteration {it}")
print(f"\tAlpha-Pass")
# Forward algorithm / alpha-pass.
scalers, alpha_store = self.alpha_pass(emission_sequence=emission_sequence, scale=True)
print(f"\tBeta-Pass")
# Backward algorithm / beta-pass.
beta_store = self.beta_pass(scalers=scalers, emission_sequence=emission_sequence, scale=True)
print(f"\tDi-Gamma and Gamma Computation (Expectations)")
# Compute di-gamma and gamma, i.e.: expectations.
di_gamma, gamma = \
self.compute_gammas(alpha_store=alpha_store,
beta_store=beta_store,
emission_sequence=emission_sequence)
print(f"\tReestimating HMM paramseters (Maximizing Expectations)")
# Reestimate HMM parameters, expectation maximization
self.pi, self.A, self.B = \
self.reestimate_pi_A_B(emission_sequence=emission_sequence,
scalers=scalers,
alpha_store=alpha_store,
beta_store=beta_store,
di_gamma=di_gamma,
gamma=gamma)
# Compute log prob.
log_prob = \
self.compute_log_prob(emission_sequence=emission_sequence, scalers=scalers)
if old_log_prob < log_prob:
old_log_prob = log_prob
print(f"\tlog(P(O|lambda)) = {log_prob}")
else:
print(f"\tlog(P(O|lambda)) = {log_prob}")
print("[INFO] Terminated.")
break
filename_q_2_2_hmm_0 = "sample_00.in"
lines = read_in_file(filename=filename_q_2_2_hmm_0)
A, B, pi, _ = \
read_input_HMM1(lines=lines, read_A=True, read_B=True, read_pi=True, read_emission_sequence=False)
print(f"A is {A}")
print(f"B is {B}")
print(f"pi is {pi}")
hmm_0 = HMM.from_known_model(pi=pi, A=A, B=B)
state_dist = hmm_0.next_state_distribution(state_distribution=pi, A=hmm_0.A)
print(f"The hidden state prrobability disribtuin at time step 1 (0 indexed) is {state_dist}")
emission_dist = hmm_0.next_emission_distribution(state_distribution=state_dist, B=B)
print(f"The emission distribution at time step 1 is {emission_dist}")
A is [[0.2, 0.5, 0.3, 0.0], [0.1, 0.4, 0.4, 0.1], [0.2, 0.0, 0.4, 0.4], [0.2, 0.3, 0.0, 0.5]] B is [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0], [0.2, 0.6, 0.2]] pi is [0.0, 0.0, 0.0, 1.0] The hidden state prrobability disribtuin at time step 1 (0 indexed) is [0.2, 0.3, 0.0, 0.5] The emission distribution at time step 1 is [0.30000000000000004, 0.6, 0.1]
filename_q_2_3_hmm_1 = "hmm2_01.in"
lines = read_in_file(filename=filename_q_2_3_hmm_1)
A, B, pi, emission_sequence = \
read_input_HMM1(lines=lines, read_A=True, read_B=True, read_pi=True, read_emission_sequence=True)
print(f"A is {A}")
print(f"B is {B}")
print(f"pi is {pi}")
print(f"emission_sequence is {emission_sequence}")
hmm_1 = HMM.from_known_model(pi=pi, A=A, B=B)
p = hmm_1.probability_of_emission_sequence(emission_sequence=emission_sequence)
print(f"The probability of the emission sequence O {emission_sequence} is P(O|lambda)={p:.8f}")
A is [[0.0, 0.8, 0.1, 0.1], [0.1, 0.0, 0.8, 0.1], [0.1, 0.1, 0.0, 0.8], [0.8, 0.1, 0.1, 0.0]] B is [[0.9, 0.1, 0.0, 0.0], [0.0, 0.9, 0.1, 0.0], [0.0, 0.0, 0.9, 0.1], [0.1, 0.0, 0.0, 0.9]] pi is [1.0, 0.0, 0.0, 0.0] emission_sequence is [0, 1, 2, 3, 0, 1, 2, 3] The probability of the emission sequence O [0, 1, 2, 3, 0, 1, 2, 3] is P(O|lambda)=0.09027552
filename_q_2_4_hmm_2 = "hmm3_01.in"
lines = read_in_file(filename=filename_q_2_4_hmm_2)
A, B, pi, emission_sequence = \
read_input_HMM1(lines=lines, read_A=True, read_B=True, read_pi=True, read_emission_sequence=True)
print(f"A is {A}")
print(f"B is {B}")
print(f"pi is {pi}")
print(f"emission_sequence is {emission_sequence}")
hmm_2 = HMM.from_known_model(pi=pi, A=A, B=B)
sequence_of_states = \
hmm_2.estimate_sequence_of_states_based_on_emission_sequence(emission_sequence=emission_sequence)
print(f"Given the HMM parameters and the emission sequence {emission_sequence},"
f"the most likely hidden state sequence is {sequence_of_states}")
A is [[0.0, 0.8, 0.1, 0.1], [0.1, 0.0, 0.8, 0.1], [0.1, 0.1, 0.0, 0.8], [0.8, 0.1, 0.1, 0.0]] B is [[0.9, 0.1, 0.0, 0.0], [0.0, 0.9, 0.1, 0.0], [0.0, 0.0, 0.9, 0.1], [0.1, 0.0, 0.0, 0.9]] pi is [1.0, 0.0, 0.0, 0.0] emission_sequence is [1, 1, 2, 2] [[0.0, 0.07200000000000001, 0.0, 0.0]] [[None, 0, None, None]] [[0.0, 0.0, 0.05184000000000001, 0.0]] [[None, None, 1, None]] [[0.0, 0.0005184000000000001, 0.0, 0.0]] [[None, 2, None, None]] Given the HMM parameters and the emission sequence [1, 1, 2, 2],the most likely hidden state sequence is [0, 1, 2, 1]
filenames_hmm3 = ["hmm4_01.in", "hmm4_02.in", "hmm4_03.in"]
filename_q_2_5_hmm_3 = filenames_hmm3[2]
lines = read_in_file(filename=filename_q_2_5_hmm_3)
A_init, B_init, pi_init, emission_sequence = \
read_input_HMM1(lines=lines, read_A=True, read_B=True, read_pi=True, read_emission_sequence=True)
print(f"A is {A_init}")
print(f"B is {B_init}")
print(f"pi is {pi_init}")
print(f"emission_sequence is {emission_sequence}")
hmm_3 = HMM.from_unknown_model_given_init(pi_init=pi_init, A_init=A_init, B_init=B_init)
max_iters = 30
hmm_3.baum_welch(emission_sequence=emission_sequence, max_iters=max_iters)
pi_fit, A_fit, B_fit = hmm_3.pi, hmm_3.A, hmm_3.B
print("pi")
print(' '.join(map(str, pi_fit)))
print("A")
pretty_print_matrix(A=A_fit, round_to=6)
print("B")
pretty_print_matrix(A=B_fit, round_to=6)
A is [[0.8, 0.1, 0.1], [0.1, 0.8, 0.1], [0.1, 0.1, 0.8]] B is [[0.6, 0.4], [0.4, 0.6], [0.4, 0.6]] pi is [1.0, 0.0, 0.0] emission_sequence is [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1] [INFO] Iteration 0 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -371.35591385578977 [INFO] Iteration 1 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -343.73257393929947 [INFO] Iteration 2 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -336.1762096558385 [INFO] Iteration 3 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -332.2702317957186 [INFO] Iteration 4 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -331.14708887676136 [INFO] Iteration 5 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.8973276207492 [INFO] Iteration 6 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.8306967756657 [INFO] Iteration 7 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.80017499462923 [INFO] Iteration 8 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.7795896742946 [INFO] Iteration 9 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.7638801539424 [INFO] Iteration 10 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.7515355882879 [INFO] Iteration 11 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.7417590319658 [INFO] Iteration 12 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.7339904904652 [INFO] Iteration 13 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.7278035146906 [INFO] Iteration 14 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.7228666841938 [INFO] Iteration 15 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.7189206457872 [INFO] Iteration 16 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.7157616502654 [INFO] Iteration 17 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.71322914008044 [INFO] Iteration 18 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.7111962510767 [INFO] Iteration 19 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.7095624952887 [INFO] Iteration 20 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.70824809775564 [INFO] Iteration 21 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.70718959614175 [INFO] Iteration 22 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.70633640925973 [INFO] Iteration 23 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.70564815231256 [INFO] Iteration 24 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.70509252991957 [INFO] Iteration 25 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.7046436778737 [INFO] Iteration 26 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.70428085462294 [INFO] Iteration 27 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.7039874061727 [INFO] Iteration 28 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.7037499454571 [INFO] Iteration 29 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.703557700356 pi 1.0000000000000098 0.0 0.0 A 0.846223 0.076888 0.076888 0.083598 0.814579 0.101822 0.083598 0.101822 0.814579 B 0.6827 0.317299 0.126899 0.873101 0.126899 0.873101
hmm_my_init = HMM.from_unknown_model_gauss(N=3, M=2, init_uniform=False)
print("pi")
print(' '.join(map(str, hmm_my_init.pi)))
print("A")
pretty_print_matrix(A=hmm_my_init.A, round_to = 4)
print("B")
pretty_print_matrix(A=hmm_my_init.B, round_to = 4)
pi 0.33784790236861895 0.33173161152253045 0.3304204861088507 A 0.3341 0.3301 0.3359 0.334 0.333 0.333 0.3348 0.3308 0.3344 B 0.5024 0.4976 0.4996 0.5004 0.5044 0.4956
filenames_hmm3 = ["hmm4_01.in", "hmm4_02.in", "hmm4_03.in"]
filename_q_2_5_hmm_3 = filenames_hmm3[2]
lines = read_in_file(filename=filename_q_2_5_hmm_3)
_, _, _, emission_sequence = \
read_input_HMM1(lines=lines, read_A=False, read_B=False, read_pi=False, read_emission_sequence=True)
print(f"emission_sequence is {emission_sequence}")
max_iters = 500
hmm_my_init.baum_welch(emission_sequence=emission_sequence, max_iters=max_iters)
pi_fit, A_fit, B_fit = hmm_my_init.pi, hmm_my_init.A, hmm_my_init.B
print("pi")
print(' '.join(map(str, pi_fit)))
print("A")
pretty_print_matrix(A=A_fit, round_to=6)
print("B")
pretty_print_matrix(A=B_fit, round_to=6)
emission_sequence is [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1] [INFO] Iteration 0 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -392.1820320367511 [INFO] Iteration 1 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5376229904262 [INFO] Iteration 2 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53762011361994 [INFO] Iteration 3 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5376172094892 [INFO] Iteration 4 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53761427371825 [INFO] Iteration 5 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53761130194476 [INFO] Iteration 6 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.537608289694 [INFO] Iteration 7 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.537605232476 [INFO] Iteration 8 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5376021256848 [INFO] Iteration 9 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5375989646574 [INFO] Iteration 10 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53759574461276 [INFO] Iteration 11 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5375924606906 [INFO] Iteration 12 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.537589107895 [INFO] Iteration 13 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5375856811584 [INFO] Iteration 14 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5375821752511 [INFO] Iteration 15 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53757858483624 [INFO] Iteration 16 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53757490442445 [INFO] Iteration 17 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.537571128386 [INFO] Iteration 18 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53756725093575 [INFO] Iteration 19 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5375632661225 [INFO] Iteration 20 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53755916781284 [INFO] Iteration 21 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5375549497087 [INFO] Iteration 22 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5375506052862 [INFO] Iteration 23 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5375461278573 [INFO] Iteration 24 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53754151048526 [INFO] Iteration 25 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53753674602194 [INFO] Iteration 26 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5375318270792 [INFO] Iteration 27 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5375267460244 [INFO] Iteration 28 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5375214949641 [INFO] Iteration 29 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5375160657133 [INFO] Iteration 30 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5375104498385 [INFO] Iteration 31 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5375046385742 [INFO] Iteration 32 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53749862284354 [INFO] Iteration 33 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.537492393263 [INFO] Iteration 34 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53748594006987 [INFO] Iteration 35 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5374792531792 [INFO] Iteration 36 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5374723221062 [INFO] Iteration 37 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5374651359927 [INFO] Iteration 38 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5374576835451 [INFO] Iteration 39 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5374499530688 [INFO] Iteration 40 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53744193242244 [INFO] Iteration 41 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5374336089647 [INFO] Iteration 42 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.537424969608 [INFO] Iteration 43 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5374160007364 [INFO] Iteration 44 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5374066881971 [INFO] Iteration 45 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53739701731445 [INFO] Iteration 46 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53738697281227 [INFO] Iteration 47 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5373765388102 [INFO] Iteration 48 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53736569882903 [INFO] Iteration 49 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5373544357014 [INFO] Iteration 50 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5373427316116 [INFO] Iteration 51 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5373305680107 [INFO] Iteration 52 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.537317925616 [INFO] Iteration 53 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53730478439144 [INFO] Iteration 54 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5372911234759 [INFO] Iteration 55 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5372769211874 [INFO] Iteration 56 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53726215495465 [INFO] Iteration 57 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.537246801322 [INFO] Iteration 58 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53723083586664 [INFO] Iteration 59 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5372142331921 [INFO] Iteration 60 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53719696688484 [INFO] Iteration 61 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5371790094472 [INFO] Iteration 62 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53716033227664 [INFO] Iteration 63 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5371409056075 [INFO] Iteration 64 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5371206984877 [INFO] Iteration 65 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5370996786939 [INFO] Iteration 66 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53707781269856 [INFO] Iteration 67 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5370550656272 [INFO] Iteration 68 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5370314011904 [INFO] Iteration 69 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5370067815994 [INFO] Iteration 70 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5369811675804 [INFO] Iteration 71 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53695451824905 [INFO] Iteration 72 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5369267910585 [INFO] Iteration 73 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5368979417502 [INFO] Iteration 74 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53686792427504 [INFO] Iteration 75 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5368366907255 [INFO] Iteration 76 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5368041912623 [INFO] Iteration 77 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53677037404276 [INFO] Iteration 78 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5367351851176 [INFO] Iteration 79 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53669856840446 [INFO] Iteration 80 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.536660465532 [INFO] Iteration 81 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53662081581575 [INFO] Iteration 82 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5365795561457 [INFO] Iteration 83 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5365366208815 [INFO] Iteration 84 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5364919417726 [INFO] Iteration 85 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53644544786556 [INFO] Iteration 86 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53639706539343 [INFO] Iteration 87 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5363467176576 [INFO] Iteration 88 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53629432497627 [INFO] Iteration 89 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53623980449777 [INFO] Iteration 90 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5361830701436 [INFO] Iteration 91 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5361240324902 [INFO] Iteration 92 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5360625986268 [INFO] Iteration 93 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5359986720357 [INFO] Iteration 94 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5359321525011 [INFO] Iteration 95 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53586293595026 [INFO] Iteration 96 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.535790914329 [INFO] Iteration 97 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.535715975481 [INFO] Iteration 98 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53563800299884 [INFO] Iteration 99 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53555687609753 [INFO] Iteration 100 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53547246947244 [INFO] Iteration 101 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5353846531488 [INFO] Iteration 102 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5352932923426 [INFO] Iteration 103 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5351982473051 [INFO] Iteration 104 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53509937318046 [INFO] Iteration 105 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.534996519834 [INFO] Iteration 106 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5348895317102 [INFO] Iteration 107 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5347782476714 [INFO] Iteration 108 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53466250080663 [INFO] Iteration 109 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53454211831223 [INFO] Iteration 110 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5344169212586 [INFO] Iteration 111 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5342867244554 [INFO] Iteration 112 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53415133624037 [INFO] Iteration 113 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53401055831233 [INFO] Iteration 114 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53386418548524 [INFO] Iteration 115 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5337120055283 [INFO] Iteration 116 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53355379891514 [INFO] Iteration 117 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53338933858635 [INFO] Iteration 118 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53321838970174 [INFO] Iteration 119 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53304070937565 [INFO] Iteration 120 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5328560463718 [INFO] Iteration 121 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5326641407696 [INFO] Iteration 122 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53246472364697 [INFO] Iteration 123 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.532257516661 [INFO] Iteration 124 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53204223160867 [INFO] Iteration 125 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53181856997315 [INFO] Iteration 126 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5315862223521 [INFO] Iteration 127 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5313448678582 [INFO] Iteration 128 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53109417344336 [INFO] Iteration 129 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5308337930911 [INFO] Iteration 130 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5305633669549 [INFO] Iteration 131 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.53028252034943 [INFO] Iteration 132 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5299908626253 [INFO] Iteration 133 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5296879858375 [INFO] Iteration 134 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5293734633282 [INFO] Iteration 135 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5290468480278 [INFO] Iteration 136 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.52870767056174 [INFO] Iteration 137 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5283554371199 [INFO] Iteration 138 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5279896269999 [INFO] Iteration 139 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5276096898566 [INFO] Iteration 140 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5272150425824 [INFO] Iteration 141 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5268050657945 [INFO] Iteration 142 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5263790998092 [INFO] Iteration 143 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5259364401795 [INFO] Iteration 144 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5254763326334 [INFO] Iteration 145 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5249979673538 [INFO] Iteration 146 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5245004725471 [INFO] Iteration 147 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5239829072695 [INFO] Iteration 148 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5234442532626 [INFO] Iteration 149 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5228834058788 [INFO] Iteration 150 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.522299163824 [INFO] Iteration 151 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.521690217647 [INFO] Iteration 152 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.52105513685655 [INFO] Iteration 153 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.52039235535455 [INFO] Iteration 154 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5197001551221 [INFO] Iteration 155 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5189766478439 [INFO] Iteration 156 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5182197541866 [INFO] Iteration 157 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.51742718042647 [INFO] Iteration 158 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5165963920879 [INFO] Iteration 159 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5157245840397 [INFO] Iteration 160 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5148086466635 [INFO] Iteration 161 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5138451273826 [INFO] Iteration 162 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5128301868858 [INFO] Iteration 163 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5117595491361 [INFO] Iteration 164 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5106284442557 [INFO] Iteration 165 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.50943154289047 [INFO] Iteration 166 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5081628808217 [INFO] Iteration 167 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5068157718962 [INFO] Iteration 168 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5053827073384 [INFO] Iteration 169 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5038552387888 [INFO] Iteration 170 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.5022238421465 [INFO] Iteration 171 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.50047775840574 [INFO] Iteration 172 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.4986048070228 [INFO] Iteration 173 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.49659116628055 [INFO] Iteration 174 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.49442111385434 [INFO] Iteration 175 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.4920767192023 [INFO] Iteration 176 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.4895374774088 [INFO] Iteration 177 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.48677987156094 [INFO] Iteration 178 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.4837768475381 [INFO] Iteration 179 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.480497180892 [INFO] Iteration 180 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.4769047102234 [INFO] Iteration 181 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.47295740450625 [INFO] Iteration 182 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.4686062228064 [INFO] Iteration 183 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.4637937130249 [INFO] Iteration 184 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.45845228063286 [INFO] Iteration 185 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.4525020377449 [INFO] Iteration 186 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.44584811486493 [INFO] Iteration 187 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.43837728037647 [INFO] Iteration 188 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.429953661804 [INFO] Iteration 189 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.420413293082 [INFO] Iteration 190 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.40955711569745 [INFO] Iteration 191 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.3971419272462 [INFO] Iteration 192 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.38286858205026 [INFO] Iteration 193 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.36636648035534 [INFO] Iteration 194 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.3471729987035 [INFO] Iteration 195 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.3247059581231 [INFO] Iteration 196 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.2982264145419 [INFO] Iteration 197 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.26678785655184 [INFO] Iteration 198 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.2291661073605 [INFO] Iteration 199 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.18376153574434 [INFO] Iteration 200 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.1284610927334 [INFO] Iteration 201 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -355.06044143763086 [INFO] Iteration 202 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -354.9758848076364 [INFO] Iteration 203 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -354.86956451387425 [INFO] Iteration 204 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -354.73423440399614 [INFO] Iteration 205 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -354.5597229397652 [INFO] Iteration 206 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -354.33158453555615 [INFO] Iteration 207 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -354.029099613016 [INFO] Iteration 208 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -353.6223587795442 [INFO] Iteration 209 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -353.06818734483596 [INFO] Iteration 210 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -352.30497987414554 [INFO] Iteration 211 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -351.247675244659 [INFO] Iteration 212 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -349.78729368037483 [INFO] Iteration 213 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -347.8063594772446 [INFO] Iteration 214 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -345.2312069904787 [INFO] Iteration 215 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -342.1386466540171 [INFO] Iteration 216 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -338.87153666326384 [INFO] Iteration 217 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -335.9903350774998 [INFO] Iteration 218 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -333.94343510380344 [INFO] Iteration 219 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -332.7642134099114 [INFO] Iteration 220 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -332.1734324630511 [INFO] Iteration 221 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -331.87525949280945 [INFO] Iteration 222 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -331.6931886507293 [INFO] Iteration 223 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -331.5499968529289 [INFO] Iteration 224 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -331.4180755183863 [INFO] Iteration 225 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -331.28921360371675 [INFO] Iteration 226 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -331.161795469624 [INFO] Iteration 227 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -331.03623950459576 [INFO] Iteration 228 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.9135096055029 [INFO] Iteration 229 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.7946427478861 [INFO] Iteration 230 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.68059232822395 [INFO] Iteration 231 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.5721691627316 [INFO] Iteration 232 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.4700163826751 [INFO] Iteration 233 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.37460036776037 [INFO] Iteration 234 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.2862123878198 [INFO] Iteration 235 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.204978524093 [INFO] Iteration 236 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.1308758647965 [INFO] Iteration 237 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.0637529588258 [INFO] Iteration 238 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -330.0033525810117 [INFO] Iteration 239 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.9493350840682 [INFO] Iteration 240 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.90130094044247 [INFO] Iteration 241 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.8588114481851 [INFO] Iteration 242 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.8214069369209 [INFO] Iteration 243 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.7886221287172 [INFO] Iteration 244 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.75999856723485 [INFO] Iteration 245 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.73509422160765 [INFO] Iteration 246 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.7134905032828 [INFO] Iteration 247 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.6947970124029 [INFO] Iteration 248 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.67865436605206 [INFO] Iteration 249 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.66473546412215 [INFO] Iteration 250 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.65274552984886 [INFO] Iteration 251 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.6424212290132 [INFO] Iteration 252 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.6335291314952 [INFO] Iteration 253 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.6258637359879 [INFO] Iteration 254 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.6192452367168 [INFO] Iteration 255 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.6135171723907 [INFO] Iteration 256 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.60854406346175 [INFO] Iteration 257 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.60420911465854 [INFO] Iteration 258 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.6004120357337 [INFO] Iteration 259 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.59706701417156 [INFO] Iteration 260 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.59410085857127 [INFO] Iteration 261 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5914513201858 [INFO] Iteration 262 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.58906559187324 [INFO] Iteration 263 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5868989779662 [INFO] Iteration 264 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5849137249071 [INFO] Iteration 265 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.58307800015746 [INFO] Iteration 266 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5813650058736 [INFO] Iteration 267 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.57975221357157 [INFO] Iteration 268 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5782207062206 [INFO] Iteration 269 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.57675461500924 [INFO] Iteration 270 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.57534063885424 [INFO] Iteration 271 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5739676357721 [INFO] Iteration 272 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.57262627638113 [INFO] Iteration 273 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5713087507669 [INFO] Iteration 274 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.570008521093 [INFO] Iteration 275 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.56872011320036 [INFO] Iteration 276 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5674389413742 [INFO] Iteration 277 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.56616116123485 [INFO] Iteration 278 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5648835464025 [INFO] Iteration 279 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.56360338523314 [INFO] Iteration 280 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.56231839446036 [INFO] Iteration 281 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5610266470442 [INFO] Iteration 282 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5597265119155 [INFO] Iteration 283 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5584166037697 [INFO] Iteration 284 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5570957411707 [INFO] Iteration 285 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.55576291168467 [INFO] Iteration 286 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.55441724282764 [INFO] Iteration 287 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5530579779111 [INFO] Iteration 288 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.55168445594876 [INFO] Iteration 289 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5502960949285 [INFO] Iteration 290 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5488923779346 [INFO] Iteration 291 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5474728415862 [INFO] Iteration 292 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5460370664527 [INFO] Iteration 293 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5445846690784 [INFO] Iteration 294 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.54311529535244 [INFO] Iteration 295 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5416286150039 [INFO] Iteration 296 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5401243170248 [INFO] Iteration 297 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5386021058719 [INFO] Iteration 298 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.53706169828746 [INFO] Iteration 299 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5355028206731 [INFO] Iteration 300 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.53392520690005 [INFO] Iteration 301 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.53232859647574 [INFO] Iteration 302 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.530712733014 [INFO] Iteration 303 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.52907736297 [INFO] Iteration 304 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5274222345631 [INFO] Iteration 305 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.52574709689526 [INFO] Iteration 306 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5240516991855 [INFO] Iteration 307 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.52233579014745 [INFO] Iteration 308 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.52059911744954 [INFO] Iteration 309 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5188414272697 [INFO] Iteration 310 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5170624638985 [INFO] Iteration 311 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5152619694163 [INFO] Iteration 312 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.51343968341183 [INFO] Iteration 313 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5115953427319 [INFO] Iteration 314 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5097286812825 [INFO] Iteration 315 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.50783942983173 [INFO] Iteration 316 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.50592731584874 [INFO] Iteration 317 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5039920633731 [INFO] Iteration 318 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.50203339287475 [INFO] Iteration 319 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.5000510211475 [INFO] Iteration 320 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.49804466122083 [INFO] Iteration 321 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.4960140222402 [INFO] Iteration 322 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.49395880941444 [INFO] Iteration 323 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.49187872393037 [INFO] Iteration 324 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.48977346288314 [INFO] Iteration 325 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.48764271923073 [INFO] Iteration 326 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.48548618173356 [INFO] Iteration 327 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.48330353490337 [INFO] Iteration 328 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.48109445898 [INFO] Iteration 329 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.47885862987516 [INFO] Iteration 330 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.47659571916165 [INFO] Iteration 331 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.47430539404263 [INFO] Iteration 332 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.4719873173383 [INFO] Iteration 333 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.4696411474801 [INFO] Iteration 334 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.4672665384935 [INFO] Iteration 335 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.4648631400223 [INFO] Iteration 336 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.46243059732 [INFO] Iteration 337 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.4599685512822 [INFO] Iteration 338 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.4574766384647 [INFO] Iteration 339 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.45495449112514 [INFO] Iteration 340 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.4524017372566 [INFO] Iteration 341 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.44981800065375 [INFO] Iteration 342 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.4472029009646 [INFO] Iteration 343 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.4445560537652 [INFO] Iteration 344 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.44187707065447 [INFO] Iteration 345 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.4391655593349 [INFO] Iteration 346 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.43642112373004 [INFO] Iteration 347 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.4336433641011 [INFO] Iteration 348 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.4308318771777 [INFO] Iteration 349 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.4279862563164 [INFO] Iteration 350 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.4251060916495 [INFO] Iteration 351 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.4221909702728 [INFO] Iteration 352 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.41924047643585 [INFO] Iteration 353 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.4162541917544 [INFO] Iteration 354 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.41323169543443 [INFO] Iteration 355 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.4101725645271 [INFO] Iteration 356 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.40707637418717 [INFO] Iteration 357 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.40394269796616 [INFO] Iteration 358 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.40077110811296 [INFO] Iteration 359 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.3975611759158 [INFO] Iteration 360 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.39431247203873 [INFO] Iteration 361 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.3910245669022 [INFO] Iteration 362 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.3876970310894 [INFO] Iteration 363 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.3843294357684 [INFO] Iteration 364 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.38092135314605 [INFO] Iteration 365 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.37747235693564 [INFO] Iteration 366 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.37398202288495 [INFO] Iteration 367 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.3704499292994 [INFO] Iteration 368 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.3668756576152 [INFO] Iteration 369 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.3632587929924 [INFO] Iteration 370 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.359598924958 [INFO] Iteration 371 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.3558956480545 [INFO] Iteration 372 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.35214856256175 [INFO] Iteration 373 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.3483572752047 [INFO] Iteration 374 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.3445213999486 [INFO] Iteration 375 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.3406405587917 [INFO] Iteration 376 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.3367143826183 [INFO] Iteration 377 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.3327425120854 [INFO] Iteration 378 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.3287245985489 [INFO] Iteration 379 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.32466030502917 [INFO] Iteration 380 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.32054930722273 [INFO] Iteration 381 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.31639129454965 [INFO] Iteration 382 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.31218597125786 [INFO] Iteration 383 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.30793305755475 [INFO] Iteration 384 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.3036322907939 [INFO] Iteration 385 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.2992834267043 [INFO] Iteration 386 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.2948862406707 [INFO] Iteration 387 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.2904405290443 [INFO] Iteration 388 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.2859461105199 [INFO] Iteration 389 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.2814028275397 [INFO] Iteration 390 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.2768105477519 [INFO] Iteration 391 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.272169165521 [INFO] Iteration 392 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.26747860347007 [INFO] Iteration 393 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.2627388140746 [INFO] Iteration 394 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.25794978129113 [INFO] Iteration 395 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.2531115222405 [INFO] Iteration 396 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.24822408892055 [INFO] Iteration 397 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.24328756995436 [INFO] Iteration 398 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.2383020923806 [INFO] Iteration 399 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.2332678234823 [INFO] Iteration 400 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.22818497261613 [INFO] Iteration 401 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.22305379311075 [INFO] Iteration 402 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.2178745841427 [INFO] Iteration 403 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.21264769266367 [INFO] Iteration 404 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.20737351532216 [INFO] Iteration 405 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.2020525003883 [INFO] Iteration 406 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.1966851496889 [INFO] Iteration 407 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.1912720205297 [INFO] Iteration 408 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.1858137276038 [INFO] Iteration 409 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.1803109448715 [INFO] Iteration 410 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.17476440741507 [INFO] Iteration 411 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.1691749132489 [INFO] Iteration 412 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.163543325072 [INFO] Iteration 413 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.15787057196763 [INFO] Iteration 414 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.1521576510116 [INFO] Iteration 415 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.1464056288056 [INFO] Iteration 416 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.1406156429066 [INFO] Iteration 417 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.1347889031397 [INFO] Iteration 418 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.12892669276056 [INFO] Iteration 419 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.1230303695212 [INFO] Iteration 420 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.11710136651965 [INFO] Iteration 421 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.1111411929133 [INFO] Iteration 422 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.1051514344078 [INFO] Iteration 423 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.09913375356365 [INFO] Iteration 424 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.093089889854 [INFO] Iteration 425 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.08702165949273 [INFO] Iteration 426 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.0809309549874 [INFO] Iteration 427 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.07481974441794 [INFO] Iteration 428 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.0686900704467 [INFO] Iteration 429 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.06254404897754 [INFO] Iteration 430 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.05638386752463 [INFO] Iteration 431 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.0502117832273 [INFO] Iteration 432 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.0440301205319 [INFO] Iteration 433 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.03784126849297 [INFO] Iteration 434 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.03164767773075 [INFO] Iteration 435 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.02545185699046 [INFO] Iteration 436 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.01925636934254 [INFO] Iteration 437 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.0130638279854 [INFO] Iteration 438 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.00687689168177 [INFO] Iteration 439 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -329.0006982598069 [INFO] Iteration 440 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.9945306670284 [INFO] Iteration 441 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.98837687762756 [INFO] Iteration 442 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.9822396794728 [INFO] Iteration 443 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.9761218776576 [INFO] Iteration 444 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.9700262878294 [INFO] Iteration 445 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.9639557292209 [INFO] Iteration 446 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.95791301745396 [INFO] Iteration 447 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.9519009570644 [INFO] Iteration 448 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.94592233386913 [INFO] Iteration 449 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.93997990715866 [INFO] Iteration 450 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.9340764017765 [INFO] Iteration 451 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.9282145001121 [INFO] Iteration 452 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.92239683408576 [INFO] Iteration 453 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.9166259771285 [INFO] Iteration 454 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.91090443625313 [INFO] Iteration 455 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.90523464420676 [INFO] Iteration 456 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.89961895184337 [INFO] Iteration 457 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.8940596206666 [INFO] Iteration 458 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.8885588156819 [INFO] Iteration 459 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.88311859855213 [INFO] Iteration 460 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.8777409211325 [INFO] Iteration 461 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.8724276194129 [INFO] Iteration 462 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.86718040794443 [INFO] Iteration 463 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.8620008747474 [INFO] Iteration 464 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.8568904767834 [INFO] Iteration 465 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.8518505359788 [INFO] Iteration 466 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.84688223588205 [INFO] Iteration 467 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.84198661892964 [INFO] Iteration 468 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.83716458437124 [INFO] Iteration 469 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.8324168868569 [INFO] Iteration 470 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.8277441356911 [INFO] Iteration 471 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.8231467947764 [INFO] Iteration 472 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.8186251832073 [INFO] Iteration 473 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.81417947655257 [INFO] Iteration 474 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.80980970875333 [INFO] Iteration 475 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.8055157746859 [INFO] Iteration 476 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.80129743330497 [INFO] Iteration 477 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.7971543113784 [INFO] Iteration 478 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.7930859077362 [INFO] Iteration 479 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.78909159806835 [INFO] Iteration 480 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.7851706401323 [INFO] Iteration 481 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.7813221794228 [INFO] Iteration 482 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.7775452551886 [INFO] Iteration 483 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.773838806773 [INFO] Iteration 484 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.77020168024876 [INFO] Iteration 485 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.7666326352432 [INFO] Iteration 486 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.7631303519631 [INFO] Iteration 487 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.7596934383268 [INFO] Iteration 488 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.75632043716865 [INFO] Iteration 489 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.7530098334769 [INFO] Iteration 490 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.74976006159153 [INFO] Iteration 491 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.74656951235454 [INFO] Iteration 492 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.74343654013825 [INFO] Iteration 493 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.74035946972657 [INFO] Iteration 494 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.7373366030242 [INFO] Iteration 495 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.73436622552396 [INFO] Iteration 496 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.7314466125644 [INFO] Iteration 497 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.7285760352779 [INFO] Iteration 498 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.72575276628254 [INFO] Iteration 499 Alpha-Pass Beta-Pass Di-Gamma and Gamma Computation (Expectations) Reestimating HMM paramseters (Maximizing Expectations) log(P(O|lambda)) = -328.722975085026 pi 1.633771666205252e-160 1.0000000000000144 0.0 A 0.783948 0.164969 0.051083 0.078141 0.883018 0.03884 0.251164 0.00328 0.745555 B 0.427885 0.572115 0.092946 0.907053 0.865173 0.134826