【问题标题】:Scikit Learn Gaussian HMM: ValueError: startprob must sum to 1.0Scikit Learn Gaussian HMM: ValueError: startprob must sum to 1.0
【发布时间】:2013-09-18 18:02:44
【问题描述】:

我目前正在使用 Scikit Learn,并且在尝试训练高斯 HMM 时遇到了以下问题:

文件“/Library/Python/2.7/site-packages/sklearn/hmm.py”,第 443 行,适合

self._do_mstep(stats, self.params)

文件“/Library/Python/2.7/site-packages/sklearn/hmm.py”,第 798 行,在 _do_mstep

super(GaussianHMM, self)._do_mstep(stats, params)

文件“/Library/Python/2.7/site-packages/sklearn/hmm.py”,第 580 行,在 _do_mstep 中

np.maximum(self.startprob_prior - 1.0 + stats['start'], 1e-20))

文件“/Library/Python/2.7/site-packages/sklearn/hmm.py”,第 476 行,在 _set_startprob 中

raise ValueError('startprob must sum to 1.0')

ValueError: startprob 总和必须为 1.0

如果我消除一些特征(每次观察少于 13 个特征),它仍然有效。我检查了所有输入是否有效,并且每个训练示例仅包含 numpy.float64 的二维数组。关于出了什么问题的任何想法? 谢谢!

【问题讨论】:

  • 你在高斯初始化中使用了哪些参数?

标签: python python-2.7 numpy scikit-learn hidden-markov-models


【解决方案1】:

我遇到了同样的问题。我可以通过调整模型隐藏状态的数量来解决它。看来,根据可用数据和状态数,模型无法正确拟合

【讨论】:

    【解决方案2】:

    模型只是无法拟合数据。你可以通过一些代码来继续尝试。您可能需要添加一点以使其在多次尝试后停止。如果这仍然不起作用,请更改隐藏状态的数量。

    while True:
      try:
        model.fit([data])
        break
    

    【讨论】:

      【解决方案3】:

      我在使用 GaussianHMM 时遇到了同样的问题。我发现问题出在我给分类器提供整数值而它需要浮点值的事实。当我意识到 MultinomialHMM 只接受连续值时,我尝试使用浮点数,并且它有效!

      【讨论】:

        【解决方案4】:

        我通过将 params 属性设置为训练集中所有唯一值的集合来解决此问题。

        param=set(train.ravel())
        model=hmm.GaussianHMM(n_components=6, covariance_type="full", n_iter=100,params=param)
        

        train 是我用来拟合模型的 numpy 数组列表。

        初始参数设置为所有ascii字符的字符串。

        【讨论】:

          【解决方案5】:

          hmmlearn 包似乎存在一些问题。以下对我有用

          • 卸载pip版本的hmmlearn:pip uninstall hmmlearn
          • here获取hmmlearn的源码。
          • herehere 中删除-1.0
          • 使用python setup.py install安装

          这应该可行。 hmmlearn 提出了一个问题,但没有得到必要的关注。 link

          学分 - https://github.com/wblgers/hmm_speech_recognition_demo

          【讨论】:

            猜你喜欢
            • 2017-12-23
            • 2020-05-31
            • 1970-01-01
            • 2020-02-01
            • 2017-08-25
            • 2021-06-25
            • 2019-04-20
            • 2018-05-05
            相关资源
            最近更新 更多