Accord.Tests.Statistics.GenericHiddenMarkovModelTest.DecodeTest2 C# (CSharp) Method

DecodeTest2() private method

private DecodeTest2 ( ) : void
return void
        public void DecodeTest2()
        {
            double[,] transitions = 
            {  
                { 0.7, 0.3 },
                { 0.4, 0.6 }
            };

            double[,] emissions = 
            {  
                { 0.1, 0.4, 0.5 },
                { 0.6, 0.3, 0.1 }
            };

            double[] initial =
            {
                0.6, 0.4
            };

            var hmm = HiddenMarkovModel.CreateGeneric(transitions, emissions, initial);

            double logLikelihood;
            double[] sequence = new double[] { 0, 1, 2 };
            int[] path = hmm.Decode(sequence, out logLikelihood);

            double expected = Math.Log(0.01344);

            Assert.AreEqual(logLikelihood, expected, 1e-10);
            Assert.AreEqual(path[0], 1);
            Assert.AreEqual(path[1], 0);
            Assert.AreEqual(path[2], 0);
        }