隐马尔可夫模型


是用于 标注问题的统计学习模型,描述由 隐藏的马尔可夫链随机生成的观测序列的过程,属于 生成模型。马尔科夫模型中主要讨论三个问题:即 概率计算算法学习算法以及 预测算法

隐马尔科夫模型的基本概念

隐马尔科夫模型由初始概率分布状态转移概率分布以及观测概率分布确定。隐马尔科夫模型的形式定义如下:
Q Q Q是所有可能的状态集合 V V V是所有可能的观测集合 Q = { q 1 , q 2 , . . . , q N } , V = { v 1 , v 2 , . . . , v N } Q=\lbrace q_1,q_2,...,q_N \rbrace,\quad V=\lbrace v_1,v_2,...,v_N \rbrace Q={q1,q2,...,qN},V={v1,v2,...,vN}其中 N N N是可能的状态数, M M M是可能的观测数。
I I I是长度为 T T T状态序列 O O O是对应的观测序列 I = ( i 1 , i 2 , . . . , i T ) , O = ( o 1 , o 2 , . . . , o T ) I=(i_1,i_2,...,i_T),\quad O=(o_1,o_2,...,o_T) I=(i1,i2,...,iT),O=(o1,o2,...,oT)A是状态转移概率矩阵 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 = 1 , 2 , . . . , N ; j = 1 , 2 , . . . , N a_{ij}=P(i_{t+1}=q_j|i_t=q_i),\quad i=1,2,...,N;j=1,2,...,N aij=P(it+1=qjit=qi),i=1,2,...,N;j=1,2,...,N是在时刻 t t t处于状态 q i q_i qi的条件下在时刻 t + 1 t+1 t+1转移到状态 q j q_j qj的概率。
B是观测概率矩阵 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),\quad k=1,2,...,M;j=1,2,...,N bj(k)=P(ot=vkit=qj),k=1,2,...,M;j=1,2,...,N是在时刻 t t t处于状态 q j q_j qj的条件下生成观测 v k v_k vk的概率。
π \pi π初始状态矩阵向量 π = ( π i ) \pi=(\pi_i) π=(πi)其中, π i = P ( i 1 = q i ) , i = 1 , 2 , . . . , N \pi_i=P(i_1=q_i),\quad i=1,2,...,N πi=P(i1=qi),i=1,2,...,N是时刻 t = 1 t=1 t=1处于状态 q i q_i qi的概率。隐马尔科夫模型由 A , B , π A,B,\pi A,B,π确定因此隐马尔科夫模型 λ \lambda λ可以写为 λ = ( A , B , π ) \lambda=(A,B,\pi) λ=(A,B,π) A , B , π A,B,\pi A,B,π称为隐马尔科夫模型的三个要素。
从上面定义可知隐马尔科夫模型做了两个基本假设:

  1. 齐次马尔科夫性假设,即假设隐藏的马尔科夫链在任意时刻 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},...,i_1,o_1)=P(i_t|i_{t-1}),\quad t=1,2,...,T P(itit1,ot1,...,i1,o1)=P(itit1),t=1,2,...,T
  2. 观测独立性假设,即假设任意时刻的观测只依赖于该时刻的马尔科夫链的状态,与其他观测及状态无关。 P ( o t ∣ i T , o T , i T − 1 , o T − 1 , . . . , i t + 1 , o t + 1 , i t , o t , . . . , i 1 , o 1 ) = P ( o t ∣ i t ) P(o_t|i_T,o_T,i_{T-1},o_{T-1},...,i_{t+1},o_{t+1},i_t,o_t,...,i_1,o_1)=P(o_t|i_t) P(otiT,oT,iT1,oT1,...,it+1,ot+1,it,ot,...,i1,o1)=P(otit)

隐马尔科夫模型的理解:

  1. π \pi π决定了选择使 P ( i 1 = q i ) P(i_1=q_i) P(i1=qi)最大的那个状态即 q i q_i qi,作为状态序列中的第一个取值。
  2. 已知第一个状态序列的取值 q i q_i qi,选取使 a i j = P ( i 2 = q j ∣ i 1 = q i ) a_{ij}=P(i_2=q_j|i_1=q_i) aij=P(i2=qji1=qi)最大的那个状态即 q j q_j qj,作为状态序列中的第二个取值;选取使 P ( o 1 = v k ∣ i 1 = q i ) P(o_1=v_k|i_1=q_i) P(o1=vki1=qi)最大的那个状态即 v k v_k vk,作为第一个状态序列所对应的观测状态的取值。
  3. 重复以上过程。

