机器学习——概率与统计

参考资料:

1 马尔可夫链

1.1 定义

在这里插入图片描述
直观含义:在已知现在的条件下,过去与未来相互独立。

1.2 马尔可夫模型

在这里插入图片描述

根据定义,A 必为方阵
在这里插入图片描述
其中, p i j ( n ) = P { X n + 1 = j ∣ X n = i } p_{ij}(n)=P\lbrace X_{n+1}=j|X_n=i\rbrace pij(n)=P{ Xn+1=jXn=i}称为一步转移概率

在这里插入图片描述
n n n 步转移的性质: P ( n ) = P n P^{(n)}=P^n P(n)=Pn

在这里插入图片描述
p j ( n ) = ∑ i ∈ I p i p i j n = P T ( 0 ) P ( n ) p_j(n)=\sum\limits_{i\in I}p_ip_{ij}^n=P^T(0)P^{(n)} pj(n)=iIpipijn=PT(0)P(n)

1.3 例

在这里插入图片描述
在这里插入图片描述

2 隐马模型(HMM)

2.1 模型定义

在这里插入图片描述
在这里插入图片描述

2.2 基本问题

在这里插入图片描述

2.3 相关算法

2.3.1 前向算法(问题一)

给定隐马模型 λ \lambda λ ,定义时刻 t t t 为止的观测序列为 x 1 , x 2 , ⋯   , x t x_1, x_2,\cdots,x_t x1,x2,,xt ,且状态为 i i i 的概率为前向概率,即:
α t ( i ) = P ( x 1 , x 2 , ⋯   , x t , y t = i ∣ λ ) \alpha_t(i)=P(x_1,x_2,\cdots,x_t,y_t=i|\lambda) αt(i)=P(x1,x2,,xt,yt=iλ)

算法流程:

扫描二维码关注公众号,回复: 15599084 查看本文章
  1. 初值: α 1 ( i ) = π i b i ( x 1 ) \alpha_1(i)=\pi_ib_i(x_1) α1(i)=πibi(x1)
  2. 递推式: α t + 1 ( i ) = [ ∑ j = 1 N α t ( j ) a i j ] b i ( x t + 1 ) \alpha_{t+1}(i)=\big[\sum\limits_{j=1}^{N}\alpha_t(j)a_{ij}\big]b_i(x_{t+1}) αt+1(i)=[j=1Nαt(j)aij]bi(xt+1)
  3. 终止: P ( O ∣ λ ) = ∑ i = 1 N α n ( i ) P(O|\lambda)=\sum\limits_{i=1}^{N}\alpha_n(i) P(Oλ)=i=1Nαn(i)

2.3.2 后向算法(问题一)

给定隐马模型 λ \lambda λ ,定义时刻 t t t 状态为 i i i 的条件下, t + 1 t+1 t+1 n n n 的部分观测序列为 x t + 1 , x t + 2 , ⋯   , x n x_{t+1},x_{t+2},\cdots,x_{n} xt+1,xt+2,,xn的概率为后向概率,即:
β t ( i ) = P ( x t + 1 , x t + 2 , ⋯   , x n ∣ y t = i , λ ) \beta_t(i)=P(x_{t+1},x_{t+2},\cdots,x_{n}|y_t=i,\lambda) βt(i)=P(xt+1,xt+2,,xnyt=i,λ)

算法流程:

  1. 初值: β n ( i ) = 1 \beta_n(i)=1 βn(i)=1
  2. 递推式: β t ( i ) = ∑ j = 1 N a i j b j ( x t + 1 ) β t + 1 ( j ) \beta_t(i)=\sum\limits_{j=1}^{N}a_{ij}b_j(x_{t+1})\beta_{t+1}(j) βt(i)=j=1Naijbj(xt+1)βt+1(j)
  3. 终止: P ( O ∣ λ ) = ∑ i = 1 N π i ∗ b 1 ( x 1 ) ∗ β 1 ( i ) P(O|\lambda)=\sum\limits_{i=1}^{N}\pi_i*b_1(x_1)*\beta_1(i) P(Oλ)=i=1Nπib1(x1)β1(i)

本质上都是全概率公式!

2.3.3 Viterbi算法(问题二)

