作者:CHEONG
公众号:AI机器学习与知识图谱
研究方向:自然语言处理与知识图谱
阅读本文之前,首先注意以下两点:
1、机器学习系列文章常含有大量公式推导证明,为了更好理解,文章在最开始会给出本文的重要结论,方便最快速度理解本文核心。需要进一步了解推导细节可继续往后看。
2、文中含有大量公式,若读者需要获取含公式原稿Word文档,可关注公众号后回复:
HMM第四讲
,本文针对一般的状态空间模型,介绍常探究的两大任务Learning问题和Inference问题。
对于一般的状态空间模型State Space Model,如下图所示,自然HMM模型也是包含在内:
一般需要探究的任务从整体上可以划分为两大类,
1、Learning问题,学习模型参数;
2、Inference问题,例如:求后验概率。
更加详细的划分参见下图:
在Inference问题下又细分出了五类问题,分别是Decoding、Prob of evidence、Filtering、Smoothing和Prediction问题。其中Prob of evidence即是HMM中介绍的Evaluation问题。
在HMM第二讲和第三讲中已经详细介绍过Inference下的Learning和Evaluation问题,请参考:
本文将简单介绍一下Deocding、Filtering、Smoothing和Prediction问题求解的大致思路,基本使用到的算法就是前向算法、后向算法和前向-后向算法等。
1、Decoding问题:已知观测序列
O
O
O
,求解使得
p
(
I
∣
O
,
λ
)
p(I|O,\lambda)
p
(
I
∣
O
,
λ
)
最大的隐状态序列
I
I
I
,公式表示为:
解决算法:Viterbi算法。属于动态规划算法,最主要求出递归式。
因此可以得出动态规划递归式为:
为了更好的理解上面递归式的得出,可以参考下图用来理解:
2、Filtering问题:已知观测序列
x
1
,
x
2
,
.
.
.
,
x
t
x_1,x_2,…,x_t
x
1
,
x
2
,
.
.
.
,
x
t
,求解概率
p
(
z
t
∣
x
1
,
x
2
,
.
.
.
,
x
t
)
p(z_t|x_1,x_2,…,x_t)
p
(
z
t
∣
x
1
,
x
2
,
.
.
.
,
x
t
)
,求解的推导过程如下:
其中
α
t
\alpha_t
α
t
在介绍HMM前向算法是引入的,还有一个在HMM后向算法中引入的
β
t
\beta_t
β
t
3、Smoothing问题:已知全部观测序列
x
1
,
x
2
,
.
.
.
,
x
t
x_1,x_2,…,x_t
x
1
,
x
2
,
.
.
.
,
x
t
,求解概率
p
(
z
t
∣
x
1
,
x
2
,
.
.
.
,
x
T
)
p(z_t|x_1,x_2,…,x_T)
p
(
z
t
∣
x
1
,
x
2
,
.
.
.
,
x
T
)
,求解的推导过程如下:
根据齐次马尔科夫假设:
因此:
Filtering问题常用于求解在线问题,观测数据是实时的
x
1
,
x
2
,
.
.
.
,
x
t
x_1,x_2,…,x_t
x
1
,
x
2
,
.
.
.
,
x
t
;而Smoothing问题常用于求解离线问题,已经获取的是全部的观测数据
x
1
,
x
2
,
.
.
.
,
x
T
x_1,x_2,…,x_T
x
1
,
x
2
,
.
.
.
,
x
T
。
4、Prediction问题:已知观测数据
x
1
,
x
2
,
.
.
.
,
x
t
x_1,x_2,…,x_t
x
1
,
x
2
,
.
.
.
,
x
t
,求解概率
p
(
z
t
+
1
∣
x
1
,
x
2
,
.
.
.
,
x
t
)
p(z_{t+1}|x_1,x_2,…,x_t)
p
(
z
t
+
1
∣
x
1
,
x
2
,
.
.
.
,
x
t
)
、
p
(
x
t
+
1
∣
x
1
,
x
2
,
.
.
.
,
x
t
)
p(x_{t+1}|x_1,x_2,…,x_t)
p
(
x
t
+
1
∣
x
1
,
x
2
,
.
.
.
,
x
t
)
,求解的推导过程如下:
根据观测独立假设:
其中
p
(
z
t
∣
x
1
,
x
2
,
.
.
.
,
x
t
)
p(z_{t}|x_1,x_2,…,x_t)
p
(
z
t
∣
x
1
,
x
2
,
.
.
.
,
x
t
)
便是Filtering问题求解的结果,这样便求出了
p
(
z
t
+
1
∣
x
1
,
x
2
,
.
.
.
,
x
t
)
p(z_{t+1}|x_1,x_2,…,x_t)
p
(
z
t
+
1
∣
x
1
,
x
2
,
.
.
.
,
x
t
)
,而对于预测问题
p
(
x
t
+
1
∣
x
1
,
x
2
,
.
.
.
,
x
t
)
p(x_{t+1}|x_1,x_2,…,x_t)
p
(
x
t
+
1
∣
x
1
,
x
2
,
.
.
.
,
x
t
)
,推导如下:
根据观测独立假设:
其中
p
(
z
t
+
1
∣
x
1
,
x
2
,
.
.
.
,
x
t
)
p(z_{t+1}|x_1,x_2,…,x_t)
p
(
z
t
+
1
∣
x
1
,
x
2
,
.
.
.
,
x
t
)
在上面已经求出,因此便可顺利求出
p
(
x
t
+
1
∣
x
1
,
x
2
,
.
.
.
,
x
t
)
p(x_{t+1}|x_1,x_2,…,x_t)
p
(
x
t
+
1
∣
x
1
,
x
2
,
.
.
.
,
x
t
)
参考视频资料:【机器学习】【白板推导系列】 作者:shuhuai008
参考书籍资料:Pattern Recognition and Machine Learning 作者:[Christopher Bishop]
三、往期精彩
【知识图谱系列】探索DeepGNN中Over-Smoothing问题
【知识图谱系列】知识图谱表示学习综述 | 近30篇优秀论文串讲
【知识图谱系列】动态知识图谱表示学习综述 | 十篇优秀论文导读
Transformer模型细节理解及Tensorflow实现
GPT,GPT2,Bert,Transformer-XL,XLNet论文阅读速递
Word2vec, Fasttext, Glove, Elmo, Bert, Flair训练词向量教程+数据+源码
原稿获取请关注公众号后回复:
HMM第四讲
,原创不易,有用就点个赞呀!