隐马尔科夫模型有以下3个基本问题:

  1. 概率计算问题。给定模型 λ = ( A , B , π ) \lambda=(A,B,\pi) λ=(A,B,π)和观测序列 O = ( o 1 , o 2 , . . . , o T ) O=(o_1,o_2,...,o_T) O=(o1,o2,...,oT),计算模型 λ \lambda λ下观测序列 O O O出现的概率 P ( O ∣ λ ) P(O|\lambda) P(Oλ)
  2. 学习问题。已知观测序列 O = ( o 1 , o 2 , . . . , o T ) O=(o_1,o_2,...,o_T) O=(o1,o2,...,oT),估计模型 λ = ( A , B , π ) \lambda=(A,B,\pi) λ=(A,B,π)参数,使得在该模型下观测序列概率 P ( O ∣ λ ) P(O|\lambda) P(Oλ)最大。即用极大似然估计的方法估计参数。
  3. 预测问题。已知模型 λ = ( A , B , π ) \lambda=(A,B,\pi) λ=(A,B,π)和观测序列 O = ( o 1 , o 2 , . . . , o T ) O=(o_1,o_2,...,o_T) O=(o1,o2,...,oT),求对给定观测序列条件概率 P ( I ∣ O ) P(I|O) P(IO)最大的状态序列 I = ( i 1 , i 2 , . . . , i T ) I=(i_1,i_2,...,i_T) I=(i1,i2,...,iT)即给定观测序列,求最有可能的对应的状态序列

概率计算算法

直接计算法

这种方法是概念上可行但计算上不可行的算法。通过列举所有可能的长度为 T T T的状态序列 I = ( i 1 , i 2 , . . . , i T ) I=(i_1,i_2,...,i_T) I=(i1,i2,...,iT),求各个状态序列 I I I与观测序列 O = ( o 1 , o 2 , . . . , o T ) O=(o_1,o_2,...,o_T) O=(o1,o2,...,oT)的联合概率 P ( O , I ∣ λ ) P(O,I|\lambda) P(O,Iλ),然后对所有可能的状态序列求和,得到 P ( O ∣ λ ) P(O|\lambda) P(Oλ)。即 P ( O ∣ λ ) = ∑ I P ( O ∣ I , λ ) P ( I ∣ λ ) P(O|\lambda)=\sum_IP(O|I,\lambda)P(I|\lambda) P(Oλ)=IP(OI,λ)P(Iλ)其中 P ( I ∣ λ ) = π i 1 a i 1 i 2 a i 2 i 3 . . . a i T − 1 i T P(I|\lambda)=\pi_{i_1}a_{i_1i_2}a_{i_2i_3}...a_{i_{T-1}i_T} P(Iλ)=πi1ai1i2ai2i3...aiT1iT P ( O ∣ I , λ ) = b i 1 ( o 1 ) b i 2 ( o 3 ) . . . b i T ( o T ) P(O|I,\lambda)=b_{i_1}(o_1)b_{i_2}(o_3)...b_{i_T}(o_T) P(OI,λ)=bi1(o1)bi2(o3)...biT(oT)因此 P ( O ∣ λ ) = ∑ i 1 , i 2 , . . . , i T π i 1 b i 1 ( o 1 ) a i 1 i 2 b i 2 ( o 2 ) . . . a i T − 1 i T b i T ( o T ) P(O|\lambda)=\sum_{i_1,i_2,...,i_T}\pi_{i_1}b_{i_1}(o_1)a_{i_1i_2}b_{i_2}(o_2)...a_{i_{T-1}i_T}b_{i_T}(o_T) P(Oλ)=i1,i2,...,iTπi1bi1(o1)ai1i2bi2(o2)...aiT1iTbiT(oT)但是利用上式计算量很大是 O ( T N T ) O(TN^T) O(TNT)阶的,这种算法不可行。实际中使用前向-后向算法。

前向算法

