HMM(隐马尔科夫模型)

一、定义

HMM(隐马尔科夫模型)_第1张图片

从定义可以看出,隐马尔可夫模型做了两个基本假设

HMM(隐马尔科夫模型)_第2张图片

二、 隐马尔可夫模型的三要素:初始状态概率矩阵\pi、状态转移概率矩阵A、观测概率矩阵 B

HMM(隐马尔科夫模型)_第3张图片

HMM(隐马尔科夫模型)_第4张图片

 三、隐马尔科夫的3个基本问题

HMM(隐马尔科夫模型)_第5张图片

 3.1  概率计算算法

3.1.1 直接计算法-------理论上可行,但计算量过大,而不可行

HMM(隐马尔科夫模型)_第6张图片

3.1.2 前向算法

首先,定义前向概率:

对于隐马尔可夫模型\lambda, 观测序列O,输出P(O|\lambda)的前向推导过程:

HMM(隐马尔科夫模型)_第7张图片

 第三步的推导过程:

P(O|\lambda ) = P(o_{1},o_{2},...,o_{T}|\lambda )=P(o_{1},o_{2},...,o_{T},i_{T}=q_{1}|\lambda )+P(o_{1},o_{2},...,o_{T},i_{T}=q_{2}|\lambda )+...+P(o_{1},o_{2},...,o_{T},i_{T}=q_{}|\lambda )

HMM(隐马尔科夫模型)_第8张图片

3.1.3 后向算法

首先,定义后向概率:

HMM(隐马尔科夫模型)_第9张图片

推导过程:

HMM(隐马尔科夫模型)_第10张图片

HMM(隐马尔科夫模型)_第11张图片

 3.2 学习算法

ps:个人理解,其实就是对模型参数的估计,对于HMM而言,本质上就是要对厨师状态概率、转移概率和观测概率的估计

学习算法主要分为两种,一种是监督学习算法,一种是非监督学习算法(Baum-Welch算法)

3.2.1 监督学习算法

监督学习算法往往需要

HMM(隐马尔科夫模型)_第12张图片

HMM(隐马尔科夫模型)_第13张图片

3.2.2 非监督学习算法------Baum-Welch算法

HMM(隐马尔科夫模型)_第14张图片

EM算法在此不复述,后续会单独以一章节单独介绍。

3.3  预测算法

预测算法有两种,一种是近似算法,一种是维特比算法,接下来着重介绍维特比算法!!!

3.3.1 维特比算法

维特比算法其实就是一种动态规划求解最优路径(概率最大路径)的算法,可概括为以下三点:

1、如果概率最大的路径经过某点,则从开始点到该点的子路径也一定是从开始到该点路径中概率最大的。
2、假定第i时刻有k个状态,从开始到i时刻的k个状态有k条最短路径,而最终的最短路径必然经过其中的一条。
3、根据上述性质,在计算第i+1状态的最短路径时,只需要考虑从开始到当前的k个状态值的最短路径和当前状态值到第i+1状态值的最短路径即可,如求t=3时的最短路径,等于求t=2时的所有状态结点的最短路径加上t=2到t=3的各节点的最短路径。
HMM(隐马尔科夫模型)_第15张图片

HMM(隐马尔科夫模型)_第16张图片

 

你可能感兴趣的:(nlp)