📄 continuoushmm.py
字号:
import ghmm# example code for a continuous HMM with gaussian emissionsF = ghmm.Float() # emission domain of this modelA = [[0.0,1.0,0],[0.5,0.0,0.5],[0.3,0.3,0.4]] # transition matrixB = [[0.0,1.0],[-1.0,0.5], [1.0,0.2]] # parameters of emission distributions in pairs of (mu, sigma)pi = [1.0,0.0,0.0] # initial probabilities per state# generate model from parametersmodel = ghmm.HMMFromMatrices(F,ghmm.GaussianDistribution(F), A, B, pi)# modify model parametersp = model.getInitial(2)model.setInitial(2,0.5)model.setInitial(0,0.5) # re-set transition from state 0 to state 1trans = model.getTransition(0,1)model.setTransition(0,1,0.6)# re-setting emission of state 1model.setEmission(1,[5.0,0.6]) # re-normalize model parametersmodel.normalize()print model# sample single sequence of length 50seq = model.sampleSingle(50)# sample 10 sequences of length 50seq_set = model.sample(10,50)# get log P(seq | model)logp = model.loglikelihood(seq)# cacluate viterbi path path = model.viterbi(seq)# train model parametersmodel.baumWelch(seq_set,5,0.01)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -