漳州新闻网

首页 > 正文

“简单易懂”?我们来解释隐马尔可夫模型

www.sytfyd.com2019-07-23

2019-07-11 20: 44

来源:哆嗒数学网

“容易明白”?让我们解释一下隐马尔可夫模型

本文从算法之美和数学微信公众号

开始

注意哆嗒数学网络每天获得更多的数学乐趣

1.赌场情况(背景介绍)

e9062832cb5e4e79a0e5dc19ea60024f.png

最近,赌场的老板发现业务不顺畅,所以他把手送到赌场环顾四周。在间谍的回归中,叔叔总能在赌场赢钱,而且他有一手好牌,几乎立于不败之地。每次我玩骰子时,都会有一些保镖站在周围,人们不清楚,他们只能看到每一个开始,蝎子飞出来,平静地摔倒。根据多年的经验,老板推测这位可怜的顾客使用了多年来失去的“被盗蝎子大法”。 (编者注:偷走了蝎子大法,并用口袋里的蝎子秘密改变了统一的蝎子)。老板是个冷静的人。看到这位叔叔不是一个好人,他不想轻易得罪他,他不希望他违反规则。他在他的脑海里。这时,一位名叫HMM的名人进来告诉老板他有一个好人。溶液

您不必亲近,只需将相机放在远处并记录每一轮的骰子数量。

然后,HMM人员将使用他们强大的数学内力从这些数据中获取

1.叔叔是千人吗?

如果是一千,那么他用了几个作弊的蝎子?以及它目前是否用作蝎子。

3.每个作弊蝎子在每个点出现的概率是多少?

天蝎座的老板听说,这个HMM甚至不是很接近,可以弄清楚是否是作弊,甚至可以弄明白其他人是在作弊。然后,只要他作弊,他派人去围捕他,当场验证盲人会让他说不出话来。

在让HMM进行调查之前,赌场老板还对HMM进行了调查。

HMM(隐马尔可夫模型),也称为隐性马尔可夫模型,是用于描述系统隐性状态的转移概率和隐性状态的性能概率的概率模型。

系统的隐含状态指的是不方便观察(或未观察到)的状态。例如,在当前示例中,系统的状态指的是叔叔使用骰子的状态,即

{普通侄子,作骰1,作弊2,}

隐性状态的表现也是隐性状态可以观察到的外在表现特征。这是骰子抛出的点数。

{1,2,3,4,5,6}

HMM模型将描述系统隐式状态的转移概率。也就是说,叔叔切换骰子的概率。下图是一个例子。此时,生动地描述了叔叔切换骰子的可能性。

a6da028590f34312b613d855e5199fe7.png

幸运的是,这样一个复杂的概率转移图可以用简单的矩阵表示,其中a_ {ij}表示从i状态到j状态的发生概率

ecabdfe2a7674f82b4d11b2b9c23fa41.png

当然,还会有隐藏状态显示转换的可能性。也就是说,骰子中每个点的概率分布(例如,作弊骰子1可以有90%的几率投掷六个,而作弊骰子2有85%的几率投掷'小')。在下面给出一张照片,

5e4d4c9d63004bcf81ba7c14ebb25d9f.png

隐性状态的概率分布也可以用矩阵768b752a4ea54640b7bbf965eb93b27d.png

精美地表示

总结这两件事是整个HMM模型。

该模型描述了隐性状态转变的概率,并描述了每个状态的外在行为概率的分布。简而言之,HMM模型可以描述欺骗蝎子叔叔的频率(蝎子替换的概率),以及叔叔使用的蝎子的概率分布。有了Uncle的HMM模型,你可以看到叔叔,让他出现在阳光下。

总结HMM可以处理三个问题

3.1解码(

解码是一系列骰子的问题,看看哪些骰子用于作弊,哪些骰子用于正常骰子。

c56ecf55a92842d8abc32c050df4bc72.png

例如,在上图中,给定一系列骰子序列(3,6,1,2 .)和Uncle的HMM模型,我们想要计算哪个骰子结果(隐性状态表示)可能是哪个骰子结果(隐性)状态)。

3.2学习(学习)

学习是学习叔叔从一系列骰子切换骰子的概率的继承,当然还有这些骰子点的分布概率。这是HMM最恐怖,最复杂的伎俩!

3.3估算(评估)

据估计,在我们已经知道Uncle的HMM模型的情况下,我们估计出一串骰子的概率。例如,在我们已经知道Uncle的HMM模型的情况下,我们可以直接估计Uncle将抛出10 6或8 1s的概率。

4.1估算

估算是最简单的技巧,如果我们知道Uncle的HMM模型,我们可以轻松估算它。

现在我们有了叔叔的状态转移概率矩阵A,B可以估算出来。例如,我们想知道叔叔在下一轮投掷10 6的概率是多少?如下:

7fe8123a3afb4ba5a515c49930e5f18e.png

这意味着在初始隐性状态(s0)为1时,即在开始时正常骰子的情况下,叔叔连续投掷10 6的概率。

现在问题很难。虽然我们知道HMM的转换概率和观察到的状态V {1: T},但我们不知道实际的隐性状态变化。

好吧,我们不知道隐性状态的变化,好吧,让我们假设一系列隐性状态,假设前五个叔叔使用正常骰子,后五个使用作弊骰子。

92d3b54de98942fa959724ced9101501.png

好吧,那么我们就可以计算出在这个隐式序列假设下投掷10 6的概率。

a1f5308ff67541f0a522fb26370182c7.png

这个概率实际上是隐性状态概率B的乘积。

e37ab161b4df43e187edd96bd25f4dd6.png

