Created
February 3, 2017 14:43
-
-
Save paralax/2a08d4b8158d2e86d232d6fc07286d50 to your computer and use it in GitHub Desktop.
Hidden Markov Model in F# using Accord Framework and Baum Welch Learning
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // based on this example http://accord-framework.net/docs/html/T_Accord_Statistics_Models_Markov_Learning_BaumWelchLearning.htm | |
| open System | |
| open Accord.Math | |
| open Accord.Statistics.Models.Markov.Learning | |
| open Accord.Statistics.Models.Markov | |
| let sequences = [| | |
| [| 0;5;3;2;5;2|]; | |
| [| 0;5;4;2;5;2|]; | |
| [| 0;5;2;3;5;2|]; | |
| [| 0;5;2;2;5;3|]; | |
| [| 0;1;1;1;1;0;1;1;1;1 |]; | |
| [| 0;1;1;1;0;1;1;1;1;1 |]; | |
| [| 0;1;1;1;1;1;1;1;1;1 |]; | |
| [| 0;1;1;1;1;1 |]; | |
| [| 0;1;1;1;1;1;1 |]; | |
| [| 0;1;1;1;1;1;1;1;1;1 |]; | |
| [| 0;1;1;1;1;1;1;1;1;1 |]; | |
| |] | |
| let hmm = new HiddenMarkovModel(7,6) | |
| let teacher = new BaumWelchLearning(hmm) | |
| teacher.Tolerance = 0.0001 | |
| teacher.Iterations = 0 | |
| teacher.Learn(sequences) | |
| let l1 = Math.Exp(hmm.LogLikelihood([|0;1|])) | |
| let l2 = Math.Exp(hmm.LogLikelihood([|0;1;1;1|])) | |
| let l3 = Math.Exp(hmm.LogLikelihood([|1;1|])) | |
| let l4 = Math.Exp(hmm.LogLikelihood([|1;0;0;0;|])) | |
| let l5 = Math.Exp(hmm.LogLikelihood([|0; 1; 0; 1; 1; 1; 1; 0; 1 |])) | |
| let l6 = Math.Exp(hmm.LogLikelihood([|0; 1; 1; 1; 1; 1; 1; 1; 1 |])) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment