libak
0.4.0
|
Functions | |
void | ak_mixtcompmult_free (akMixtCompMult *mcmu) |
Frees memory. | |
akMixtCompMult * | ak_mixtcompmult_new (akCModel *cmodel, akMixCounts *mcounts, char **err) |
Gets an akMixtCompMult. | |
void | ak_mu_mixture_components (akMixtCompMult *mcmu, unsigned int c, unsigned int q, unsigned int newI) |
Multiplies mixture components. | |
void | ak_mu_tmixture_components (akMixtCompMult *mcmu, unsigned int newI) |
Multiplies the mixture components of a TiedState model. | |
void | ak_mu_tmixture_components_state (akMixtCompMult *mcmu, const char *state, unsigned int newI) |
Multiplies the mixture components of a tied state. |
void ak_mixtcompmult_free | ( | akMixtCompMult * | mcmu | ) |
Frees memory.
Frees the memory allocated for the mixture component multiplier.
mcmu | The mixture component multiplier. |
akMixtCompMult* ak_mixtcompmult_new | ( | akCModel * | cmodel, |
akMixCounts * | mcounts, | ||
char ** | err | ||
) |
Gets an akMixtCompMult.
This function creates a mixture component multiplier for a given character models set. Currently supported types are: Bernoulli mixtures and DGaussian mixtures.
cmodel | The character models to modify. |
mcounts | The mixture coefficient counts of the model or NULL. If the counts are provided then the 'min_occ' parameter is used as stop criterion, guarantying a minimum occupancy in each mixture component. |
err | Pointer to string variable. If not NULL an error message is allocated in the variable in case of error. |
void ak_mu_mixture_components | ( | akMixtCompMult * | mcmu, |
unsigned int | c, | ||
unsigned int | q, | ||
unsigned int | newI | ||
) |
Multiplies mixture components.
This function multiplies the mixture components of the specified state. New components are created until reaching the desired number, or minimum occupancy value is reached (if mixture coefficients counts are provided). If the desired number is less than the current number of components then nothing happens. Each new component is created by removing the component with the highest mixture coefficient (or count) and adding two new components which are perturbations of the removed component with the half of the mixture coefficient probability. If mixture counts are provided, then they are also updated. Bernoulli mixture components are perturbed as . DGaussian mixture components are perturbed as
. If newI is 0, then mixture coefficients are ignored and all mixture components of the specified state are split (if the minimum occupancy allows it).
mcmu | The mixture component multiplier. |
c | Character model to be modified. |
q | State to be modified. |
newI | The desired number of mixture components. |
void ak_mu_tmixture_components | ( | akMixtCompMult * | mcmu, |
unsigned int | newI | ||
) |
Multiplies the mixture components of a TiedState model.
This function multiplies all the mixture components of the related TiedStates-Mixture model. Components are multiplied as in ak_mu_mixture_components.
mcmu | The mixture component multiplier. |
newI | The desired number of mixture components in each state. |
void ak_mu_tmixture_components_state | ( | akMixtCompMult * | mcmu, |
const char * | state, | ||
unsigned int | newI | ||
) |
Multiplies the mixture components of a tied state.
This function multiplies the mixture components of the specified tied state. Components are multiplied as in ak_mu_mixture_components.
mcmu | The mixture component multiplier. |
state | The tied state name. |
newI | The desired number of mixture components. |