在这里插入图片描述
算法流程:

  1. 初值: δ 1 ( i ) = π i b i ( x 1 ) ,   ψ 1 ( i ) = 0 \delta_1(i)=\pi_ib_i(x_1),\ \psi_1(i)=0 δ1(i)=πibi(x1), ψ1(i)=0
  2. 递推式: δ t + 1 ( i ) = max ⁡ 1 ≤ j ≤ N δ t ( j ) a j i b i ( x t + 1 ) ,   δ t + 1 ( i ) = arg max ⁡ 1 ≤ j ≤ N δ t ( j ) a j i b i ( x t + 1 ) \delta_{t+1}(i)=\max\limits_{1\le j\le N}\delta_t(j)a_{ji}b_{i}(x_{t+1}),\ \delta_{t+1}(i)=\argmax\limits_{1\le j\le N}\delta_t(j)a_{ji}b_{i}(x_{t+1}) δt+1(i)=1jNmaxδt(j)ajibi(xt+1), δt+1(i)=1jNargmaxδt(j)ajibi(xt+1)
  3. 最优路径: y t ∗ = ψ t + 1 ( y t + 1 ∗ ) y_t^*=\psi_{t+1}(y^*_{t+1}) yt=ψt+1(yt+1)(倒推得到最优路径)

算法解释:https://www.zhihu.com/question/20136144

该算法似乎适用于在全连通图上找最短路?

2.3.4 Baum-Welch算法(问题三)

给定 HMM 和观察序列,定义 ξ t ( i , j ) \xi_t(i,j) ξt(i,j) 为在时间 t t t 位于状态 i i i ,时间 t + 1 t+1 t+1 位于状态 j j j 的概率:
ξ t ( i , j ) = P ( y t = i , y t + 1 = j ∣ X , λ ) = P ( y t = i , y t + 1 = j , X ∣ λ ) P ( X ∣ λ ) = α t ( i ) a i j b j ( x t + 1 ) β t + 1 ( j ) P ( X ∣ λ ) = α t ( i ) a i j b j ( x t + 1 ) β t + 1 ( j ) ∑ i = 1 N ∑ j = 1 N α t ( i ) a i j b j ( x t + 1 ) β t + 1 ( j ) \begin{align} \xi_t(i,j)&=P(y_t=i,y_{t+1}=j|X,\lambda)\\ &=\frac{P(y_t=i,y_{t+1}=j,X|\lambda)}{P(X|\lambda)}\\ &=\frac{\alpha_t(i)a_{ij}b_j(x_{t+1})\beta_{t+1}(j)}{P(X|\lambda)}\\ &=\frac{\alpha_t(i)a_{ij}b_j(x_{t+1})\beta_{t+1}(j)}{\sum\limits_{i=1}^{N}\sum\limits_{j=1}^{N}\alpha_t(i)a_{ij}b_j(x_{t+1})\beta_{t+1}(j)} \end{align} ξt(i,j)=P(yt=i,yt+1=jX,λ)=P(Xλ)P(yt=i,yt+1=j,Xλ)=P(Xλ)αt(i)aijbj(xt+1)βt+1(j)=i=1Nj=1Nαt(i)aijbj(xt+1)βt+1(j)αt(i)aijbj(xt+1)βt+1(j)
(2)→(3)利用了乘法原理,即先到达状态 i i i ,再由状态 i i i 转移到 状态 j j j ,然后在状态 j j j 下取到观测值 x t + 1 x_{t+1} xt+1 ,再从状态 j j j 得到剩下的观测值。

(3)→(4)利用了全概率公式

疑问:既然已经得到了 α , β \alpha,\beta α,β ,为啥不直接通过 α n \alpha_n αn β 1 \beta_1 β1 求呢?

给定 HMM 和观察序列,在时间 t t t 位于状态 i i i 的概率为:
γ t ( i ) = ∑ j = 1 N ξ t ( i , j ) \gamma_t(i)=\sum\limits_{j=1}^{N}\xi_t(i,j) γt(i)=j=1Nξt(i,j)

在这里插入图片描述

参数的更新可由 EM 算法推导出来,不过直观上也是比较容易理解的。

猜你喜欢

转载自blog.csdn.net/MaTF_/article/details/131409672
今日推荐