我使用HMMlearn模块生成一个带有高斯混合模型的HMM。
问题是,在将模型拟合到任何数据之前,我需要初始化每个混合分量的均值、方差和权重。
我该怎么做呢?
发布于 2016-05-01 18:41:37
来自HHMlean文档
每个HMM参数都有一个字符代码,可用于自定义其初始化和估计。EM算法需要一个起点来进行,因此在训练之前,每个参数都是随机的或根据数据计算出来的。可以连接到这个过程并显式地提供一个起点。这样做
下面是一个示例:
model = hmm.GaussianHMM(n_components=3, n_iter=100, init_params="t")
model.startprob_ = np.array([0.6, 0.3, 0.1])
model.means_ = np.array([[0.0, 0.0], [3.0, -3.0], [5.0, 10.0]])
model.covars_ = np.tile(np.identity(2), (3, 1, 1))初始化GMMHMM的另一个示例
model = hmm.GMMHMM(n_components=3, n_iter=100, init_params="smt")
model.gmms_ = [sklearn.mixture.GMM(),sklearn.mixture.GMM(),sklearn.mixture.GMM()]GMM本身可以使用其属性以非常类似的方式初始化,并在init_params字符串中提供,这些属性应该由构造函数初始化。
https://stackoverflow.com/questions/36970387
复制相似问题