Algorithm Viterbi训练或Baum-Welch算法来估计跃迁和发射概率?
我试图使用维特比算法在HMM上找到最可能的路径(即一系列状态)。 然而,我不知道转换矩阵和发射矩阵,我需要根据观察结果(数据)进行估计 要估计这些矩阵,我应该使用哪种算法:Baum-Welch算法还是Viterbi训练算法?为什么?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的一些通用性
如果我应该使用维特比训练算法,谁能给我提供一个好的伪码(不容易找到)?如果有足够的资源,你可能应该使用Baum-Welch(前向-后向)算法而不是维特比训练算法(也称为分段k-均值算法),这是一个替代的参数估计过程,为了计算效率牺牲了Baum-Welch的一些通用性。一般来说,Baum-Welch算法将给出导致更好性能的参数,尽管在某些情况下这是一个不错的选择 此外,请注意,您应该使用Baum-Welch算法来估计模型的参数。这将使用类似于EM算法的方法设置发射概率和传输概率。训练完HMM后,您将使用Viterbi解码算法来计算可能产生您的观察结果的最可能的状态序列
参考方面,我建议,或者你必须通过baum-welch算法来找出隐马尔可夫模型参数。baum-welch使用前向和后向算法找出hmm参数 我有一个python中baum welch算法代码的链接,请检查一下: 来自: 与鲍姆·韦尔奇相比,维特比培训:
- 快得多
- 但效果不太好
- 但这种权衡往往是值得的
- 罗德里格斯、路易斯·哈维尔和伊内斯·托雷斯。“,”伊比利亚模式识别和图像分析会议,第847-857页。施普林格柏林海德堡,2003年
- (特别是,请参见结论部分)