(《机器学习》完整版系列)第14章 概率图模型——14.1 隐马尔可夫模型HMM(状态变量(隐的)、观测变量(可见))
概率图模型是机器学习的一个重要分支,其基础理论涉及到图论和概率论
利用图来表达“变量关系”,在此模型下讨论变量的联合分布或条件分布,即是概率图模型。
常用概率图模型分类:
HMM的三个基本问题:观测序列
x
=
{
x
1
,
x
2
,
⋯
,
x
n
}
\boldsymbol{\mathrm{x}}=\{x_1,x_2,\cdots,x_n\}
x={x1,x2,⋯,xn}、状态序列
y
=
{
y
1
,
y
2
,
⋯
,
y
n
}
\boldsymbol{\mathrm{y}}=\{y_1,y_2,\cdots,y_n\}
y={y1,y2,⋯,yn}以及参数
λ
\lambda
λ三者中,已知二者求另一个的问题。 仿真求值方法作为基本手段。
隐马尔可夫模型HMM
隐马尔可夫模型属于有向图,箭头表示依赖,因此,重点研究条件概率问题,利用条件概率公式【西瓜书式(7.7)】容易将联合分布转化为条件分布的积
P
(
y
1
,
y
2
,
⋯
,
y
n
)
=
P
(
y
1
)
P
(
y
2
,
y
3
,
⋯
,
y
n
∣
y
1
)
=
P
(
y
1
)
P
(
y
2
∣
y
1
)
P
(
y
3
,
y
4
,
⋯
,
y
n
∣
y
1
,
y
2
)
=
P
(
y
1
)
P
(
y
2
∣
y
1
)
P
(
y
3
∣
y
1
,
y
2
)
P
(
y
3
,
y
4
,
⋯
,
y
n
∣
y
1
,
y
2
,
y
3
)
=
⋯
=
P
(
y
1
)
P
(
y
2
∣
y
1
)
P
(
y
3
∣
y
1
,
y
2
)
⋯
P
(
y
n
∣
y
1
,
y
2
,
⋯
,
y
n
−
1
)
=
p
(
y
1
)
∏
i
=
2
n
P
(
y
i
∣
y
1
,
y
2
,
⋯
,
y
i
−
1
)
\begin{align} & \quad P(y_1,y_2,\cdots,y_n)\notag \\ & =P(y_1)P(y_2,y_3,\cdots,y_n\,|\,y_1)\notag \\ & =P(y_1)P(y_2\,|\,y_1)P(y_3,y_4,\cdots,y_n\,|\,y_1,y_2)\notag \\ & =P(y_1)P(y_2\,|\,y_1)P(y_3\,|\,y_1,y_2)P(y_3,y_4,\cdots,y_n\,|\,y_1,y_2,y_3)\notag \\ & =\cdots\notag \\ & =P(y_1)P(y_2\,|\,y_1)P(y_3\,|\,y_1,y_2)\cdots P(y_n\,|\,y_1,y_2,\cdots,y_{n-1}) \tag{14.1} \\ & =p(y_1)\prod _{i=2}^nP(y_i\,|\,y_1,y_2,\cdots ,y_{i-1}) \tag{14.2} \end{align}
P(y1,y2,⋯,yn)=P(y1)P(y2,y3,⋯,yn∣y1)=P(y1)P(y2∣y1)P(y3,y4,⋯,yn∣y1,y2)=P(y1)P(y2∣y1)P(y3∣y1,y2)P(y3,y4,⋯,yn∣y1,y2,y3)=⋯=P(y1)P(y2∣y1)P(y3∣y1,y2)⋯P(yn∣y1,y2,⋯,yn−1)=p(y1)i=2∏nP(yi∣y1,y2,⋯,yi−1)(14.1)(14.2)
如何将无关的条件(或关系弱的条件)剔除呢?在一定的假设基础上,能实现这一需求,从而大大简化计算。 例如,对于有向图而言,假定结点
y
i
y_i
yi仅与其父结点集
p
a
y
i
\mathrm{pa}_{y_i}
payi相关,则
P
(
y
1
,
y
2
,
⋯
,
y
n
)
=
p
(
y
1
)
∏
i
=
2
n
P
(
y
i
∣
p
a
y
i
)
\begin{align} P(y_1,y_2,\cdots,y_n) & =p(y_1)\prod _{i=2}^nP(y_i\,|\,\mathrm{pa}_{y_i}) \tag{14.3} \end{align}
P(y1,y2,⋯,yn)=p(y1)i=2∏nP(yi∣payi)(14.3)
(1)马尔可夫链
图14.2 中,时间系列随机变量(
y
1
,
y
2
,
⋯
,
y
k
,
y
k
+
1
,
⋯
y_1,y_2,\cdots,y_k,y_{k+1},\cdots
y1,y2,⋯,yk,yk+1,⋯)中,
y
k
+
1
y_{k+1}
yk+1仅与最近的过去
y
k
y_k
yk相关,即
P
(
y
k
+
1
∣
y
1
,
y
2
,
⋯
,
y
k
)
=
P
(
y
k
+
1
∣
y
k
)
\begin{align} P(y_{k+1}\,|\,y_1,y_2,\cdots,y_k)=P(y_{k+1}\,|\,y_k) \tag{14.4} \end{align}
P(yk+1∣y1,y2,⋯,yk)=P(yk+1∣yk)(14.4)
由此式,可推导出联合分布公式
P
(
y
1
,
y
2
,
⋯
,
y
n
)
=
P
(
y
1
,
y
2
,
⋯
,
y
n
−
1
)
P
(
y
n
∣
y
1
,
y
2
,
⋯
,
y
n
−
1
)
=
P
(
y
1
,
y
2
,
⋯
,
y
n
−
1
)
P
(
y
n
∣
y
n
−
1
)
(由式(14.4))
=
⋯
=
P
(
y
1
)
P
(
y
2
∣
y
1
)
P
(
y
3
∣
y
2
)
⋯
P
(
y
n
∣
y
n
−
1
)
=
p
(
y
1
)
∏
i
=
2
n
P
(
y
i
∣
y
i
−
1
)
\begin{align} P(y_1,y_2,\cdots,y_n) & =P(y_1,y_2,\cdots,y_{n-1})P(y_n\,|\,y_1,y_2,\cdots,y_{n-1})\notag \\ & =P(y_1,y_2,\cdots,y_{n-1})P(y_n\,|\,y_{n-1})\quad \text{(由式(14.4))}\notag \\ & =\cdots\notag \\ & =P(y_1)P(y_2\,|\,y_1)P(y_3\,|\,y_2)\cdots P(y_n\,|\,y_{n-1})\notag \\ & =p(y_1)\prod _{i=2}^nP(y_i\,|\,y_{i-1}) \tag{14.5} \end{align}
P(y1,y2,⋯,yn)=P(y1,y2,⋯,yn−1)P(yn∣y1,y2,⋯,yn−1)=P(y1,y2,⋯,yn−1)P(yn∣yn−1)(由式(14.4))=⋯=P(y1)P(y2∣y1)P(y3∣y2)⋯P(yn∣yn−1)=p(y1)i=2∏nP(yi∣yi−1)(14.5)
由式(14.2)也可以得到式(14.5),只不过是二者在过程中处理的方向不同:
∙ \bullet ∙前者“ y 1 ⟶ y n y_1\longrightarrow y_n y1⟶yn”(式(14.2)的第一个等式是处理 P ( y 1 ) P(y_1) P(y1))
∙ \bullet ∙后者“ y 1 ⟵ y n y_1\longleftarrow y_n y1⟵yn”(式(14.5)的第一个等式是处理 P ( y n ∣ y 1 , y 2 , ⋯ , y n − 1 ) P(y_n\,|\,y_1,y_2,\cdots,y_{n-1}) P(yn∣y1,y2,⋯,yn−1))。
(2)隐马尔可夫链
现在设图14.2 中的
y
i
y_i
yi是不可见的(隐),但可观测它的某种表现
x
i
x_i
xi,形成图14.3 :
图中的箭头线“
A
→
B
A\rightarrow B
A→B”表示父子关系,即“
A
A
A产生
B
B
B”或表述为“
B
B
B依赖于
A
A
A”,在时间窗口
t
=
i
t=i
t=i时,有一对变量
(
y
i
,
x
i
)
(y_i,x_i)
(yi,xi),
y
i
y_i
yi称为状态变量(隐的)、
x
i
x_i
xi称为观测变量(或在时刻
i
i
i的观测值)(符号
x
i
x_i
xi到底是变量名还是变量的值,需要从上下文中理解)。 观测变量
x
i
x_i
xi仅依赖于当前的状态变量
y
i
y_i
yi,即
P
(
x
i
∣
y
1
,
y
2
,
⋯
,
y
i
)
=
P
(
x
i
∣
y
i
)
\begin{align} P(x_i\,|\,y_1,y_2,\cdots,y_i)=P(x_i\,|\,y_i) \tag{14.6} \end{align}
P(xi∣y1,y2,⋯,yi)=P(xi∣yi)(14.6)
在时刻
i
i
i,未来的状态
y
i
+
1
,
y
i
+
2
,
⋯
,
y
n
y_{i+1},y_{i+2},\cdots,y_{n}
yi+1,yi+2,⋯,yn并不影响
x
i
x_i
xi,即
P
(
x
i
∣
y
1
,
y
2
,
⋯
,
y
i
,
⋯
,
y
n
)
=
P
(
x
i
∣
y
1
,
y
2
,
⋯
,
y
i
)
=
P
(
x
i
∣
y
i
)
\begin{align} P(x_i\,|\,y_1,y_2,\cdots,y_i,\cdots,y_n) & =P(x_i\,|\,y_1,y_2,\cdots,y_i)\notag \\ & =P(x_i\,|\,y_i) \tag{14.7} \end{align}
P(xi∣y1,y2,⋯,yi,⋯,yn)=P(xi∣y1,y2,⋯,yi)=P(xi∣yi)(14.7)
在时刻
n
n
n时的联合分布概率
P
(
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
⋯
,
(
x
n
,
y
n
)
)
=
P
(
(
x
1
,
x
2
,
⋯
,
x
n
)
,
(
y
1
,
y
2
,
⋯
,
y
n
)
)
=
P
(
y
1
,
y
2
,
⋯
,
y
n
)
P
(
x
1
,
x
2
,
⋯
,
x
n
∣
y
1
,
y
2
,
⋯
,
y
n
)
\begin{align} & \quad P((x_1,y_1),(x_2,y_2),\cdots,(x_n,y_n))\notag\\ & =P((x_1,x_2,\cdots,x_n),(y_1,y_2,\cdots,y_n))\notag \\ & =P(y_1,y_2,\cdots,y_n)P(x_1,x_2,\cdots,x_n\,|\,y_1,y_2,\cdots,y_n) \tag{14.8} \end{align}
P((x1,y1),(x2,y2),⋯,(xn,yn))=P((x1,x2,⋯,xn),(y1,y2,⋯,yn))=P(y1,y2,⋯,yn)P(x1,x2,⋯,xn∣y1,y2,⋯,yn)(14.8)
简记
y
=
(
y
1
,
y
2
,
⋯
,
y
n
)
\boldsymbol{y}=(y_1,y_2,\cdots,y_n)
y=(y1,y2,⋯,yn),则 式(14.8) 中的条件概率
P
(
x
1
,
x
2
,
⋯
,
x
n
∣
y
1
,
y
2
,
⋯
,
y
n
)
=
P
(
x
1
,
x
2
,
⋯
,
x
n
∣
y
)
=
P
(
x
1
,
x
2
,
⋯
,
x
n
−
1
∣
y
)
P
(
x
n
∣
y
,
x
1
,
x
2
,
⋯
,
x
n
−
1
)
=
P
(
x
1
,
x
2
,
⋯
,
x
n
−
1
∣
y
)
P
(
x
n
∣
y
)
=
⋯
=
P
(
x
1
∣
y
)
P
(
x
2
∣
y
)
⋯
P
(
x
n
∣
y
)
=
P
(
x
1
∣
y
1
)
P
(
x
2
∣
y
2
)
⋯
P
(
x
n
∣
y
n
)
(由式(14.7))
=
∏
i
=
1
n
P
(
x
i
∣
y
i
)
\begin{align} & \quad P(x_1,x_2,\cdots,x_n\,|\,y_1,y_2,\cdots,y_n)\notag \\ & =P(x_1,x_2,\cdots,x_n\,|\,\boldsymbol{y})\notag \\ & =P(x_1,x_2,\cdots,x_{n-1}\,|\,\boldsymbol{y})P(x_{n}\,|\,\boldsymbol{y},x_1,x_2,\cdots,x_{n-1})\notag \\ & =P(x_1,x_2,\cdots,x_{n-1}\,|\,\boldsymbol{y})P(x_{n}\,|\,\boldsymbol{y})\notag \\ & =\cdots\notag \\ & =P(x_{1}\,|\,\boldsymbol{y})P(x_{2}\,|\,\boldsymbol{y})\cdots P(x_{n}\,|\,\boldsymbol{y})\notag \\ & =P(x_{1}\,|\,y_1)P(x_{2}\,|\,y_2)\cdots P(x_{n}\,|\,y_n)\quad \text{(由式(14.7))}\notag \\ & =\prod _{i=1}^nP(x_{i}\,|\,y_i) \tag{14.9} \end{align}
P(x1,x2,⋯,xn∣y1,y2,⋯,yn)=P(x1,x2,⋯,xn∣y)=P(x1,x2,⋯,xn−1∣y)P(xn∣y,x1,x2,⋯,xn−1)=P(x1,x2,⋯,xn−1∣y)P(xn∣y)=⋯=P(x1∣y)P(x2∣y)⋯P(xn∣y)=P(x1∣y1)P(x2∣y2)⋯P(xn∣yn)(由式(14.7))=i=1∏nP(xi∣yi)(14.9)
将式(14.5)及式(14.9)代入式(14.8)即得【西瓜书式(14.1)】。
(3)隐马尔可夫模型的参数
观察隐马尔可夫模型(HMM)【西瓜书式(14.1)】,它有三类式子,对应于三组参数。
(i) P ( y 1 ) P(y_1) P(y1):在初始时刻,取各状态的概率。
设状态变量
y
y
y的取值范围为:
Y
=
{
s
1
,
s
2
,
⋯
,
s
N
}
\mathcal{Y} =\{s_1,s_2,\cdots,s_N\}
Y={s1,s2,⋯,sN},初始状态
y
1
y_1
y1可以取
Y
\mathcal{Y}
Y中任意值(依概率)。
记
π
i
=
P
(
y
1
=
s
i
)
i
⩽
i
⩽
N
\begin{align} \pi _i=P(y_1=s_i)\quad \quad i\leqslant i \leqslant N \tag{14.10} \end{align}
πi=P(y1=si)i⩽i⩽N(14.10)
则
∑
i
=
1
N
π
i
=
1
\begin{align} \sum_{i=1}^N\pi _i=1 \tag{14.11} \end{align}
i=1∑Nπi=1(14.11)
π = ( π 1 , π 2 , ⋯ , π N ) \boldsymbol{\pi}=(\pi _1,\pi _2,\cdots,\pi _N) π=(π1,π2,⋯,πN)为一组参数,称为初始状态概率。
(ii) P ( y i ∣ y i − 1 ) P(y_i\,|\,y_{i-1}) P(yi∣yi−1):它反映状态之间的转换。
记
a
i
j
=
P
(
y
t
+
1
=
s
j
∣
y
t
=
s
i
)
\begin{align} a_{ij}=P(y_{t+1}=s_j\,|\,y_t=s_i) \tag{14.12} \end{align}
aij=P(yt+1=sj∣yt=si)(14.12)
则对应的转换表(矩阵)为
A
=
(
[
a
i
j
]
)
N
×
N
\begin{align} \mathbf{A}=([a_{ij}])_{N\times N} \tag{14.13} \end{align}
A=([aij])N×N(14.13)
对应有状态转移图(有向图),如图14.4 ,图中的有向线对应于矩阵
A
\mathbf{A}
A中的非零值。
参数 A \mathbf{A} A称为状态转移概率(矩阵)。
(iii) P ( x i ∣ y i ) P(x_i\,|\,y_{i}) P(xi∣yi):它反映在状态 s i s_i si时获得观测值 o j o_j oj的概率。
记
b
i
j
=
P
(
x
t
=
o
j
∣
y
t
=
s
i
)
\begin{align} b_{ij}=P(x_{t}=o_j\,|\,y_t=s_i) \tag{14.14} \end{align}
bij=P(xt=oj∣yt=si)(14.14)
其中,
x
x
x的取值范围为:
X
=
{
o
1
,
o
2
,
⋯
,
o
M
}
\mathcal{X} =\{o_1,o_2,\cdots,o_M\}
X={o1,o2,⋯,oM}
则对应的矩阵
B
=
(
[
b
i
j
]
)
N
×
M
\begin{align} \mathbf{B}=([b_{ij}])_{N\times M} \tag{14.15} \end{align}
B=([bij])N×M(14.15)
称为输出观测值概率(矩阵)。
综上,HMM的参数为: λ = [ A , B , π ] \lambda =[\mathbf{A},\mathbf{B},\boldsymbol{\pi}] λ=[A,B,π],给定了参数 λ \lambda λ,则确定了该HMM。
(4)仿真求值
在7.7 贝叶斯网络推断中,我们讨论了:已知事件概率,如何产生事件?以及已知样本的概率分布,如何采样生成样本?由此思路,即可在已知 λ \lambda λ的情况下,可以仿真出HMM所产生的观测序列 { x 1 , x 2 , ⋯ , x n } \{x_1,x_2,\cdots,x_n\} {x1,x2,⋯,xn}。
(5)HMM的三个基本问题
【西瓜书p.321】讨论了HMM的三个基本问题,简言之:观测序列
x
=
{
x
1
,
x
2
,
⋯
,
x
n
}
\boldsymbol{\mathrm{x}}=\{x_1,x_2,\cdots,x_n\}
x={x1,x2,⋯,xn}、状态序列
y
=
{
y
1
,
y
2
,
⋯
,
y
n
}
\boldsymbol{\mathrm{y}}=\{y_1,y_2,\cdots,y_n\}
y={y1,y2,⋯,yn}以及参数
λ
\lambda
λ三者中,已知二者求另一个的问题。 上述仿真求值方法是作为基本手段。
注:我们以 x \boldsymbol{\mathrm{x}} x表示以序列 { x 1 , x 2 , ⋯ , x n } \{x_1,x_2,\cdots,x_n\} {x1,x2,⋯,xn}形成的向量,而不用一般的向量符 x \boldsymbol{x} x表示,因为,在图中它实际上是一个结点,从时间维才体现成向量。
本文为原创,您可以:
- 点赞(支持博主)
- 收藏(待以后看)
- 转发(他考研或学习,正需要)
- 评论(或讨论)
- 引用(支持原创)
- 不侵权
上一篇:13.6 半监督聚类(k均值算法+约束)
下一篇:14.2 马尔可夫随机场(无向图,“团”与“极大团”,MRF的“三性”)
相关文章
- 李宏毅机器学习_ensemble_集成学习_6
- (《机器学习》完整版系列)第6章 支持向量机SVM——6.3 何为松驰变量(当搜寻范围扩大时,可能会找到更高的山、更低的谷)
- (《机器学习》完整版系列)第5章 神经网络——5.3 SOW网络(“灯阵”面板)、Elman网络(将训练集转化时序数据)、Boltzmann机(达到Boltzmann分布)
- (《机器学习》完整版系列)第2章 模型评估与选择 ——2.2 如何选个好模型?召回率是什么?
- (《机器学习》完整版系列)第16章 强化学习——16.6 策略迭代与值迭代算法
- (《机器学习》完整版系列)第14章 概率图模型——14.8 吉布斯采样算法的详细推导(将“多变量”联合采样变为交替地“单变量”采样)
- (《机器学习》完整版系列)第12章 计算学习理论——12.2 学习算法的能力(多项式成本是可以接受的,而指数成本是不可接受的)
- (《机器学习》完整版系列)1-2 简化现实世界
- C#,机器学习的KNN(K Nearest Neighbour)算法与源代码
- 机器学习笔记之狄利克雷过程(六)预测任务求解
- 机器学习笔记之受限玻尔兹曼机(六)对数似然梯度求解
- 机器学习笔记之受限玻尔兹曼机(五)基于含隐变量能量模型的对数似然梯度
- 机器学习笔记之概率图模型(七)精确推断之变量消去法
- 机器学习笔记之EM算法(三)隐变量与EM算法的本质
- 机器视觉:为什么追踪网球的技术不能用在足球和篮球上?
- 面向机器学习的自然语言标注导读
- tomcat管理员在远程(不同)机器上访问管理页面
- 在opencv3中的机器学习算法练习:对OCR进行分类
- 在opencv3中实现机器学习之:利用svm(支持向量机)分类
- 《Arduino家居安全系统构建实战》——1.1 什么是机器学习
- 《数字图像处理与机器视觉——Visual C++与Matlab实现》——0.2 数字图像处理与识别
- 《NLTK基础教程——用NLTK和Python库构建机器学习应用》——2.6 词形还原
- 《机器学习与数据科学(基于R的统计学习方法)》——1.3 机器学习的过程
- 《Python机器学习——预测分析核心算法》——2.6 多类别分类问题:它属于哪种玻璃
- 机器学习中的概率分布
- 通过机器学习进行恶意软件分析
- 机器学习基础-机器学习练习 6 - 支持向量机
- 安全 流程服务器开新机器 内外网 iptables 安全组 用户安全root用户的使用.
- 开源 -- 机器学习相关报道
- <机器学习实战>读书笔记--k邻近算法KNN