/hmm

Large-scale unsupervised Hidden Markov Model (HMM) implementation supporting online-learning and multi-threading

Primary LanguageJava

An implementation of Hidden Markov Model (HMM) with the following features:

  • Unsupervised training using Baum-Welch Algorithm.
  • Large scale training by using online learning techniques (mini-batch approach).
  • Faster training speed by multi-threading.
  • Viterbi Algorithm for decoding, supports multi-threading.
  • Platform independent: written entirely in Java.
  • Simple and stand-alone implementation (easy to modify).
  • Supports unicode.
  • Optionally uses development data to avoid overfitting (by checking perplexity).