概述
隐马尔可夫模型(Hidden Markov Model,HMM)是概率学上的一种统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。其难点是从可观察的参数中确定该过程的隐含参数。
HMM正常主要用来解决三类问题,这三类问题对应都有相关的算法。
*1 评估问题: 前向
算法
*2 解码问题: Viterbi算法
*3 学习问题: Baum-Welch算法(向前向后算法)
Mahout中居然还真的支持了这几种算法,于是进行下实验。
(1)按照mahout官方文档给的例子进行测试。(https://mahout.apache.org/users/classification/hidden-markov-models.html
首先定义一个输入:
$ echo "0 1 2 2 2 1 1 0 0 3 3 3 2 1 2 1 1 1 1 2 2 2 0 0 0 0 0 0 2 2 2 0 0 0 0 0 0 2 2 2 3 3 3 3 3 3 2 3 2 3 2 3 2 1 3 0 0 0 1 0 1 0 2 1 2 1 2 1 2 3 3 3 3 2 2 3 2 1 1 0" > hmm-input
然后进行Baum-Welch算法测试
$ export MAHOUT_LOCAL=true $ $MAHOUT_HOME/bin/mahout baumwelch -i hmm-input -o hmm-model -nh 3 -no 4 -e .0001 -m 1000
最后返回预测的结果值:
$ $MAHOUT_HOME/bin/mahout hmmpredict -m hmm-model -o hmm-predictions -l 10
轻松试验成功,搞定。结果如图所示。
(2)进行mahout例子中的词性判断例子验证,其结果如图所示:
最后
以上就是矮小彩虹为你收集整理的Apache mahout中HMM(隐马尔可夫)算法的测试的全部内容,希望文章能够帮你解决Apache mahout中HMM(隐马尔可夫)算法的测试所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复