关于在R中使用多个观测值和mhsmm包进行训练

我想通过使用泊松观测值来训练一个新的隐马尔可夫模型,这是我唯一知道的信息。我正在使用R语言的mhsmm包。

首先让我困扰的是模型的初始化,在示例中是这样的:

J<-3initial <- rep(1/J,J)P <- matrix(1/J, nrow = J, ncol = J)b <- list(lambda=c(1,3,6))model = hmmspec(init=initial, trans=P, parms.emission=b,dens.emission=dpois.hsmm)

在我的情况下,我没有发射分布参数的初始值,这是我想估计的。该怎么做呢?

其次:如果我只有观测值,我如何将它们传递给

h1 = hmmfit(list_of_observations, model ,mstep=mstep.pois)

以便获得训练后的模型?在示例中,list_of_observations包含一个状态向量、一个观测值向量和一个观测序列长度向量,通常通过模型的模拟获得:

list_of_observations = simulate(model, N, rand.emis = rpois.hsmm)

编辑:我找到了一个旧问题,答案部分解决了我的问题:MHSMM包在R中的输入格式?这两行代码解决了问题:

train <- list(x = data.df$sequences, N = N)class(train) <- "hsmm.data"

其中data.df$sequences是包含所有观测序列的数组,N是包含每个序列的观测数量的数组。尽管如此,初始模型完全是随机的,但我猜这就是它的本意,因为它将被重新估计,对吗?


回答:

初始化问题不仅对隐马尔可夫模型和隐半马尔可夫模型很关键,对所有基于期望最大化算法形式的学习方法都很关键。EM算法在模型与数据的似然性方面收敛到局部最优,但这并不总是保证达到全局最优。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注