Skip to content

juanmirocks/CL-HMM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Copyright (C) Dr. Juan Miguel Cejuela


CL-HMM: HMM Library for Common Lisp

  • Compatibility: ANSI Common Lisp. Tested on SBCL 1.1.11
  • Dependencies: jmc.cl.utils system
  • Development Times:
    • 2008-07 to 2008-09
    • 2013-09 to 2013-11

Features:

  • Discrete observation densities

  • Alphabet symbols of any kind

  • Exponential state duration densities

  • Homogeneous HMMs

  • First order chains

  • Comparable efficiency to GHMM written in C (1x - 2x slower)

  • HMMs:

    • Forward & backward in probability space and scaled
    • Viterbi in probability and log space
    • Baum-Welch training (probability and scaled) for multiple sequences (optionally labeled)
    • Tied emission parameters
    • Finite and infinite HMMs
  • PHMMs (Pair HMMs): ongoing development

    • Forward & backward in probability and log space
    • (soon) Viterbi in probability and log space
    • (soon) Baum-Welch training (probability and log) for multiple sequences
    • Sequence translations: given input X --> generate output Y

Comments:

  • Rabiner's notation is followed in code. Otherwise properly indicated.

Installation:

  1. You must have an installed Common Lisp implementation. For instance: SBCL
  2. Download latest version of jmc.cl.utils system
  3. Download latest version of CL-HMM's code
  4. Make ASDF locate the downloaded packaged, for instance: (setf asdf:*central-registry* (append '(#p"...local path..." :*central-registry*)))
  5. Load & compile the package: (asdf:operate 'asdf:load-op :cl-hmm)