一. Viterbi 演算法
因为若要一条条计算每个path的话会花许多时间,利用Dynamic Programming的方法通常会先将前一次状态的结果存起来,再计算下一个状态时,再将前一个状态的结果取出来,可以降低时间复杂度。那如何保留前一个状态的结果,下面我以前一篇的天气当例子,当水草当天都为Dry时,哪种天气组合的机率最大例子:
假设我们有HMM需要的三种矩阵:
初始状态:
计算第二个Dry上半部分的状态:
计算第二个Dry下半部分的状态:
计算第三个Dry上半部分的状态:
计算第三个Dry下半部分的状态:
最後状态回如下图:
然後就完成了~~
上面的式子算到後面真的有点乱掉QQ~如果有觉得哪里算得很怪可以再跟我说,我有空会看~
这边也附上一个参考资讯[1],写的真的非常详细~也可以参考一下
明天将会利用python实现HMM+Viterbi 演算法来处理POS的任务~~
参考资讯
[1] Viterbi Algorithm
<<: Day 07:「金鱼模仿游戏~」- 用 Tailwind 来对齐内容
>>: Day 3: 我不想知道的太多,以免被连累.单一职责与最小知道原则
今天要学习的依然是 node.js 的core modules (就是内建的模组啦),主角是:fs ...
还记得我们在学习条件判断时写过两数相除的程序吗?那时候遇到除数为 0 时,我们是使用 if 来判断,...
像gunicorn 及docker 有着执行时timeout的防止错误发生的机制, 但是要是超过了 ...
2013年由Spike Jonze执导,《云端情人》作为科幻取向的作品, 意外有别於总是导致灾难毁灭...
上一篇我们的基因体时代-AI, Data和生物资讯 Day27-进阶人工智慧在分子生物学之应用又是明...