更高更妙的统计学习方法——隐马尔科夫模型(A)

举报
就挺突然 发表于 2020/11/13 15:31:14 2020/11/13
【摘要】 引言隐马尔科夫模型(Hidden Markov Model,以下简称HMM)是一种经典的机器学习模型,是可用于标注问题的统计学模型,描述由隐藏的马尔科夫链随机生成观测序列的过程,属于生成模型,它在语言识别,自然语言处理,模式识别等领域得到广泛的应用。随着深度学习的兴起,如RNN类神经网络可以一定程度的解决HMM模型所解决的问题,HMM在一些问题上已不再是首选算法,但是作为一个经典的模型,学习...

引言


隐马尔科夫模型(Hidden Markov Model,以下简称HMM)是一种经典的机器学习模型,是可用于标注问题的统计学模型,描述由隐藏的马尔科夫链随机生成观测序列的过程,属于生成模型,它在语言识别,自然语言处理,模式识别等领域得到广泛的应用。随着深度学习的兴起,如RNN类神经网络可以一定程度的解决HMM模型所解决的问题,HMM在一些问题上已不再是首选算法,但是作为一个经典的模型,学习HMM的模型算法,对提高我们的建模能力以及算法思路有一定的帮助。


在了解HMM模型之前,我们先需要了解什么样的问题(场景)需要使用HMM模型。使用HMM模型时我们的问题一般有这两个特征:


  • 我们的问题是基于序列的,比如时间序列,或者状态序列。


  • 我们的问题中有两类数据,一类序列数据是可以观测到的,即观测序列;而另一类数据是不能观察到的,即隐藏状态序列,简称状态序列。


有了这两个特征,那么这个问题一般可以用HMM模型来尝试解决。举个例子,假设你有一个住得很远的朋友,他每天跟你打电话告诉你他那天做了什么。你的朋友仅仅对三种活动感兴趣:公园散步,购物以及清理房间。他选择做什么事情只凭天气。你对于他所住的地方的天气情况并不了解,但是你知道总的趋势。在他告诉你每天所做的事情基础上,你想要猜测他所在地的天气情况。


你认为天气的运行就像一个马尔可夫链。其有两个状态“雨”和“晴”,但是你无法直接观察它们,也就是说,它们对于你是隐藏的。每天,你的朋友有一定的概率进行下列活动:“散步”、“购物”、“清理”。因为你朋友告诉你他的活动,所以这些活动就是你的观察数据。这整个系统就是一个隐马尔可夫模型(HMM)。



马尔科夫过程


想要了解隐马尔科夫模型,第一步需要先了解马尔科夫过程。


在概率论及统计学中,马尔可夫过程(Markov process)是一个具备了马尔可夫性质的随机过程,因为俄国数学家安德雷·马尔可夫得名。马尔可夫过程是不具备记忆特质的。换言之,马尔可夫过程的条件概率仅仅与系统的当前状态相关,而与它的过去历史或未来状态,都是独立、不相关的,即是变量X在n时刻的值):



时间和状态都离散的马尔可夫过程通常被称为马尔可夫链。


隐马尔科夫模型


隐马尔可夫模型是用来描述一个含有隐含未知参数的马尔可夫过程。其难点是从可观察的参数中确定该过程的隐含参数。然后利用这些参数来作进一步的分析,例如模式识别。在正常的马尔可夫模型中,状态对于观察者来说是直接可见的。这样状态的转换概率便是全部的参数。而在隐马尔可夫模型中,状态并不是直接可见的,但受状态影响的某些变量则是可见的。每一个状态在可能输出的符号上都有一概率分布。因此输出符号的序列能够透露出状态序列的一些信息。


HMM有两部分构成(如下图所示):


  • 马尔可夫链,描述隐含状态间的转移,产生状态序列,用隐含状态转移概率矩阵A和初始状态概率矩阵Π描述;

  • 观测随机过程,产生观察值序列,由观察概率矩阵B描述。

image.png

如上图所示,HMM的完整参数集合可以用一个五元组来表示image.png


  • N代表HMM的隐含状态的个数,用image.png表示 t 时刻所处的状态,image.png的取值范围为image.png,则状态序列记为image.png

  • M代表观察值的个数,用image.png表示t时刻的观察值,image.png的取值范围为image.png,则观察序列记为image.png

  • image.png代表初始化状态概率矩阵,即状态序列Q在初始时刻 t=1时所处的状态为image.png的概率:image.png


    image.png代表状态转移概率矩阵,当前时刻所处的状态image.png只与前一时刻所处的状态image.png有关,而与其他时刻的状态无关:

    image.png

  • image.png代表观察概率矩阵:

    image.png


马尔科夫模型的三个基本问题


  • 评估问题(概率计算问题)

    评估问题即为识别问题,在给定观察值序列O的条件下,对每个模型image.png计算产生当前观察值序列O的条件概率image.png,对比各个模型image.png的条件概率,概率最大的模型即认定为识别结果。


  • 学习问题

学习问题即HMM训练问题,给定样本的观察值序列O,对模型的参数不断地重估。通过迭代运算,对HMM模型的参数image.png不断调整,使得产生观察值序列O的概率image.png取得最大,即所求得的最优模型为image.png达到最大值时的image.png


  • 预测问题(解码问题)

解码问题是解决在给定模型
和观察值序列O的条件下,寻找最有可能产生观察值序O的隐含状态序列,即寻找最优的状态序列image.png以最好地解释观察值序列。



总结


本次博文介绍了隐马尔科夫模型的基本概念和其基本问题,之后的博文将陆续通过例子和实战更加深入介绍隐马尔科夫模型,敬请大家关注。




【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。