给定隐马尔可夫模型KaTeX parse error: Undefined control sequence: \lamda at position 1: \̲l̲a̲m̲d̲a̲,定义到时刻 t t t之前的观测序列为 o 1 , o 2 , . . . , o t o_1,o_2,...,o_t o1,o2,...,ot且状态为 q i q_i qi的概率为前向概率记作 a t ( i ) = P ( o 1 , o 2 , . . . , o t , i t = q i ∣ λ ) a_t(i)=P(o_1,o_2,...,o_t,i_t=q_i|\lambda) at(i)=P(o1,o2,...,ot,it=qiλ)可以递推地求得前向概率 a t ( i ) a_t(i) at(i)及观测序列 P ( O ∣ λ ) P(O|\lambda) P(Oλ)。算法如下
输入:隐马尔可夫模型 λ \lambda λ,观测序列 O O O
输出:观测序列概率 P ( O ∣ λ ) P(O|\lambda) P(Oλ)

  1. 初值 a 1 ( i ) = π i b i ( o 1 ) , i = 1 , 2 , . . . , N a_1(i)=\pi_ib_i(o_1),\quad i=1,2,...,N a1(i)=πibi(o1),i=1,2,...,N
  2. 递推 对 t = 1 , 2 , . . . , T − 1 t=1,2,...,T-1 t=1,2,...,T1 a t + 1 ( i ) = [ ∑ j = 1 N a t ( j ) a j i ] b i ( o t + 1 ) , i = 1 , 2 , . . . , N a_{t+1}(i)=[\sum_{j=1}^Na_t(j)a_{ji}]b_i(o_{t+1}),\quad i=1,2,...,N at+1(i)=[j=1Nat(j)aji]bi(ot+1),i=1,2,...,N
  3. 终止 P ( O ∣ λ ) = ∑ i = 1 N a T ( i ) P(O|\lambda)=\sum_{i=1}^Na_T(i) P(Oλ)=i=1NaT(i)
    用前向算法的计算量为 O ( N 2 T ) O(N^2T) O(N2T)阶的

后向算法

给定隐马尔可夫模型 λ \lambda λ,定义在时刻 t t t状态为 q i q_i qi的条件下,从 t + 1 t+1 t+1 T T T的观测序列为 o t + 1 , o t + 2 , . . . , o T o_{t+1},o_{t+2},...,o_T ot+1,ot+2,...,oT的概率为后向概率,记作 β t ( i ) = P ( o t + 1 , o t + 2 , . . . , o T ∣ i t = q i , λ ) \beta_t(i)=P(o_{t+1},o_{t+2},...,o_T|i_t=q_i,\lambda) βt(i)=P(ot+1,ot+2,...,oTit=qi,λ)可以用递推的方法求得后向概率 β t ( i ) \beta_t(i) βt(i)及观测序列概率 P ( O ∣ λ ) P(O|\lambda) P(Oλ)
算法如下:
输入:隐马尔可夫模型 λ \lambda λ,观测序列 O O O;
输出:观测序列概率 P ( O ∣ λ ) P(O|\lambda) P(Oλ)

  1. β T ( i ) = 1 , i = 1 , 2 , . . . , N \beta_T(i)=1,i=1,2,...,N βT(i)=1,i=1,2,...,N
  2. t = T − 1 , T − 2 , . . . , 1 t=T-1,T-2,...,1 t=T1,T2,...,1 β t ( i ) = ∑ j = 1 N a i j b j ( o t + 1 ) β t + 1 ( j ) , i = 1 , 2 , . . . , N \beta_t(i)=\sum_{j=1}^Na_{ij}b_j(o_{t+1})\beta_{t+1}(j),\quad i=1,2,...,N βt(i)=j=1Naijbj(ot+1)βt+1(j),i=1,2,...,N
  3. P ( O ∣ λ ) = ∑ i = 1 N π i b i ( o 1 ) β t ( i ) P(O|\lambda)=\sum_{i=1}^N\pi_ib_i(o_1)\beta_t(i) P(Oλ)=i=1Nπibi(o1)βt(i)

