我目前正在使用Scikit Learn,在尝试训练高斯HMM时遇到了以下问题。
File "C:\Python27\lib\site-packages\sklearn\hmm.py", line 476, in _set_startprob
raise ValueError('startprob must sum to 1.0')
ValueError: startprob must sum to 1.0当像这样运行函数时:
model = GaussianHMM(n_components=5, covariance_type="diag", n_iter=1000,
means_prior=means_prior, means_weight=0.5)这大约工作1/10次没有错误,但9/10次,抛出错误。减少组件的数量增加了无错误工作的可能性。
我还试图强制startprob执行startprob=[0.20, 0.20, 0.20, 0.20, 0.20],但没有增加任何运气。
我还使用了print model.startprob_来确保startprob是[0.20, 0.20, 0.20, 0.20, 0.20]。
你知道问题出在哪里吗?
在进阶时谢谢。
发布于 2014-07-05 17:47:51
我也有同样的问题。我认为这取决于输入序列的数量。如果我有太少的序列来构建一个模型,我会得到这个错误,这是因为这个模型不够令人信服。你需要的组件越多,你需要的数据就越合适。但这只是我的假设。
https://stackoverflow.com/questions/20752746
复制相似问题