【转载】理工渣眼中的HMM及安全应用
来源:互联网 发布:Mac osx java开发 编辑:程序博客网 时间:2024/05/20 18:42
话说,又到了盼星星盼月亮才等来的周末,结果由于强网杯又给糟蹋了。
比赛实在是被虐的受不了了,于是“点子扎手,风紧扯呼”了~
去91RI逛了一圈,发现了一篇讲HMM不错的文章,记录下来学习学习。
原文地址:http://www.91ri.org/12659.html
----------------------------------------------------------------我是华丽丽的分割线---------------------------------------------------------------------
状态转移矩阵A:
发射矩阵B:
一个HMM模型就由上面描述的隐藏状态数N,观测状态数M,初始隐状态向量pi,状态转移矩阵A,混淆矩阵B五个要素组成。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
现在男主小明开始做任务了,我们用现成的工具mahout来示例
查了Mahout的中文意思——驭象的人,再看看Mahout的logo,好吧,想和小黄象happy地玩耍,得顺便陪陪这位驭象人耍耍了...
安装指南(仅介绍local版)
wget http://archive.apache.org/dist/mahout/0.9/mahout-distribution-0.9.tar.gz cd mahout-distribution-0.9/ vim bin/mahout
修改
MAHOUT_JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64 (修改为你自己的java所在地址) MAHOUT_LOCAL=true
任务一:学习(本例中根据女主吃的食物序列,推断一个合适的HMM模型)
echo "0 1 2 2 2 1 1 0 0 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 1 1 1 1 2 2 2 2 2 0 2 1 2 0 2 1 2 1 1 0 0 0 1 0 1 0 2 1 2 1 2 1 2 1 1 0 0 2 2 0 2 1 1 0" >> hmm-input2.输入观测序列后,开始生成HMM模型
bin/mahout baumwelch -i hmm-input(观测序列文件) -o hmm-model(hmm模型文件) -nh 3(隐状态数) -no 3(观测状态数) -e .0001 -m 103.观察结果
Initial probabilities:初始隐状态向量pi
0 1 2
0.062295949769082204 0.22250521455286396 0.7151988356780538
Transition matrix:状态转移矩阵A:
0 1 2
0 0.3765444789556002 0.5583673988903969 0.06508812215400292
1 0.3759312048603327 0.2560959620304218 0.36797283310924545
2 0.5383787685979908 0.24752553248847228 0.21409569891353694
Emission matrix:发射矩阵
0 1 2
0 0.4419117509334424 0.3106990713267408 0.2473891777398168
1 0.20948851558479514 0.2830936761513362 0.5074178082638686
2 0.34341499252552676 0.40310175949497634 0.2534832479794969
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
bin/mahout hmmpredict -m hmm-model(hmm模型文件) -o hmm-predictions (预测结果文件)-l 10(预测多少个后续观测状态)我们看结果
more hmm-predictions 2 2 0 0 1 2 1 2 2 1预测女主后续会吃的东西依次为 :啤酒,啤酒,汉堡,汉堡,西瓜,啤酒,西瓜,啤酒,啤酒、西瓜
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
echo "2 2 0 0 1 2 1 2 2 1" >> hmm-viterbi-input
判断观测状态序列对应的隐状态序列
bin/mahout viterbi -i hmm-viterbi-input -o hmm-viterbi-output -m hmm-model -l我们看结果
more hmm-viterbi-output 2 1 2 0 0 1 2 0 1 2可以看到女主
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- 【转载】理工渣眼中的HMM及安全应用
- HMM隐Markov模型的原理及应用建模
- 我眼中的信息安全
- 我眼中的指针(转载)
- 外国人眼中的中国军力(转载)
- HMM的介绍及实现
- 转载 基于HMM模型的词性标注
- 黑客眼中安全防范的“四大利器”
- 程序员眼中的UML(转载)
- 转载:程序员眼中好的简历
- [转载]我眼中的Common Lisp
- [转载]一名侵华日军眼中的地雷战
- 转载"我眼中的百度QA"
- 隐马尔科夫模型HMM的介绍以及应用
- libtool的作用及应用[转载]
- libtool的作用及应用 (转载)
- 《 安全测试的考虑点及测试方法 》转载
- HMM转载系列
- HDU 2021 发工资咯
- Sicily 14513 Aaah!
- 第12周项目3-日期时间类
- c#基础知识——05
- STL容器之bitset
- 【转载】理工渣眼中的HMM及安全应用
- eclipse在.java文件中调用xml文件中元素出错
- 设计包含min函数的栈。
- 小火箭案例
- 第12周项目4 - 点、圆的关系
- C++ 数据结构 双链表(模板类)
- 第13周上机实践项目1——动物这样叫
- Auto Layout 使用心得(五)—— 根据文字、图片自动计算 UITableViewCell 高度
- 安装pip,安装kazoo和一个简单例子