概述
结构化学习(Structured Learning)
概率图模型属于结构化学习的一种,把 F(x,y) F ( x , y ) 换成了概率。
结构化学习中有三个问题:
概率图模型(Graphical Model)
隐马尔科夫模型(Hidden Markov Model)
简介
【定义】
HMM(Hidden Markov Model)是一个概率模型,用来描述一个系统隐藏状态的转移概率和观测状态(隐藏状态的表现)的发射概率。
HMM是关于时序的概率模型,描述由一个隐藏的马尔科夫链生成不可观测的状态随机序列,再由各个状态生成观测随机序列的过程.
Hidden
:说明状态的不可见性,即隐藏状态。Markov
:说明状态和状态之间是Markov Chain。
Markov Chain服从Markov性质——无记忆性:任一时刻的状态只依赖于前一时刻,而不受更往前时刻的状态的影响。
隐藏状态
:指一些外界不便于观察(或观察不到)的状态。观测状态
:指可以观察到的,由隐藏状态产生的外在表现特点。
【五个要素】
- 观测状态
- 隐藏状态
- 初始概率
- 转移概率
- 发射概率
注:概率都可以用矩阵表示出
【三个假设】
- 齐次马尔可夫假设:又叫一阶马尔可夫假设,即任意时刻的状态只依赖前一时刻的状态,与其他时刻无关。
- 观测独立性假设:任意时刻的观测只依赖于该时刻的状态,与其他状态无关。
- 参数不变性假设:五个要素不随时间的变化而改变,即在整个训练过程中一直保持不变。
【三个问题】
Scoring(概率计算问题)
- 问题描述:在已知模型参数和观测序列的条件下,求给定观测序列出现的概率。即得到概率公式。
- 解决算法
暴力算法:O( T∗NT T ∗ N T )
I的遍历个数为 NT N T ,加和符号中有 2T 2 T ,T是观测状态的数目
前向算法:O( T∗N2 T ∗ N 2 )
后向算法:O( T∗N2 T ∗ N 2 )
Matching(Decoding):
问题描述:已知模型参数和观测序列,求观测序列对应的最可能的状态序列。即计算概率最大的状态序列。
解决算法
近似算法 → → 贪心思想 → → 局部最优
此算法思想是在观测O的前提下每个时刻t选择该时刻概率最大的状态。
维特比算法 → → 动态规划
Training:Baum-Welch算法
- 问题描述:已知观测序列,估计模型参数。
- 解决算法
- 监督学习算法
- 非监督学习算法:Baum-Welch算法(EM)算法
【资料】
原理
三个基本问题求解算法
概率计算问题
- 第一行是隐藏状态序列
- 第二行是观测状态序列
前向算法
【定义】
给定隐马尔科夫模型 λ λ ,当第t个时刻的状态为i时,前面的时刻分别观测到 y1,y2,...,yt y 1 , y 2 , . . . , y t 的概率称为前向概率。 αt(i)=P(y1,y2,...,yt,qt=i|λ) α t ( i ) = P ( y 1 , y 2 , . . . , y t , q t = i | λ ) 。
【输入输出】
- 输入:隐马尔科夫模型 λ λ ,观测序列 Y Y
- 输出:观测序列概率
【步骤】
初值
α1(i)=πibiy1i=1,2,...,N α 1 ( i ) = π i b i y 1 i = 1 , 2 , . . . , N
其中, π π 是初始状态概率向量, biy1 b i y 1 是观测概率矩阵(即发射概率矩阵) B B 的对应第i个隐藏状态观测到观测状态 的概率。递推
对于t=1,2,...,T−1αt+1(i)=(∑j=1Nαt(j)aji)biyt+1 对 于 t = 1 , 2 , . . . , T − 1 α t + 1 ( i ) = ( ∑ j = 1 N α t ( j ) a j i ) b i y t + 1
注:t+1时刻的前向概率 αt+1(i) α t + 1 ( i ) 的求法是:所有t时刻的隐藏状态转移到t+1时刻的隐藏状态的概率之和与t时刻的发射概率的乘积。解:
- t时刻的状态为j的前向概率是 αt(j) α t ( j ) ,现在时刻t状态为j的概率已知,乘上状态j转移到状态i的转移概率就是t+1时刻的状态为i的概率,即 αt(j)aji α t ( j ) a j i
- 由状态到观测,乘上状态i得到观测 yt+1 y t + 1 的概率 biyt+1 b i y t + 1
最终
P(Y|λ)=∑i=1NαT(i) P ( Y | λ ) = ∑ i = 1 N α T ( i )
注:- 如果令前向概率中的t=T,即 αi(T)=P(y1,y