Modelos ocultos de Markov con algoritmo de Baum-Welch usando Python


11

Estoy buscando alguna implementación de Python (en Python puro o envolviendo cosas existentes) de HMM y Baum-Welch.

¿Algunas ideas?

Acabo de buscar en google y he encontrado material muy pobre con respecto a otras técnicas de aprendizaje automático. ¿Por qué?

Respuestas:


11

El scikit-learn tiene una implementación HMM . Hasta hace poco se consideraba no mantenido y se desaconsejaba su uso. Sin embargo, ha mejorado en la versión de desarrollo. Sin embargo, no puedo garantizar su calidad, ya que no sé nada de HMM.

Descargo de responsabilidad: soy un desarrollador de scikit-learn.

Editar : hemos trasladado los HMM fuera de scikit-learn a https://github.com/hmmlearn/hmmlearn


Sí, yo decido no lo uso debido unmantainement ..
nkint

Creo que está mejorando y que pronto podremos comprometernos a mantenerlo.
Gael Varoquaux

¿La implementación de sklearn utiliza Baum-Welch?
Vishal

Si lo hace Ver _BaseHMMdocumentación para detalles de implementación.
Sergei Lebedev

3

¿Has visto NLTK?

http://www.nltk.org/

Tiene algunas clases que son adecuadas para este tipo de cosas, pero algo dependientes de la aplicación.

http://www.nltk.org/api/nltk.tag.html#nltk.tag.hmm.HiddenMarkovModelTrainer

Si está buscando algo más "orientado a la educación", escribí hace un momento sobre el entrenador de juguetes:

http://pastebin.com/aJG3Ukmn


Gracias. Lo necesito para el reconocimiento de gestos. Estoy Stucked en lo que podría ser mi alfabeto (símbolos en NLTK) en mi aplicación ..
nkint


ok, los datos son las etiquetas, así que si uso solo 8 etiquetas para agrupar las coordenadas de un gesto ... el alfabeto es [1,2,3,4,5,6,7]
nkint

pero aún no entiendo la diferencia entre estado y símbolo en el constructor
HiddenMarkovModelTrainer

1
Muy bien, ¿qué tal esto: creativedistraction.com/demos/ ... es una demostración paso a paso con el código de cómo construir su propio reconocedor de gestos con el Kinect. El código es para Octave, no para Python, pero parece que estás atascado en las ideas / implementación más que en los detalles del software. por supuesto, requiere un kinect ... también puede consultar esto: code.google.com/p/ehci
qi5d02lx




0

La siguiente es una implementación de Pyhton del algoritmo Baum-Welch:

https://github.com/hamzarawal/HMM-Baum-Welch-Algorithm

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.