Algorithm Viterbi训练或Baum-Welch算法来估计跃迁和发射概率?

Algorithm Viterbi训练或Baum-Welch算法来估计跃迁和发射概率?,algorithm,hidden-markov-models,viterbi,expectation-maximization,Algorithm,Hidden Markov Models,Viterbi,Expectation Maximization,我试图使用维特比算法在HMM上找到最可能的路径(即一系列状态)。 然而,我不知道转换矩阵和发射矩阵,我需要根据观察结果(数据)进行估计 要估计这些矩阵,我应该使用哪种算法:Baum-Welch算法还是Viterbi训练算法?为什么? 如果我应该使用维特比训练算法,谁能给我提供一个好的伪码(不容易找到)?如果有足够的资源,你可能应该使用Baum-Welch(前向-后向)算法而不是维特比训练算法(也称为分段k-均值算法),这是一个替代的参数估计过程,为了计算效率牺牲了Baum-Welch的一些通用性

我试图使用维特比算法在HMM上找到最可能的路径(即一系列状态)。 然而,我不知道转换矩阵和发射矩阵,我需要根据观察结果(数据)进行估计

要估计这些矩阵,我应该使用哪种算法:Baum-Welch算法还是Viterbi训练算法?为什么?


如果我应该使用维特比训练算法,谁能给我提供一个好的伪码(不容易找到)?

如果有足够的资源,你可能应该使用Baum-Welch(前向-后向)算法而不是维特比训练算法(也称为分段k-均值算法),这是一个替代的参数估计过程,为了计算效率牺牲了Baum-Welch的一些通用性。一般来说,Baum-Welch算法将给出导致更好性能的参数,尽管在某些情况下这是一个不错的选择

此外,请注意,您应该使用Baum-Welch算法来估计模型的参数。这将使用类似于EM算法的方法设置发射概率和传输概率。训练完HMM后,您将使用Viterbi解码算法来计算可能产生您的观察结果的最可能的状态序列



参考方面,我建议,或者你必须通过baum-welch算法来找出隐马尔可夫模型参数。baum-welch使用前向和后向算法找出hmm参数

我有一个python中baum welch算法代码的链接,请检查一下:

来自:

与鲍姆·韦尔奇相比,维特比培训:

  • 快得多
  • 但效果不太好
  • 但这种权衡往往是值得的
一些比较研究:

  • 罗德里格斯、路易斯·哈维尔和伊内斯·托雷斯。“,”伊比利亚模式识别和图像分析会议,第847-857页。施普林格柏林海德堡,2003年

    • (特别是,请参见结论部分)
在统计堆栈交换上询问了相同的问题: