我们可以通过HMM进行监督学习吗?



我相信我理解HMM的核心。通过HMM,我们解决评估(发射序列的概率(,解码(最可能的隐藏序列(和学习问题(从观察到的发射序列集学习转换和发射概率矩阵(。

我的问题与学习问题有关。我有发射序列,但除此之外,我也有每个序列的相关特征(意味着隐藏状态值,但隐藏状态的数量未知(。就像在HMM的学习问题中一样,我们估计隐藏序列(大小和概率矩阵(,为此我们只需要发射序列(如果事先不知道隐藏序列的大小,可以优化(。

我正在使用HMM库进行计算。当然,它没有 我想要的选项。

import numpy as np
import pandas as pd
from hmmlearn import hmm
filenames =  [f for f in os.listdir(dir_path) if '.csv' in f.lower()]
d1 = pd.read_csv(dir_path + filenames[0]).as_matrix() # Shape = [m, 3] => first two column is featute and last is the emission-state 
d2 = pd.read_csv(dir_path + filenames[1]).as_matrix() # Shape = [m, 3]

##
remodel = hmm.GaussianHMM(n_components=4, covariance_type="full", n_iter=100)
remodel.fit(d1[:, 0:2])  # Problem would have been solved if there was supervised option to pass the states as well 
pred_1 = remodel.predict(d1[:, 0:2])
true_1 = d1[:, -1] # Last column is state of the feature in 1, 2 column.
pred_2 = remodel.predict(d2[:, 0:2])
true_2 = d2[:, -1]

有没有办法在HMM中进行监督学习,如果是,那么如何?如果没有,那么我仍然可以使用 HMM 解决我的问题吗?如果可能,那怎么做?

hmmlearn没有实现监督学习(hmmlearn#109(。

seqlearn库实现了受监督的HMM,但似乎没有实现GMM。

然而,图书馆石榴似乎实现了具有高斯混合模型的监督隐马尔可夫模型。像这样:

import pomegranate as pg
X = ...
y = ...
distribution = pg.MultivariateGaussianDistribution
model = pg.HiddenMarkovModel.from_samples(distribution, n_components=5, X=X, labels=y, algorithm='labeled')

相关内容

  • 没有找到相关文章

最新更新