一些概率与期望的计算

  1. 给定模型 λ \lambda λ和观测 O O O,在时刻 t t t处于状态 q i q_i qi的概率。记 r t ( i ) = P ( i t = q i ∣ O , λ ) r_t(i)=P(i_t=q_i|O,\lambda) rt(i)=P(it=qiO,λ)可以通过前向后向概率计算。事实上, r t ( i ) = P ( i t = q i ∣ O , λ ) = P ( i t = q i , O ∣ λ ) P ( O ∣ λ ) r_t(i)=P(i_t=q_i|O,\lambda)=\frac{P(i_t=q_i,O|\lambda)}{P(O|\lambda)} rt(i)=P(it=qiO,λ)=P(Oλ)P(it=qi,Oλ)由前向概率 a t ( i ) a_t(i) at(i)和后向概率 β t ( i ) \beta_t(i) βt(i)定义可知: P ( i t = q i , O ∣ λ ) = P ( o 1 , o 2 , . . . , o t , i t = q i ∣ λ ) P ( o t + 1 , o t + 2 , . . . , o T , i t = q i ∣ λ ) = a t ( i ) β t ( i ) P(i_t=q_i,O|\lambda)=P(o_1,o_2,...,o_t,i_t=q_i|\lambda)P(o_{t+1},o_{t+2},...,o_T,i_t=q_i|\lambda)=a_t(i)\beta_t(i) P(it=qi,Oλ)=P(o1,o2,...,ot,it=qiλ)P(ot+1,ot+2,...,oT,it=qiλ)=at(i)βt(i)于是得到: r t ( i ) = a t ( i ) β t ( i ) P ( O ∣ λ ) = a t ( i ) β t ( i ) ∑ j = 1 N a t ( j ) β t ( j ) r_t(i)=\frac{a_t(i)\beta_t(i)}{P(O|\lambda)}=\frac{a_t(i)\beta_t(i)}{\sum_{j=1}^Na_t(j)\beta_t(j)} rt(i)=P(Oλ)at(i)βt(i)=j=1Nat(j)βt(j)at(i)βt(i)
  2. 给定模型 λ \lambda λ和观测 O O O,在时刻 t t t处于状态 q i q_i qi且在时刻 t + 1 t+1 t+1处于状态 q j q_j qj的概率。记 ξ t ( i , j ) = P ( i t = q i , i t + 1 = q i ∣ O , λ ) \xi_t(i,j)=P(i_t=q_i,i_{t+1}=q_i|O,\lambda) ξt(i,j)=P(it=qi,it+1=qiO,λ)可以通过前向后向概率计算: ξ t ( i , j ) = P ( i t = q i , i t + 1 = q j , O ∣ λ ) P ( O ∣ λ ) = P ( i t = q i , i t + 1 = q j , O ∣ λ ) ∑ i = 1 N ∑ j = 1 N P ( i t = q i , i t + 1 = q j , O ∣ λ ) \xi_t(i,j)=\frac{P(i_t=q_i,i_{t+1}=q_j,O|\lambda)}{P(O|\lambda)}=\frac{P(i_t=q_i,i_{t+1}=q_j,O|\lambda)}{\sum_{i=1}^N\sum_{j=1}^NP(i_t=q_i,i_{t+1}=q_j,O|\lambda)} ξt(i,j)=P(Oλ)P(it=qi,it+1=qj,Oλ)=i=1Nj=1NP(it=qi,it+1=qj,Oλ)P(it=qi,it+1=qj,Oλ) P ( i t = q i , i t + 1 = q j , O ∣ λ ) = a t ( i ) a i j b j ( o t + 1 ) β t + 1 ( j ) P(i_t=q_i,i_{t+1}=q_j,O|\lambda)=a_t(i)a_{ij}b_j(o_{t+1})\beta_{t+1}(j) P(it=qi,it+1=qj,Oλ)=at(i)aijbj(ot+1)βt+1(j)所以 ξ t ( i , j ) = a t ( i ) a i j b j ( o t + 1 ) β t + 1 ( j ) ∑ i = 1 N ∑ j = 1 N a t ( i ) a i j b j ( o t + 1 ) β t + 1 ( j ) \xi_t(i,j)=\frac{a_t(i)a_{ij}b_j(o_{t+1})\beta_{t+1}(j)}{\sum_{i=1}^N\sum_{j=1}^Na_t(i)a_{ij}b_j(o_{t+1})\beta_{t+1}(j)} ξt(i,j)=i=1Nj=1Nat(i)aijbj(ot+1)βt+1(j)at(i)aijbj(ot+1)βt+1(j)
  3. r t ( i ) r_t(i) rt(i) ξ t ( i , j ) \xi_t(i,j) ξt(i,j)对各个时刻 t t t求和,可以得到一些有用的期望值:
    (1).在观测 O O O下状态 i i i出现的期望值 ∑ t = 1 T r t ( i ) \sum_{t=1}^Tr_t(i) t=1Trt(i)
    (2).在观测 O O O下由状态 i i i转移的期望值 ∑ t = 1 T − 1 r t ( i ) \sum_{t=1}^{T-1}r_t(i) t=1T1rt(i)
    (3).在观测 O O O下由状态 i i i转移到状态 j j j二点期望值 ∑ t = 1 T − 1 ξ t ( i , j ) \sum_{t=1}^{T-1}\xi_t(i,j) t=1T1ξt(i,j)

