zoukankan      html  css  js  c++  java
  • 隐马尔可夫模型(一)——马尔可夫模型(转载)

    简介

    马尔可夫模型(Markov Model)描述了一类随机变量时间而变化的随机函数。考察一个状态序列(此时随机变量为状态值),这些状态并不是相互独立的,每个状态的值依赖于序列中此状态之前的状态。

     

    数学描述

    一个系统由N个状态S= {s1,s2,...sn},随着时间的推移,该系统从一个状态转换成另一个状态。Q= {q1,q2,...qn}为一个状态序列,qi∈S,在t时刻的状态为qt,对该系统的描述要给出当前时刻t所处的状态st,和之前的状态s1,s2,...st, 则t时刻位于状态qt的概率为:P(qt=st|q1=s1,q2=s2,...qt-1=st-1)。这样的模型叫马尔可夫模型。

    特殊状态下,当前时刻的状态只决定于前一时刻的状态叫一阶马尔可夫模型,即P(qt=si|q1=s1,q2=s2,...qt-1=sj) =P(qt=si|qt-1=sj)。

    状态之间的转化表示为aij,aij=P(qt=sj|qt-1=si),其表示由状态i转移到状态j的概率。其必须满足两个条件:   1.aij≥ 0    2.=1

    对于有N个状态的一阶马尔科夫模型,每个状态可以转移到另一个状态(包括自己),则共有N2次状态转移,可以用状态转移矩阵表示。

     

    例子

    一段文字中名词、动词、形容词出现的情况可以用有3个状态的y一阶马尔科夫模型M表示:

                      状态s1:名词         状态s2:动词       状态s3:形容词

    状态转移矩阵:     s1            s2          s3

                         A=  

    则状态序列O=“名动形名”(假定第一个词为名词)的概率为:

              P(O|M) = P(s1,s2,s3,s4} = P(s1)*p(s2|s1)p(s3|s2)p(s1|s3)

                                                 =p(s1)*a12*a23*a31

                                                 =1*0.5*0.2*0.4

                                                 =0.04

     

    应用领域

    马尔科夫模型可以用来语音识别、音字转化、词性标注、统计机器翻译。

  • 相关阅读:
    使用Apache的ab工具进行压力测试
    Effective Java开篇
    mysql删除同一表中重复字段记录
    正则表达式的元字符匹配
    几个学习git的地方
    创建和销毁对象
    遇到多个构造器参数时要考虑用构建器
    Java的类和接口
    转:流言粉碎机:每天对着电脑46小时的人必看
    页面选中文字弹出层,点击层中文字或者图片触发事件
  • 原文地址:https://www.cnblogs.com/jason-wyf/p/6219097.html
Copyright © 2011-2022 走看看