隐马尔可夫模型
隐马尔可夫模型
标签: 模式分类
@author lancelot-vim
在一些与时间相关的问题中,我们会遇到t时刻发生的事件受t-1时刻发生事件的直接影响,处理这些问题时,隐马尔可夫模型(hidden markov model, HMM)得到了最好的应用,例如在语音识别或者手势识别领域,隐马尔可夫模型具有一组已经设计好的参数,他们可以最好地解释特定类别中的样本。在使用中,一个测试样本被归类为能产生最大后验概率的那个类别,也就是说,这个类别的模型最好地解释了这个测试样本。
一阶马尔可夫模型
考虑连续时间上的一系列状态,在t时刻的状态被记为w(t)<script id="MathJax-Element-33" type="math/tex">w(t)</script>,一个(在时间长度上)为T的状态序列记为wT={w(1),w(2), ... ,w(T)}<script id="MathJax-Element-34" type="math/tex">w^T = \{w(1), w(2), \ ...\ , w(T)\}</script>,比如我们可能有w6={w1,w4,w2,w2,w1,w4}<script id="MathJax-Element-35" type="math/tex">w^6 = \{w_1, w_4, w_2, w_2, w_1, w_4\}</script>,系统在不同时刻可以处于同一状态,但同一时刻不要求所有状态都被取到。
产生数据的机理是通过转移概率,记为P(wj(t+1)|wi(t))=aij<script id="MathJax-Element-36" type="math/tex">P(w_j(t+1) | w_i(t)) = a_{ij}</script>,表示系统在某一时刻处于状态wi<script id="MathJax-Element-37" type="math/tex">w_{i}</script>的情况下,下一时刻为wj<script id="MathJax-Element-38" type="math/tex">w_j</script>的概率,这个概率是与时间无关的,即aij<script id="MathJax-Element-39" type="math/tex">a_{ij}</script>是个常数,我们不需要aij=aji<script id="MathJax-Element-40" type="math/tex">a_{ij} = a_{ji}</script>,而且,有可能前后两个时刻都处于同一状态中,即aii≠0<script id="MathJax-Element-41" type="math/tex">a_{ii} \neq 0</script>,如图所示:

假设已有模型θ<script id="MathJax-Element-42" type="math/tex">\theta</script>,即全部转移概率aij<script id="MathJax-Element-43" type="math/tex">a_{ij}</script>已知,并且还知道某一特定序列wT<script id="MathJax-Element-44" type="math/tex">w^T</script>,为了计算该模型产生这个特定序列的概率,我们需要做的仅仅是吧连续的转移概率相乘,例如计算产生上述序列的概率,我们有P(w6|θ)=a14a42a22a21a14<script id="MathJax-Element-45" type="math/tex"> P(w^6 | \theta) = a_{14} a_{42} a_{22} a_{21} a_{14} </script>,假如知道了第一个状态的先验概率,那么就能计算出完整的产生该序列的概率。
到目前为止,我们讨论的是一阶马尔可夫模型,因为某一时刻的概率仅仅和前一时刻有关,但是人们可能不能直接观测到某些状态,比如单词”cat”,需要从音标/k/转移到/a/,再转移到/t/,但人们往往只能听到发音而感受不到这些特定的状态,所以我们需要改变当前讨论的模型,引入”可见状态”(visible state)——即那些可以观测到的外部状态,和状态w<script id="MathJax-Element-46" type="math/tex">w</script>——那些不能直接观测到的内部状态。
一阶隐马尔可夫模型
假设在某一时刻t,系统都处于某个状态
在t时刻的状态w(t)<script id="MathJax-Element-50" type="math/tex">w(t)</script>下,没一个可能发出的状态vk(t)<script id="MathJax-Element-51" type="math/tex">v_k(t)</script>都有相应的概率,记为P(vk(t)|wj(t))=bjk<script id="MathJax-Element-52" type="math/tex">P(v_k(t) | wj(t)) = b_{jk}</script>,因为我们只能观测到可见状态,因此我们并不能知道内部处于哪个状态,所以这个模型叫做”隐马尔可夫模型”,如图所示:

更多推荐



所有评论(0)