Shogun toolbox Proporciona dos implementaciones de HMM
- CHMM – Modelos ocultos de Markov
- CLinearHMM: cadenas de Markov (incrustadas en HMM “lineales”)
Después de tener shogun toolbox y dependencias instaladas.
Debajo están los códigos en Python
- ¿Cómo aprendiste el aprendizaje automático? ¿Por qué?
- ¿Cómo se entrenan las redes estocásticas generativas?
- En su opinión, ¿la sugerencia de lectura recomendada basada en la actividad de navegación de los usuarios de Wikipedia mejorará la genialidad del sitio?
- Cómo leer esta arquitectura de red neuronal convolucional
- ¿Cuál es la mejor manera de predecir una clase +/- en un escenario de aprendizaje automático donde tengo k características trinarias y un conjunto de datos del orden de cientos o miles?
- Código para CHMM
# En este ejemplo, se entrena un modelo oculto de Markov con 3 estados y 6 transiciones
# en un conjunto de datos de cadena.
desde tools.load import LoadMatrix
de sg import sg
lm = LoadMatrix ()
traindna = lm.load_dna (‘../ data / fm_train_dna.dat’)
cubedna = lm.load_cubes (‘../ data / fm_train_cube.dat’)
parameter_list = [[traindna, cubedna, 3,6,1, list (), list ()],
[traindna, cubedna, 3,6,1, lista (), lista ()]]
def distribution_hmm (fm_train = traindna, fm_cube = cubedna, N = 3, M = 6,
orden = 1, hmms = lista (), enlaces = lista ()):
sg (‘nuevo_hmm’, N, M)
sg (‘set_features’, ‘TRAIN’, fm_cube, ‘CUBE’)
sg (‘convertir’, ‘TREN’, ‘STRING’, ‘CHAR’, ‘STRING’, ‘WORD’, orden)
sg (‘bw’)
hmm = sg (‘get_hmm’)
sg (‘nuevo_hmm’, N, M)
sg (‘set_hmm’, hmm [0], hmm [1], hmm [2], hmm [3])
verosimilitud = sg (‘hmm_likelihood’)
probabilidad de retorno
if __name __ == ‘__ main__’:
imprimir (‘HMM’)
distribution_hmm (* parameter_list [0])
- Código para CLinearHMM
# Entrena una cadena de Markov no homogénea de orden 3 en un conjunto de datos de cadena de ADN. Debido a
# la estructura de la cadena de Markov es muy similar a un HMM con solo uno
# cadena de estados ocultos conectados: es por eso que llamamos a este HMM lineal.
desde tools.load import LoadMatrix
de sg import sg
lm = LoadMatrix ()
traindna = lm.load_dna (‘../ data / fm_train_dna.dat’)
cubedna = lm.load_cubes (‘../ data / fm_train_cube.dat’)
parameter_list = [[traindna, cubedna, 3,0, ‘n’],
[traindna, cubedna, 3,0, ‘n’]]
def distribution_linearhmm (fm_train = traindna, fm_cube = cubedna,
order = 3, gap = 0, reverse = ‘n’):
# sg (‘new_distribution’, ‘LinearHMM’)
sg (‘add_preproc’, ‘SORTWORDSTRING’)
sg (‘set_features’, ‘TRAIN’, fm_train, ‘DNA’)
sg (‘convertir’, ‘TRAIN’, ‘STRING’, ‘CHAR’, ‘STRING’, ‘WORD’, order, order-1, gap, reverse)
sg (‘attach_preproc’, ‘TRAIN’)
# sg (‘train_distribution’)
# histo = sg (‘get_histogram’)
# num_examples = 11
# num_param = sg (‘get_histogram_num_model_parameters’)
# para i en xrange (num_examples):
# para j en xrange (num_param):
# sg (‘get_log_derivative% d% d’% (j, i))
# sg (‘get_log_likelihood_sample’)
if __name __ == ‘__ main__’:
print (‘LinearHMM’)
distribution_linearhmm (* parameter_list [0])