房地产市场信息系统网站,wordpress 抓取,网站制作公司加盟,临沂天元建设集团网站后续会回来补充代码 1 隐马尔可夫模型 隐马尔可夫模型(Hidden Markov Model,HMM)是可用于标注问题的统计学模型#xff0c;描述由隐藏的马尔可夫链随机生成观测序列的过程。
1.1 数学定义 隐马尔可夫模型是关于时序的概率模型#xff0c;描述由一个隐藏的马尔可夫链随机生成… 后续会回来补充代码 1 隐马尔可夫模型 隐马尔可夫模型(Hidden Markov Model,HMM)是可用于标注问题的统计学模型描述由隐藏的马尔可夫链随机生成观测序列的过程。
1.1 数学定义 隐马尔可夫模型是关于时序的概率模型描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列再由各个状态生成同一个观测从而产生观测随机序列的过程。隐藏的马尔可夫链随机生成状态序列而每一个状态又生成一个观测。序列的每一个位置称作一个时刻。 隐马尔可夫模型可以由初始状态概率向量 π \pi π状态转移矩阵 A A A和观测矩阵 B B B决定。 π \pi π和 A A A决定状态序列 B B B决定观测序列。隐马尔可夫模型可以记作 λ ( π , A , B ) \lambda(\pi,A,B) λ(π,A,B)。其各个部分的介绍如下 记 Q { q 1 , q 2 , … , q N } Q\{q_{1},q_{2},\dots,q_{N}\} Q{q1,q2,…,qN}为所有可能的状态集合 V { v 1 , v 2 , … , v M } V\{v_{1}, v_{2},\dots,v_{M}\} V{v1,v2,…,vM}为所有可能的观测集合。假设目前得到的 T T T个时刻观测序列 O ( o 1 , o 2 … , o T ) O(o_{1},o_{2}\dots,o_{T}) O(o1,o2…,oT)其对应的状态序列记为 I ( i 1 , i 2 , … , i T ) I(i_{1},i_{2},\dots,i_{T}) I(i1,i2,…,iT)。状态序列是不可知的 状态转移矩阵 A [ a i j ] N × N A[a_{ij}]_{N\times N} A[aij]N×N, 其中 a i j P ( i t 1 q j ∣ i t q i ) , i , j 1 , 2 , … , N a_{ij}P(i_{t1}q_{j}|i_{t}q_{i}),i,j1,2,\dots,N aijP(it1qj∣itqi),i,j1,2,…,N即为在时刻 t t t处于状态 q i q_{i} qi的条件下在时刻 t 1 t1 t1转移到状态 q j q_{j} qj的概率。观测矩阵 B [ b j ( k ) ] N × M B[b_{j}(k)]_{N\times M} B[bj(k)]N×M其中 b j ( k ) P ( o t v k ∣ i t q j ) , k 1 , 2 , … , M , j 1 , 2 , … , N b_{j}(k)P(o_{t}v_{k}|i_{t}q_{j}),k1,2,\dots,M,j1,2,\dots,N bj(k)P(otvk∣itqj),k1,2,…,M,j1,2,…,N为时刻 t t t处于状态 q j q_{j} qj的条件下生成观测 v k v_{k} vk的概率。 初始状态变量 π ( π i ) \pi(\pi_{i}) π(πi)其中 π i P ( i 1 q i ) , i 1 , 2 , … , N \pi_{i}P(i_{1}q_{i}),i1,2,\dots,N πiP(i1qi),i1,2,…,N为初始时刻 t 1 t1 t1处于状态 q i q_{i} qi的概率。
1.2 基本假设
齐次马尔可夫假设隐藏的马尔科夫链在任意时刻 t t t的状态只依赖于其前一个时刻状态与其他时刻的状态和观测无关也与时刻 t t t无关 P ( i t ∣ i t − 1 , o t − 1 , … , i 1 , o 1 ) P ( i t ∣ i t − 1 ) , t 1 , 2 , … , T P(i_{t}|i_{t-1},o_{t-1},\dots,i_{1},o_{1})P(i_{t}|i_{t-1}),t1,2,\dots,T P(it∣it−1,ot−1,…,i1,o1)P(it∣it−1),t1,2,…,T观测独立性假设任意时刻的观测只依赖于该时刻的马尔可夫链的状态与其他观测及状态无关。
1.3 基本问题
概率计算问题给定模型 λ ( π , A , B ) \lambda(\pi,A,B) λ(π,A,B)和观测序列 O O O计算该观测序列出现的概率 P ( O ∣ λ ) P(O|\lambda) P(O∣λ)。求解该问题可以使用前向算法和后向算法这里不详细介绍。学习问题已知观测序列 O O O估计模型 λ ( π , A , B ) \lambda(\pi,A,B) λ(π,A,B)参数使得在该模型下观测序列概率 P ( O ∣ λ ) P(O|\lambda) P(O∣λ)最大。求解该问题主要使用Baum-Welch算法(这个算法是EM算法的一种特例EM算法在三硬币模型上的推导过程参考https://blog.csdn.net/yeshang_lady/article/details/132151771)。这里不再赘述。预测问题又被称为解码问题。已知模型 λ ( π , A , B ) \lambda(\pi,A,B) λ(π,A,B)和观测序列 O O O求对给定观测序列条件概率 P ( I ∣ O ) P(I|O) P(I∣O)最大的状态序列。这里主要介绍维特比算法。
2 预测问题
2.1 维特比算法 维特比算法是一个动态规划算法其规划过程与前向算法类似。两个算法的区别在于评估问题的前向算法会保留每一条路径的概率最终结果是各概率之和维特比算法是计算给定观测序列下最可能的隐藏状态序列因此每一步都只保留概率最大的路径最终结果是一条概率最大的路径。其算法流程如下 输入: 模型 λ ( A , B , π ) \lambda(A,B,\pi) λ(A,B,π)和观测序列 O ( o 1 , o 2 , … , o T ) O(o_{1},o_{2},\dots,o_{T}) O(o1,o2,…,oT) 输出最优路径 I ∗ ( i 1 ∗ , i 2 ∗ , … , i T ∗ ) I^{*}(i_{1}^{*},i_{2}^{*},\dots,i_{T}^{*}) I∗(i1∗,i2∗,…,iT∗)。 步骤: (1)初始化 δ 1 ( i ) π i b i ( o 1 ) , i 1 , 2 , … , N \delta_{1}(i)\pi_{i}b_{i}(o_{1}),i1,2,\dots,N δ1(i)πibi(o1),i1,2,…,N Ψ 1 ( i ) 0 , i 1 , 2 , … , N \Psi_{1}(i)0,i1,2,\dots,N Ψ1(i)0,i1,2,…,N(2)递推。对 t 2 , 3 , … , T t2,3,\dots,T t2,3,…,T δ t ( i ) m a x 1 ≤ j ≤ N [ δ t − 1 ( j ) a j i ] b i ( o t ) , i 1 , 2 , … , N \delta_{t}(i)\underset {1\le j\le N}{max}[\delta_{t-1}(j)a_{ji}]b_{i}(o_{t}),i1,2,\dots,N δt(i)1≤j≤Nmax[δt−1(j)aji]bi(ot),i1,2,…,N Ψ t ( i ) a r g m a x 1 ≤ j ≤ N [ δ t − 1 ( j ) a j i ] b i ( o t ) , i 1 , 2 , … , N \Psi_{t}(i)arg \underset {1\le j \le N}{max}[\delta_{t-1}(j)a_{ji}]b_{i}(o_{t}),i1,2,\dots,N Ψt(i)arg1≤j≤Nmax[δt−1(j)aji]bi(ot),i1,2,…,N(3)终止 P ∗ m a x 1 ≤ j ≤ N δ T ( i ) P^{*}\underset {1\le j\le N}{max}\delta_{T}(i) P∗1≤j≤NmaxδT(i) i T ∗ a r g m a x 1 ≤ j ≤ N [ δ T ( i ) ] i^{*}_{T}arg \underset {1\le j\le N}{max} [\delta_{T}(i)] iT∗arg1≤j≤Nmax[δT(i)](4)最优路径回溯。对 t T − 1 , T − 2 , … , 1 tT-1,T-2,\dots,1 tT−1,T−2,…,1 i t ∗ Ψ t 1 ( i t 1 ∗ ) i^{*}_{t}\Psi_{t1}(i^{*}_{t1}) it∗Ψt1(it1∗)求得最优路径 I ∗ ( i 1 ∗ , i 2 ∗ , … , i T ∗ ) I^{*}(i_{1}^{*},i_{2}^{*},\dots,i_{T}^{*}) I∗(i1∗,i2∗,…,iT∗) 参考资料
《统计学习方法》