隐马尔可夫模型笔记

1. 定义

        隐马尔可夫模型是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态序列,再由各个状态随机生成一个观测而产生观测序列的过程。

        隐马尔可夫模型由初始概率向量(pai)、状态转移概率矩阵(A)以及观测概率矩阵(B)确定。状态转移概率矩阵(A)与初始状态概率向量(pai)确定了隐藏的马尔可夫链,生成不可观测的状态序列。观测概率矩阵(B)确定了如何从状态生成观测,与状态序列综合确定了如何产生观测序列。

        隐马尔可夫模型是一个生成模型,表示状态序列和观测序列的联合分布,但状态
序列是隐藏的,不可观测的。

2. 两个假设

隐马尔可夫模型的两个假设:

1. 齐次马尔可夫性假设:假设隐藏的马尔可夫链在任意时刻t的状态只依赖于其前一时刻的状态,与其他时刻的状态及观测无关,与时刻t也无关。
2. 观测独立性假设:假设任意时刻的观测只依赖于该时刻的马尔可夫链的状态,与其他观测及状态无关。

3. 隐马尔可夫模型的三个基本问题

3.1 概率计算问题

        给定模型lamda=(A,B,pai)和观测序列O,计算在模型lamda下观测序列O出现的概率P(O|lamda);

(1)直接计算
         计算量很大,不可行。
(2)前向算法
(3)后向算法

3.2 学习问题

        已知观测序列O,估计模型lamda=(A,B,pai)参数,使得在该模型下观测序列概率P最大,
即用极大似然估计的方法估计参数;

3.3 预测问题

        也称解码问题,已知模型lamda=(A,B,pai)和观测序列O,求对给定观测序列条件概率P最大
的状态序列I(即给定观测序列,求最有可能的对应的状态序列)。

4. 隐马尔可夫模型的学习

4.1  监督学习

         训练数据包括观测序列和对应的状态序列。

学习步骤:

(1)转移概率的估计

(2)观测概率的估计

(3)初始状态概率的估计


4.2 非监督学习

        训练数据只有观测序列。
Baum-Welch 算法(EM算法)

5. 隐马尔可夫模型的预测算法

5.1 近似算法

        在每个时刻选择在该时刻最有可能出现的状态,从而得到一个状态序列,作为预测结果。
近似算法计算简单,但不能保证预测的状态序列整体是最有可能的状态序列,因为预测的
状态序列可能有实际不发生的部分(可能存在转移概率为0的相邻状态)。

5.2 维特比算法

        用动态规划解隐马尔可夫模型预测问题,即用动态规划求概率最大路径(最优路径),这时
一条路径对应着一个状态序列。

6. 应用

        隐马尔可夫模型可以用于标注,这时状态对应着标记。
        标注问题是给定观测的序列预测其对应的标记序列。可以假设标注问题的数据是由隐马尔可夫模型生成的。这样可以利用隐马尔可夫模型的学习与预测算法进行标注。

你可能感兴趣的:(强化学习,笔记)