Hidden Markov Model隐马尔可夫

隐马尔可夫模型或HMM是用于处理时间数据的最常见模型。 在数据科学访谈中,他们通常也以不同的方式出现,通常没有在其上写下HMM字样。 在这种情况下,有必要通过了解HMM的特征将问题识别为HMM问题。

在隐马尔可夫模型中,我们正在基于马尔可夫过程的假设构建推理模型。

这意味着将来状态与紧接的先前状态有关,而不与之前的状态有关。 这些是一阶HMM。

隐藏的是什么?
对于HMM,我们不知道哪个状态与哪些物理事件匹配,而是每个状态与给定的输出匹配。 我们随时间观察输出以确定状态顺序。

示例:如果您待在室内,您将以某种方式打扮。 可以说您想走出去。 根据天气的不同,您的衣服也会改变。 随着时间的流逝,如果您熟悉该地区/气候,您将观察天气并更好地判断穿什么衣服。 在HMM中,我们随时间观察输出,以根据输出产生该输出的可能性来确定顺序。
Hidden Markov Model隐马尔可夫
让我们考虑一下您在建筑物中时看不到外界的情况。 您知道外面是否正在下雨的唯一方法是,看到有人进来时带雨伞。在这里,证据变量是“雨伞”,而隐藏变量是“雨”。 请参见上图中的概率。
Hidden Markov Model隐马尔可夫
HMM表示
由于这是一个马尔可夫模型,因此R(t)仅取决于R(t-1)
给定模型的参数和一系列观测值(在我们的场景中为总体观测序列),许多相关任务询问一个或多个潜在变量的概率。 与该示例相关的某些任务也类似于数据科学访谈中的任务(请参阅此处的问题):

如果我最近三天看到有人打着伞,今天下雨的概率是多少? (推断类型-过滤)
如果我最近三天看到有人在撑伞,明天后天会下雨的概率是多少? (预测类型)
如果我最近三天看到有人打着伞,那么昨天下雨的概率是多少? (Hindsight类型-平滑)
如果我在过去的三天内看到有人打着伞,那么过去三天的天气如何? (序列类型-最有可能的解释)
Hidden Markov Model隐马尔可夫
马尔可夫链

让我们首先简要介绍一下马尔可夫链,这是一种随机过程。 我们从链的{S…,…,S f} 的一些“状态”开始;
例如,如果我们的链条代表每天的天气,则可以有{雪,雨,阳光}。 进程(X)应该是马尔可夫链的属性是:

Hidden Markov Model隐马尔可夫

换句话说,处于状态j的概率仅取决于先前的状态,而不取决于之前发生的情况。

马尔可夫链通常由具有转移概率的图描述,即从状态i迁移到状态j的概率,用pᵢ,ⱼ表示。 让我们看下面的例子:
Hidden Markov Model隐马尔可夫

链条具有三个状态。 例如,雪和雨之间的过渡概率为0.3,即-如果昨天下雪,今天有30%的机会会下雨。 转换概率可以总结为一个矩阵:
Hidden Markov Model隐马尔可夫
请注意,每行的总和等于1(请思考为什么)。 这样的矩阵称为随机矩阵。 (i,j)定义为pᵢ,ⱼ-i和j之间的转移概率。

事实:如果取矩阵的幂Pᵏ,则(i,j)项表示以k步从状态i到达状态j的概率。

在许多情况下,我们会得到一个初始概率向量q =(q₁,…,q)在时间t = 0时处于每种状态。 因此,在时间t处处于状态i的概率将等于向量Pᵏq的第i项。

例如,如果今天下雪,下雨和阳光的概率为0, 0.2 , 0.8,则其在100天内下雨的概率计算如下:
Hidden Markov Model隐马尔可夫

结果为0.44.

隐马尔可夫模型

在隐马尔可夫模型(HMM)中,我们有一个不可见的马尔可夫链(我们无法观察到),并且每个状态随机产生k个观察结果中的一个,这对我们是可见的。

让我们看一个例子。 假设我们从上面得到了马尔可夫链,具有三个状态(雪,雨和阳光),P-转移概率矩阵,q-初始概率。 这是看不见的马尔可夫链-假设我们在家并且看不到天气。 但是,我们可以感觉到房间内部的温度,并假设有两种可能的观察:冷热,其中:
Hidden Markov Model隐马尔可夫

作为第一个示例,我们应用HMM来计算连续两天感到寒冷的概率。 在这两天中,基础马尔可夫状态有3 * 3 = 9个选项。 让我们举例说明这9个选项之一的概率计算:
Hidden Markov Model隐马尔可夫

查找隐藏状态—维特比算法

在某些情况下,我们将获得一系列观察结果,并希望找到最可能的对应隐藏状态。

暴力解决方案将花费指数时间(如上述计算);一种更有效的方法称为维特比算法;它的主要思想如下:我们得到了一系列观察o1,…,on。对于每个状态i和t = 1,…,T,我们定义

Hidden Markov Model隐马尔可夫
也就是说,根据我们的观察,路径在时间t处在状态i处的最大概率。这里的主要观察结果是,根据马尔可夫性质,如果在时间t以i结尾的最可能路径等于在时间t-1处的某个i *,则i *是最可能路径的最后状态的值,即在时间t-1结束。这为我们提供了以下前向递归:
Hidden Markov Model隐马尔可夫
此处,αⱼ(o)表示当隐马尔可夫状态为j时具有o的概率。

优点

HMM是一个经过充分研究的概率图形模型,已知该模型可用于精确和近似的学习和推理
HMM能够通过概率分布来表示设备功率需求的方差
HMM捕获连续测量之间的相关性,如Hart所定义的那样,它是开关连续性原理

缺点

HMM使用有限数量的静态分布表示设备的行为,因此无法表示功率需求不断变化的设备
由于它们的马尔可夫性质,他们没有考虑导致任何给定状态的状态序列
再次,由于它们的马尔可夫性质,在给定状态下花费的时间没有明确记录。但是,隐藏的半马尔可夫模型确实捕获了这种行为
除了观察到的电力需求外,其他功能均无法捕获(例如,一天中的时间)。但是,输入输出HMM可以对此类状态持续时间进行建模
设备之间的任何依赖关系都无法表示。但是,条件HMM可以捕获此类依赖性