Esempio n. 1
0
        public void TestContBWL()
        {
            var hmm       = BuildContHMM();
            var learntHmm = BuildContInitHMM();
            var mg        = new MarkovGenerator(hmm);
            var training  = mg.GenerateSequences(200, 100);
            var bwl       = new TrainBaumWelch(learntHmm, training);
            var klc       = new KullbackLeiblerDistanceCalculator();

            bwl.Iteration(5);
            learntHmm = (HiddenMarkovModel)bwl.Method;

            var e = klc.Distance(learntHmm, hmm);

            Assert.IsTrue(e < 0.01);
        }
Esempio n. 2
0
        public void TestDiscKMeans()
        {
            var hmm = BuildDiscHMM();

            var mg        = new MarkovGenerator(hmm);
            var sequences = mg.GenerateSequences(200, 100);

            var trainer = new TrainKMeans(hmm, sequences);
            var klc     =
                new KullbackLeiblerDistanceCalculator();

            trainer.Iteration(5);
            var learntHmm = (HiddenMarkovModel)trainer.Method;
            var e         = klc.Distance(learntHmm, hmm);

            Assert.IsTrue(e < 0.05);
        }