但问题又出现了。隐性状态的顺序就是我所假设的,但实际的顺序我不知道,我该怎么办?它很容易做到,并尝试可能出现的隐藏状态序列的所有组合。所以,

234d891752c1483c9d9c5fc0f08d1174.png

R是所有可能的隐性状态序列的集合。那么,现在问题似乎已经解决,我们已经能够通过尝试所有组合来获得事件的概率值,并且我们可以通过A,B矩阵计算出现的总概率。

但问题又出现了。可能的收藏太大了。例如,有三种骰子,有10种机会可供选择,那么总组合将是3 ^ 10倍.这个数量级O(c ^ T)太大。当问题稍大时,组合的数量将远大于计算。所以我们需要一种更有效的方法来计算P(V(1: T)概率。

例如,下面显示的算法可以将计算P(V1: T)的计算复杂度降低到O(cT)。

decc52a015ee47bd88321ec34b884705.png

利用这个等式,我们可以从t=0的情况推导出并总是得出P的概率(V1: T)。我们算一下计算。舅舅扔掉3号,2号和1号序列的可能性有多大(假设初始状态是1,也就是说,叔叔用来握住正常骰子)?

0dbae52af1b74c3fbc27184192f5a8ee.png

4.2解码(

解码过程是在给定序列序列的情况下找到最可能的隐性状态序列,并且在已知HMM模型的情况下。

c56ecf55a92842d8abc32c050df4bc72.png

它由数学公式表示,(V是可见可见序列,w是隐性状态序列,A,B是HMM状态转移概率矩阵)

e69a4d5efb0447da8feb558707d28c42.png

请记住以下公式,

ffae09e0951a410996949cb0fa14342c.png

然后,使用Estimate(4.1)中的正向推导方法,可以计算出最大值P(w(1: T),V(1: T))。

完成正向推导方法后,使用反向跟踪方法求解可以最大化P(w(1: T),V(1: T)的隐式序列。该算法称为维特比算法。

4.2.1维特比算法找到最可能的隐性序列

1b3bf8a74efb4187953f406fed49b590.png

3fb33df751e24676a2e75135c9a914de.png

这是一种动态编程算法。解决方案是一样的。找到递归方程后,使用正向推导解决方案。然后使用反向跟踪方法找到使方程达到最优解的组合。以下是计算骰子序列{1,2,6}最可能的隐性序列组合。 (初始状态是1=正常骰子,)

a13ffbd3db864f6cbe31fc6ee5292b1b.png

4.3学习(学习)

学习给出了HMM的结构(例如,假设你知道叔叔有3个骰子,每个骰子有6个面),并计算最可能的模型参数。

在假设HMM的结构之后,您可以使用EM(期望最大化)算法来最大化似然。这里的最大可能性是,

a813a1f46da248a9b69e2a1658267b60.png

我们要做的是找到最大化可能性的功能。所以这个问题转化为'最大似然估计问题(MLE)'。在估计MLE问题中的隐含参数时,我们需要使用EM算法。估计。因为它太复杂了,所以不会在这里介绍。

上面的例子是使用HMM来模拟和分析骰子。当然,HMM有许多经典应用,可以根据不同的应用需求对问题进行建模。

一块,

隐性国家的转移必须满足马尔科维。 (状态转换的马尔可夫属性:状态仅与先前的状态相关)

2.必须能够估计隐性状态。

在一个部分的情况下,确定问题中隐性状态是什么,以及隐藏状态可能具有什么。

HMM的问题在于真实状态(隐藏状态)难以估计,并且状态和状态之间存在联系。

5.1语音识别

语音识别的问题是将语音信号转换成单词序列的过程。在问题中

隐性状态是对应于:语音信号的文本序列

主导状态是:语音信号。

1423f12b777b4516a6f05d93b0b0aec4.png

学习HMM模型(学习):语音识别的模型学习不同于通过观察骰子序列最有可能建立的模型学习。 HMM模型学习语音识别有两个步骤。

1.统计单词的发音概率,建立隐性表现概率矩阵B

2.统计词之间转换的概率(此步骤不需要考虑语音,可以直接计算词之间的转换概率)。语音模型的估计(评估):计算'是十四','四十四的概率等,比较最可能的单词序列。

5.2手写识别

这类似于语音,除了手写识别的过程是将单词的图像视为主导序列。

5.3中国分词

“众所周知,在汉语中,单词和单词之间没有分隔符(英语中,单词用单词分隔,这是一个自然的分词标记),单词本身缺乏明显的形态标记。因此,中文信息处理的独特问题是如何将中文字符串划分为合理的字序。例如,英文句子:你现在应该去幼儿园自然空间已经划分了单词,只需删除介词“to”但是,“你现在应该去幼儿园”这个短语在表达相同含义时没有明显的分隔符。中文分词的目的是获得“你/现在/应该/去/幼儿园/”。那么你如何进行分词?主流方法有三种:第一类是基于语言知识的规则方法,如:各种形式的最大匹配和最小分割方法;第二类是基于大规模语料库的机器学习方法,这是当前的应用程序比较。广泛的解决方案,效果良好。使用的统计模型是N元语言模型,信道噪声模型,最大期望值,HMM等。第三类也是实用的。系统中使用的词,即集成的多类规则和统计方法。 “

5.4 HMM实现拼音输入法

拼音输入法是估计与要输入的文本(隐性状态)对应的拼音字母的过程(例如,'pingyin' - >拼音)。

关注哆嗒数学网,查看更多

仅提供信息存储空间服务。

骰子

概率

叔叔

序列

模型

阅读()

投诉

热门浏览
热门排行榜
热门标签
日期归档