机器学习算法之隐马尔科夫模型

01 隐马尔科夫模型简介

隐马尔科夫模型是关于时序的概率模型,描述由一个隐藏的马尔科夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测而产生观测序列的过程。隐藏的马尔科夫链随机生成的状态的序列,称为状态序列;每个状态生成一个观测,而由此产生的观测的随机序列,称为观测序列。马尔科夫链由初始概率分布、状态转移概率分布以及观测概率分布确定,其表达式为:

其中,A表示状态转移概率分布,B表示观测概率分布,π表示初始概率分布。

02 隐马尔科夫模型举例

为了让读者更直观地了解马尔科夫模型,本文将针对经典的盒子与球模型展开分析。假设有装有红白两种颜色球的盒子如下所示:

若开始时以等概率随机选择一个盒子,并从该盒子中随机取出一个球,记录其颜色且放回该球。且规定盒子之间的转移规则如下:

该规则表示:若当前的状态为盒子a,那么接下来必然在盒子b中随机取球;若当前的状态为盒子b,那么接下来在盒子a中随机取球的概率为0.4,在盒子c中取球的概率为0.6;若当前的状态为盒子c,那么接下来在盒子b中随机取球的概率为0.4,在盒子d中取球的概率为0.6;若当前的状态为盒子d,那么接下来在盒子c中随机取球的概率为0.5,在盒子d中取球的概率为0.5.由此可以得到盒子之间的转移矩阵为:

且由于已知a、b、c、d各个盒子中红白球的个数,故本例中的观测矩阵为:

又因为在初始状态以等概率取球,所以初始概率分布为:

综上所述,当已知观测序列时,如O=,我们可以通过维特比等算法求出最有可能的状态序列I*,该过程即为隐马尔科夫的解码问题。

03 思考与提高

隐马尔科夫模型的解码问题实际为已知一个数据序列求另一个数据序列的问题,该过程在机器视觉领域极其常见。另外,熟知隐马尔科夫模型对学习深度学习中的长短期记忆网络有着巨大的帮助。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180524G1ME3L00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券