hmm_train: Hidden Markov Model (HMM) Training

View source: R/hmm_train.R

hmm_trainR Documentation

Hidden Markov Model (HMM) Training

Description

An implementation of training algorithms for Hidden Markov Models (HMMs). Given labeled or unlabeled data, an HMM can be trained for further use with other mlpack HMM tools.

Usage

hmm_train(
  input_file,
  batch = FALSE,
  gaussians = NA,
  input_model = NA,
  labels_file = NA,
  seed = NA,
  states = NA,
  tolerance = NA,
  type = NA,
  verbose = FALSE
)

Arguments

input_file

File containing input observations (character).

batch

If true, input_file (and if passed, labels_file) are expected to contain a list of files to use as input observation sequences (and label sequences). Default value "FALSE" (logical).

gaussians

Number of gaussians in each GMM (necessary when type is 'gmm'). Default value "0" (integer).

input_model

Pre-existing HMM model to initialize training with (HMMModel).

labels_file

Optional file of hidden states, used for labeled training. Default value "" (character).

seed

Random seed. If 0, 'std::time(NULL)' is used. Default value "0" (integer).

states

Number of hidden states in HMM (necessary, unless model_file is specified). Default value "0" (integer).

tolerance

Tolerance of the Baum-Welch algorithm. Default value "1e-05" (numeric).

type

Type of HMM: discrete | gaussian | diag_gmm | gmm. Default value "gaussian" (character).

verbose

Display informational messages and the full list of parameters and timers at the end of execution. Default value "FALSE" (logical).

Details

This program allows a Hidden Markov Model to be trained on labeled or unlabeled data. It supports four types of HMMs: Discrete HMMs, Gaussian HMMs, GMM HMMs, or Diagonal GMM HMMs

Either one input sequence can be specified (with "input_file"), or, a file containing files in which input sequences can be found (when "input_file"and"batch" are used together). In addition, labels can be provided in the file specified by "labels_file", and if "batch" is used, the file given to "labels_file" should contain a list of files of labels corresponding to the sequences in the file given to "input_file".

The HMM is trained with the Baum-Welch algorithm if no labels are provided. The tolerance of the Baum-Welch algorithm can be set with the "tolerance"option. By default, the transition matrix is randomly initialized and the emission distributions are initialized to fit the extent of the data.

Optionally, a pre-created HMM model can be used as a guess for the transition matrix and emission probabilities; this is specifiable with "output_model".

Value

A list with several components:

output_model

Output for trained HMM (HMMModel).

Author(s)

mlpack developers


mlpack documentation built on Sept. 27, 2023, 1:07 a.m.

Related to hmm_train in mlpack...