Accord.Statistics.Models.Markov.Learning.ContinuousBaumWelchLearning.Run C# (CSharp) Method

Run() public method

Runs the Baum-Welch learning algorithm for hidden Markov models.
Learning problem. Given some training observation sequences O = {o1, o2, ..., oK} and general structure of HMM (numbers of hidden and visible states), determine HMM parameters M = (A, B, pi) that best fit training data.
public Run ( ) : double
return double
        public new double Run(params Array[] observations)
        {
            // Convert the generic representation to a vector of multivariate sequences
            continuousObservations = new double[observations.Length][][];
            for (int i = 0; i < continuousObservations.Length; i++)
                continuousObservations[i] = convert(observations[i], model.Dimension);


            // Sample array, used to store all observations as a sample vector
            //   will be useful when fitting the distribution models.
            samples = Matrix.Combine(continuousObservations);
            weights = new double[samples.Length];


            return base.Run(observations);
        }

Usage Example

        private static ContinuousHiddenMarkovModel TrainHelper(double[][] sequences)
        {
            var hmm = new ContinuousHiddenMarkovModel(States, Symbols);
            var learner = new ContinuousBaumWelchLearning(hmm)
            {
                Tolerance = MinTolerance,
                Iterations = MaxIterations,
                FittingOptions = new NormalOptions()
                {
                    Regularization = RegularisationFactor
                }
            };

            learner.Run(sequences);
            return hmm;
        }
All Usage Examples Of Accord.Statistics.Models.Markov.Learning.ContinuousBaumWelchLearning::Run