隐马尔可夫
隐马尔可夫
隐马尔可夫模型由隐含状态链和可见状态链组成。
接下来用投骰子的实验,阐述隐含状态链和可见状态链的由来。
隐含状态链和可见状态链的由来
实验中有三种不同的骰子。
第一个是立方体,有1到6、六个面,记作D6。
第二个是正4面体,1到4四个面,记作D4。
第三个是正8面体,1到8,8个面,记作D8。
它们每个面出现的概率分别是1/6、1/4和1/8。
我们蒙着眼睛,从这三个骰子中,随机的选择一个,进行抛掷。
投掷后,可以得到1到8中的某个数字。
按照这样的方式,重复的随机选择骰子,不断的抛掷,就可以得到一串数字。
因为这串数字是我们可以看到的,并直接记录下来的,因此我们将这串数字称为可见状态链。
在抛掷的过程中,被我们随机选出来的骰子的编号,也可以组成一串序列,序列中包括了D4、D6和D8。
因为我们是蒙着眼睛选骰子,所以并不知道具体选的是哪个骰子(注解)。
因此,我们称这组骰子编号序列为隐含状态链。
(注解): 假设实验是在理想状态下进行,3个骰子摸起来的感觉是一样。在抛掷时,一定不知道选的是哪个骰子。
在实验过程中,产生了两个数据链,可见状态链与隐含状态链,将它们组合在一起,就是隐马尔可夫模型。
隐马尔可夫模型的概念
隐马尔可夫模型(Hidden Markov Model),简称HMM。
它是关于时序的概率模型,该模型包含了随机生成的不可观测序列,该序列被称为状态序列,使用S表示。
例如,刚刚的骰子序列,就是状态序列。
每个不可观测状态,都会产生一个可观测的结果,这样会得到一个观测序列,使用O表示。
也就是掷骰子时,产生的数字序列。
每个状态和观测都会与一个时刻进行对应,如果有t个时刻,就产生了s1到st,o1到ot。
就像我们掷骰子,需要一次一次的掷,那么t就可以代表是第几次掷骰子。
在HMM中,状态序列是隐藏的,无法被观测到,因此状态变量是一个隐变量,这也是HMM中H的来源。
而MM是马尔可夫模型,它代表了隐藏的状态序列是由一个马尔科夫链,随机生成的。
隐马尔可夫模型的关键因素
在隐马尔可夫模型中,包含了四个关键因素:
- 隐含状态
- 可见状态
- 隐含状态的转换
- 可见状态的输出
各个隐含状态之间会进行转换,并有对应的转换概率。
例如,在掷骰子的过程中,如果每次都是随机挑选骰子,那么三种不同骰子的转换概就是1/3。
隐含状态会输出可见状态,它们之间有一个输出概率,不同隐含状态到可见状态的输出概率可能不同。
例如,隐含状态D6输出可见状态1到6,概率是1/6。D4输出1到4,概率是四分之一。
隐马尔可夫模型的数学表示
为了进一步讨论隐马尔可夫模型,需要使用数学符号来表示HMM。
隐马尔可夫模型的集合
隐马尔可夫模型包含两个集合:
- 隐含状态集合Q: 隐含状态集合Q,包括q1到qn,N种状态
- 观测结果集合V: 观测结果集合V,包括v1到vm,M种可能的结果
在掷骰子的案例中,n=3,q1、q2、q3对应D6、D4、D8,m=8,v1到v8对应数字1到8。
隐马尔可夫模型的概率矩阵
隐马尔可夫模型包含三个概率矩阵:
状态转移概率矩阵A
状态转移的概率矩阵A是一个N*N的矩阵。
其中aij代表了状态qi转移到状态qj的概率。
具体的,aij等于,在st等于qi的条件下,s(t+1)等于qj的概率。
3个骰子,选择任意骰子的概率都是1/3,那么就得到了3乘3的状态转移概率矩阵,其中的每个元素都是0.33。
观测概率矩阵B
观测概率矩阵B,由于每一个状态q都可以输出一个观测结果v,因此B是一个N乘M的矩阵。
其中bij代表了在时刻t,状态qi输出观测结果vj的概率。
在掷骰子时,根据三种骰子的输出,可以得到一个3乘8的概率矩阵。
第一行对应了六面骰子,掷出1到6的概率是六分之一,掷出7和8的概率是0。
而第二行和第三行,分别代表投掷四面、八面骰子的输出1到8的概率。
初始状态概率向量矩阵π
初始状态的概率向量是π,它是一个N*1的列向量。
πi代表了在时刻t=1时,状态为qi的概率。
例如,掷骰子时,三种骰子的初始概率都是0.33。
隐马尔可夫模型的概率矩阵关系
π和A确定了隐藏马尔科夫链,也就是如何生成不可观测的状态序列s。
B确定了如何从隐藏状态产生观测序列o。
隐马尔可夫模型由A、B、π共同决定,使用三元符号λ等于A、B、π表示。