Exemple #1
0
        /// <summary>
        /// Learn the distribution.
        /// </summary>
        /// <param name="hmm">The HMM.</param>
        private void LearnOpdf(HiddenMarkovModel hmm)
        {
            for (int i = 0; i < hmm.StateCount; i++)
            {
                ICollection <IMLDataPair> clusterObservations = _clusters
                                                                .Cluster(i);

                if (clusterObservations.Count < 1)
                {
                    IStateDistribution o = _modelHmm.CreateNewDistribution();
                    hmm.StateDistributions[i] = o;
                }
                else
                {
                    var temp = new BasicMLDataSet();
                    foreach (IMLDataPair pair in clusterObservations)
                    {
                        temp.Add(pair);
                    }
                    hmm.StateDistributions[i].Fit(temp);
                }
            }
        }