学习算法

Baum-Welch算法

假设给定训练数据只包含 S S S个长度为 T T T的观测序列 { O 1 , O 2 , . . . , O S } \lbrace O_1,O_2,...,O_S \rbrace {O1,O2,...,OS}(只有已知观测数据)没有对应的状态序列,目标是学习隐马尔可夫模型 λ = ( A , B , π ) \lambda=(A,B,\pi) λ=(A,B,π)的参数。那么隐马尔可夫模型是一个含有隐变量的概率模型 P ( O ∣ λ ) = ∑ I P ( O ∣ I , λ ) P ( I ∣ λ ) P(O|\lambda)=\sum_IP(O|I,\lambda)P(I|\lambda) P(Oλ)=IP(OI,λ)P(Iλ)这是一个含有隐变量的参数估计的过程,其可以由EM算法实现。

  1. 确定完全数据的对数似然函数所有观测数据写成 O = ( o 1 , o 2 , . . . , o T ) O=(o_1,o_2,...,o_T) O=(o1,o2,...,oT),所有隐数据写成 I = ( i 1 , i 2 , . . . , i T ) I=(i_1,i_2,...,i_T) I=(i1,i2,...,iT),完全数据是 ( O , I ) = ( o 1 , o 2 , . . . , o T , i 1 , i 2 , . . . , i T ) (O,I)=(o_1,o_2,...,o_T,i_1,i_2,...,i_T) (O,I)=(o1,o2,...,oT,i1,i2,...,iT)。完全数据的对数似然函数是 l o g P ( O , I ∣ λ ) logP(O,I|\lambda) logP(O,Iλ)
  2. EM算法的E步: Q Q Q函数 ( λ , λ ‾ ) (\lambda,\overline{\lambda}) (λ,λ) Q ( λ , λ ‾ ) = ∑ I l o g P ( O , I ∣ λ ) P ( O , I ∣ λ ‾ ) Q(\lambda,\overline{\lambda})=\sum_IlogP(O,I|\lambda)P(O,I|\overline{\lambda}) Q(λ,λ)=IlogP(O,Iλ)P(O,Iλ)其中, λ ‾ \overline{\lambda} λ是隐马尔可夫模型参数的当前估计值, λ \lambda λ是要极大化的隐马尔可夫模型参数。 P ( O , I ∣ λ ) = π i 1 b i 1 ( o 1 ) a i 1 i 2 b i 2 ( o 2 ) ⋅ ⋅ ⋅ a i T − 1 i T b i T ( o T ) P(O,I|\lambda)=\pi_{i_1}b_{i_1}(o_1)a_{i_1i_2}b_{i_2}(o_2)···a_{i_{T-1}i_T}b_{i_T}(o_T) P(O,Iλ)=πi1bi1(o1)ai1i2bi2(o2)aiT1iTbiT(oT)
  3. EM算法的M步:极大化 Q Q Q函数 Q ( λ , λ ‾ ) Q(\lambda,\overline{\lambda}) Q(λ,λ)求模型参数,通过写出 Q Q Q函数的拉格朗日函数,并对位置参数求偏导使其为0,就可以求得参数。

预测算法

近似算法

