隐马尔科夫模型(HMM)
文章目录
- 隐马尔科夫模型(HMM)
- 1. HMM的数学定义
1. HMM的数学定义 【理论学习|隐马尔科夫模型(HMM)入门详解】对于 i = 1 , 2 , ? ? , n i=1,2,\cdots,n i=1,2,?,n时刻,HMM中有两组变量序列,用 x = { x 1 , x 2 , ? ? , x n } , x i ∈ { o 1 , o 2 , ? ? , o M } x=\{x_1,x_2,\cdots,x_n\},x_i\in \{o_1,o_2,\cdots,o_M\} x={x1?,x2?,?,xn?},xi?∈{o1?,o2?,?,oM?}表示观测序列(每个观测变量有 M M M个可能的取值), y = { y 1 , y 2 , ? ? , y n } , y i ∈ { s 1 , s 2 , ? ? , s N } y=\{y_1,y_2,\cdots,y_n\},y_i\in\{s_1,s_2,\cdots,s_N\} y={y1?,y2?,?,yn?},yi?∈{s1?,s2?,?,sN?}(每个状态变量有 N N N个可能的取值)表示状态序列。
并且有如下假设:在任一时刻,观测变量的取值仅仅依赖于状态变量,即 x t x_t xt?仅由 y t y_t yt?决定;同时, y t y_t yt?仅依赖于 y t ? 1 y_{t-1} yt?1?,即状态变量序列是一个马尔科夫链。由此可以得到所有变量的联合概率分布为:
P ( x 1 , y 1 , ? ? , x n , y n ) = P ( y 1 ) P ( x 1 ∣ y 1 ) ∏ i = 2 n P ( y i ∣ y i ? 1 ) P ( x i ∣ y i ) (1-1) P(x_1,y_1,\cdots,x_n,y_n)=P(y_1)P(x_1|y_1)\prod_{i=2}^{n}P(y_i|y_{i-1})P(x_i|y_i)\\ \tag{1-1} P(x1?,y1?,?,xn?,yn?)=P(y1?)P(x1?∣y1?)i=2∏n?P(yi?∣yi?1?)P(xi?∣yi?)(1-1)
要想确定一个HMM模型还需要如下三组参数:
- 状态转移概率矩阵: A = [ a i j ] N × N A=[a_{ij}]_{N\times N} A=[aij?]N×N?,其中 a i j = P ( y t + 1 = s j ∣ y t = s i ) , 1 ≤ i , j ≤ N a_{ij}=P(y_{t+1}=s_j|y_t=s_i),1\leq i,j\leq N aij?=P(yt+1?=sj?∣yt?=si?),1≤i,j≤N
- 观测概率矩阵: B = [ b i j ] N × M B=[b_{ij}]_{N\times M} B=[bij?]N×M?,其中 b i j = P ( x t = o j ∣ y t = s i ) , 1 ≤ i ≤ N , 1 ≤ j ≤ M b_{ij}=P(x_t=o_j|y_t=s_i),1\leq i\leq N,1\leq j\leq M bij?=P(xt?=oj?∣yt?=si?),1≤i≤N,1≤j≤M
- 初始状态概率向量: π = ( π 1 , π 2 , ? ? , π N ) \pi=(\pi_1,\pi_2,\cdots,\pi_N) π=(π1?,π2?,?,πN?),其中 π i = P ( y 1 = s i ) \pi_i=P(y_1=s_i) πi?=P(y1?=si?)
推荐阅读
- 学习笔记|uni-app开发小程序
- java计算文本MD5值
- Android圆形进度条控件-CircleSeekBar
- 学习笔记|安卓中一些界面过场动画的实现
- MongoDB-存储
- 学习笔记|Burnside引理和polay计数学习笔记
- Python|【网易2019年秋招笔试题】编程题第二题(香槟塔里倒香槟——参考代码和编程思路)
- Android|安装APP损坏,出现[INSTALL_FAILED_DEXOPT]的解决办法
- Android|java日期格式化
- Android|android 读取json数据(遍历JSONObject和JSONArray