zoukankan      html  css  js  c++  java
  • 隐马尔可夫模型

    隐马尔可夫模型定义

    隐马尔可夫模型是描述两个时序序列联合分布p(x,y)的概率模型,x序列外界可见,称为观测序列;y序列外界不可见,称为状态序列。比如观测x为单词,状态y为词性。

    隐马尔可夫模型利用三个要素来模拟时序序列的发生过程,初始状态概率向量,状态转移概率矩阵和发射概率矩阵。

    [公式]

    其中 [公式] 为初始时刻的概率分布  [公式] 为状态转移矩阵  [公式] 为发射矩阵

     模型的详细定义见 https://zhuanlan.zhihu.com/p/380298879

    马尔科夫假设(确定了状态与观测之间的依赖关系)

    每个事件的发生概率只取决于前一个事件,将满足该假设的连续多个事件串联在一起,就构成了马尔可夫链。

    任意时刻的观测x只依赖于该时刻的状态y,与其他时刻的状态或观测独立无关。

    隐马尔可夫模型要解决的三个问题

    (1)样本生成问题:给定模型,生成满足模型约束的样本,即一系列观测序列及其对应的状态序列。(Evaluation问题)

    (2)模型训练问题:给定训练集观测序列和状态序列,估计模型参数(Learning问题)

    (3)序列预测问题:已知模型参数,给定观测序列x,求最可能的状态序列y(最具有实际意义的问题)(Decoding问题)

    Evaluation问题是给定模型参数去求所有可能的观测序列的概率,所有的观测序列有N的T次方种可能,复杂度太大,直接求解不太现实,因此采用前向算法降低了时间复杂度, [公式] 代表前 [公式] 时刻的观测变量与 [公式] 时刻的隐状态, [公式] 代表[公式] 时刻的隐状态为 [公式],通过[公式] 与 [公式] 的递推式快速计算出 [公式]降低了时间复杂度。

  • 相关阅读:
    robotframework学习
    mvc4 分离Controller 出现 未找到路径“/”的控制器或该控制器未实现 IController
    Cocos2d-x-3.0 Touch事件处理机制
    android微信分享要注意的地方
    驾校管理系统
    计算机存储单位换算
    C# 网络编程
    Android SQLite操作类--封装
    Android--数据库操作框架
    中英文混合字符串截取java
  • 原文地址:https://www.cnblogs.com/zhang12345/p/15721540.html
Copyright © 2011-2022 走看看