我使用matlab的hmmtrain()来产生最终的状态转换和发射概率矩阵。
对于训练,我使用Baum-Welch算法,给出序列数据集的输入,以及A和B矩阵的初始猜测。
然而,由于数据稀疏性,我收到许多等于零的概率,这就是我需要执行平滑的原因,例如拉普拉斯平滑或其他。
我读到有hmmtrain(...,' Pseudoemissions' PSEUDOE)仅适用于Viterbi训练算法。我认为通过这个参数我可以实现拉普拉斯平滑,但不确定我是否可以将它应用于" Baum Welch训练"案件。 其次,我不确定应该如何应用它。在拉普拉斯或加一平滑的情况下,我应该将正数1添加到PSEUDOE矩阵的每个单元格中,还是我希望接收零概率的位置?
提前感谢您的帮助。