hmmlearn之MultinomialHMM 离散隐马尔科夫模型

本文介绍了如何使用hmmlearn库中的MultinomialHMM实现离散隐马尔科夫模型,包括模型的安装、参数设置及应用场景。通过实例演示了模型参数初始化的方法,以及如何利用观测序列训练模型。

hmmlearn之MultinomialHMM 离散隐马尔科夫模型

1. 安装:pip3 install hmmlearn

2. 模型参数:

hmmlearn.hmm.MultinomialHMM(
    n_components=1,   # 隐藏状态的种类
    # 以下参数用于模型训练:
    n_trials=None, 
    startprob_prior=1.0, # 由模型本身对初始概率分布随机初始化
    transmat_prior=1.0,  # 由模型本身对状态转移概率随机初始化
    algorithm='viterbi',  # 解码方法
    n_iter=10, # 训练迭代的次数
    tol=0.01,  # 训练结束的阈值
    verbose=False,  # 训练过程是否可见
    params='ste',  # 训练过程中更新的参数,默认为所有的参数
    init_params='ste',  # 由模型进行随机初始化的参数,默认为所有的参数
    implementation='log')  # 选择对数/缩放进行前向或后向算法

s: 初始概率分布
t: 状态转移概率
e: 发射概率

3. 建模

(1)初始化全部的模型参数

(2)初始化部分的模型参数

# 1. 初始化全部模型参数,建立模型
# 例1:
import numpy as np
from hmmlearn import hmm

states = ["box1", "box2", "box3"]  # 隐藏状态
n_states = len(states)

observations = ["red", "white"]  # 观测状态
n_observations = len(observations)

start_probability = np.array([0.2, 0.4, 0.4])

transition_probability = np.array([
  [0.5, 0.2, 0.3],
  [0.3, 0.5, 0.2],
  [0.2, 0.3, 0.5]
])

emission_probability = np.array([
  [0.5, 0.5],
  [0.4, 0.6],
  [0.7
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值