近似算法的想法是,在每个时刻 t t t选择在该时刻最可能出现的状态 i t ∗ i_t^* it,从而得到一个状态序列 I ∗ = ( i 1 ∗ , i 2 ∗ , . . . , i T ∗ ) I^*=(i_1^*,i_2^*,...,i_T^*) I=(i1,i2,...,iT),将它作为预测的结果。
给定隐马尔可夫模型 λ \lambda λ和观测序列 O O O,在时刻 t t t处于状态 q i q_i qi的概率 r t ( i ) r_t(i) rt(i) r t ( i ) = a t ( i ) β t ( i ) P ( O ∣ λ ) = a t ( i ) β t ( i ) ∑ j = 1 N a t ( j ) β t ( j ) r_t(i)=\frac{a_t(i)\beta_t(i)}{P(O|\lambda)}=\frac{a_t(i)\beta_t(i)}{\sum_{j=1}^Na_t(j)\beta_t(j)} rt(i)=P(Oλ)at(i)βt(i)=j=1Nat(j)βt(j)at(i)βt(i)在每一个时刻 t t t最有可能的状态 i t ∗ i_t^* it i t ∗ = arg max ⁡ 1 ≤ i ≤ N [ r t ( i ) ] , t = 1 , 2 , . . . , T i_t^*=\argmax_{1 \leq i \leq N}[r_t(i)],\quad t=1,2,...,T it=1iNargmax[rt(i)],t=1,2,...,T从而得到状态序列 I ∗ = ( i 1 ∗ , i 2 ∗ , . . . , i T ∗ ) I^*=(i_1^*,i_2^*,...,i_T^*) I=(i1,i2,...,iT)。近似算法的优点是计算简单,其缺点是不能保证预测的状态序列整体是最有可能的状态序列,因为预测的状态序列可能有实际不发生的部分。

维特比算法

维特比算法实际是用动态规划解隐马尔可夫模型预测问题,即用动态规划求概率最大路径。这时一条路径对应着一个状态序列。
依据动态规划原理,我们只需从时刻 t = 1 t=1 t=1开始,递推地计算在时刻 t t t状态为 i i i的各条部分路径的最大概率直至得到时刻 t = T t=T t=T状态为 i i i的各条路径的最大概率。时刻 t = T t=T t=T的最大概率即为最优路径的概率 P ∗ P^* P,最优路径的终结点 i T ∗ i_T^* iT也同时得到。
算法如下:
输入:模型 λ = ( A , B , π ) \lambda=(A,B,\pi) λ=(A,B,π)和观测 O = ( o 1 , o 2 , . . . , o T ) O=(o_1,o_2,...,o_T) O=(o1,o2,...,oT)
输出:最优路径 I ∗ = ( i 1 ∗ , i 2 ∗ , . . . , i T ∗ ) I^*=(i_1^*,i_2^*,...,i_T^*) I=(i1,i2,...,iT)

  1. δ 1 ( i ) = π i b i ( o 1 ) , i = 1 , 2 , . . . , N \delta_1(i)=\pi_ib_i(o_1),\quad i=1,2,...,N δ1(i)=πibi(o1),i=1,2,...,N Ψ i ( i ) = 0 , i = 1 , 2 , . . . , N \Psi_i(i)=0,\quad i=1,2,...,N Ψi(i)=0,i=1,2,...,N
  2. 递推。对 t = 2 , 3 , . . . , T t=2,3,...,T t=2,3,...,T δ t ( i ) = max ⁡ 1 ≤ j ≤ N [ δ t − 1 ( j ) a j i ] b i ( o t ) , i = 1 , 2 , . . . , N \delta_t(i)=\max_{1\leq j \leq N}[\delta_{t-1}(j)a_{ji}]b_i(o_t),\quad i=1,2,...,N δt(i)=1jNmax[δt1(j)aji]bi(ot),i=1,2,...,N Ψ t ( i ) = arg max ⁡ 1 ≤ j ≤ N [ δ t − 1 ( j ) a j i ] , i = 1 , 2 , . . . , N \Psi_t(i)=\argmax_{1 \leq j \leq N}[\delta_{t-1}(j)a_{ji}],\quad i=1,2,...,N Ψt(i)=1jNargmax[δt1(j)aji],i=1,2,...,N
  3. 终止 P ∗ = max ⁡ 1 ≤ i ≤ N δ T ( i ) P^*=\max_{1 \leq i \leq N}\delta_T(i) P=1iNmaxδT(i) i T ∗ = arg max ⁡ 1 ≤ i ≤ N [ δ T ( i ) ] i_T^*=\argmax_{1 \leq i \leq N}[\delta_T(i)] iT=1iNargmax[δT(i)]求得最优路径 I ∗ = ( i 1 ∗ , i 2 ∗ , . . . , , i T ∗ ) I^*=(i_1^*,i_2^*,...,,i_T^*) I=(i1,i2,...,,iT)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值