HMM
马尔可夫链:离散时间马尔可夫链,是状态空间中经过从一个这状态到另一个状态的转换的随机过程。
该过程要求具备“无记忆”的性质:下一状态的概率分布只能由当前状态决定,在时间序列中它前面的时间均与之无关。这种特定类型的“无记忆性”称为马尔可夫性质。
下一刻状态如果只由当前状态决定,就叫一阶马尔可夫,如果由当前和前一刻,那就叫二阶,同理。所以有m阶马尔可夫链。
隐马尔科夫例子:
一个东京的朋友每天根据天气{下雨,天晴}决定当天的活动{公园散步,购物,清理房间}中的一种,我每天只能在twitter上看到她发的推“啊,我前天公园散步、昨天购物、今天清理房间了!”,那么我可以根据她发的推特推断东京这三天的天气。在这个例子里,显状态是活动,隐状态是天气。
对应上面的三个问题:
- 已知整个模型,我观测到连续三天做的事情是:散步,购物,收拾,我想猜,这三天的天气是怎么样的。
- 已知整个模型,我观测到连续三天做的事情是:散步,购物,收拾。那么根据模型,计算产生这些行为的概率是多少。
- 最复杂的,我只知道这三天做了这三件事儿,而其他什么信息都没有。我得建立一个模型,晴雨转换概率,第一天天气情况的概率分布,根据天气情况选择做某事的概率分布。
隐马尔科夫链的解法:
问题一:Viterbi Algo,维特比算法。
问题二:Forword Algorithm,向前算法,或者 Backward Algorithm,向后算法。
问题三:Baum-Welch Algo,鲍姆-韦尔奇算法