马尔科夫模型
二阶马尔科夫模型案例
初始概率分布
状态转移概率分布
状态集合
状态集合S={sunny,cloudy,rainy}。
观测序列
观测状态序列可以是X=x1,...,xt,...,xT,其中xt∈S。
观测序列就是一个系列的状态。马尔科夫模型在计算状态序列的概率时,考虑了转移概率,也就是从一个状态转移到另一个状态的概率。
观测序列概率计算
使用马尔科夫模型计算观测状态序列的概率:
其中θ为模型参数,θ={ p(x) | x∈S }∪{ p(x'|x) | x,x' ∈ S },也就是初始概率和转移概率,这些都为参数。
P(x;θ)表示在参数θ下,观测状态序列的概率。
因为当前状态的生成只依赖于前一个状态,故称为二阶马尔科夫模型。
连续四天下雨的概率
P(rainny,rainny,rainny,rainny;θ)
=P(x1=s3,x2=s3,x3=s3,x4=s3;θ)
=P(x1=s3) x P(x2=s3 | x1=s3) x P(x3=s3 | x2=s3) x P(x4=s3|x3=s3)
=π3 x a33 x a33 x a33
=0.3 x 0.4 x 0.4 x 0.4
=0.0192
状态初始化概率
状态初始化概率就是初始时状态的概率,定义为:
πi=p(x1=si),1≤i≤N。
状态初始化概率满足的性质
非负性:πi≥0
归一性:
在天气案例中,状态初始化概率分别为:π1=0.4,π2=0.3,π3=0.3。
状态转移概率
状态转移概率就是从当前状态转移到另一个状态的概率,定义为:
aij=p(xt=sj | xt-1 = si) ,1≤i , j≤N
表明在前一个状态为si事件发生下,后一个状态为sj的概率,这是一个条件概率。
状态转移概率满足的性质:
非负性:
归一性:
归一性表明,从状态i转移到其他所有状态的概率总和为1。
例如在天气案例中,a12表明前一个状态为晴天时,后一个状态为阴天的概率,a12=0.5。
马尔科夫模型的极大似然估计
给定包含D个样本的训练数据D={x(d)}Dd=1,使用极大似然估计来从训练数据中自动获取最优模型参数(初始概率和转移概率):
似然函数L(θ)通常以对数形式定义:
其中T(d)表示第d个序列的长度,xt(d)表示第d个序列x(d)中的第t个状态。
构造拉格朗日函数:
计算初始概率
估计初始概率,就要对初始概率求偏导,求目标函数的极值
δ(a,b)中,当a=b时为1,否则为0。令式子等于0,得到:
计算λ
估计λ的值,就要对λ求导,求目标函数的极值:
令式子等于0,得到:
将代入式子中,得到:
注意,在λ表达式中,x表示的是S集合中任意状态,是与式子无关的量,而在p(x)式中,x是与p(x)有关的一个量,表示特定的一个状态,在整合的时候应当区分开,使用x'代替,将λ的结果代入p(x)中可以得到:
计算状态转移概率
估计状态转移概率,就要对转移概率求导:
令式子等于0,得到:
计算参数γ
目标函数对参数γx求偏导:
令式子等于0,同时将代入,得到:
注意,在γx式子中,x'表示为集合S中任何一个状态,与γx无关,但是在p(x'|x)式子中,是与p(x'|x)有关的一个变量,表示特定的一个状态'。因此在整合的时候要区分开,将γx中使用x''代替,得到最终式子:
参数估计公式
经过上述推导,得到参数估计公式。回想一下,δ(a,b)中,当a=b时为1,否则为0。
状态初始化概率的估计公式为:
分子表示在所有状态序列中,第一个状态序列为x的次数;分母表示在所有状态序列中,第一个状态为任意状态的次数,也就是状态序列的总数;整个式子描述了第一个状态为x的状态序列占总的状态序列的比例,也就是初始状态概率。
状态转移概率的估计公式为:
分子表示在所有的状态序列中,前一个状态为x,后一个状态为x',这样成对出现的次数;分母表示在所有状态序列中,前一个状态为x,后一个状态为状态集合中任意状态,这样成对出现的次数;整个式子描述了以 状态x为起点且以状态x'的结束的序列 占以状态x为起点以任意状态x''结束的序列的比例,也就是状态转移概率