• 统计学习方法十:隐马尔科夫模型二


    上一篇博客介绍了隐马尔科夫模型的基本概念和概率计算问题。 这篇博客主要介绍马尔可夫模型的学习问题和预测问题。

    一、学习算法

    已知观测序列O(o1,o2,...oT),估计模型r的参数,使的观测序列O出现的概率P(O|r)最大
    
    学习算法分为两种:
    (1)监督学习算法:训练数据包括观测序列(输入)和对应的状态序列(输出)
    (2)非监督学习算法:训练数据值包括观测序列
    
    1、监督学习方法
    
        用极大似然估计来估计隐马尔科夫模型的参数:状态转移矩阵、观测概率矩阵、初始状态概率向量。
        简单来说,就是用频率来估计概率。
    
        训练数据集:S个观测序列、状态序列对
                    其中状态集合有N个元素,观测集合有M个元素
    
    (1)状态转移概率:
        统计状态i转移到状态j的频数
        统计状态i转换到状态1~N的频数
        两者相比就是状态i转移到状态j的频率 —— 概率的估计
    
    (2)观测概率
        统计状态为i、观测为k的频数
        统计状态为i、观测为1~M的频数
        两者相比就是状态为i、观测为k的频率 —— 概率的估计
    
    (3)初始状态概率
        统计初始状态为i的频数
        统计一共有多少个初始状态(S个)
        两者相比就是初始状态为i的频率 —— 概率的估计
    

    2、非监督学习方法—— Baum-Welch算法
    
        训练数据集:S个长度为T的观测序列
    
    (1)参数学习 —— EM算法
        Q函数 —> 求极大值(分别用拉格朗日函数表示πi、aij、bj(k),求偏导=0,求解三个值)
    (2)用t时刻处于状态qi的概率和t时刻处于qi且t+1时刻处于qj的概率,替换上面结果中的概率
    

    二、预测算法

    给定模型r=(A,B,π)和观测序列O(o1,o2,...,oT),求最有可能的对应的状态序列
    
    主要包含两者算法:
    (1)近似算法:在每个时刻t选择在该时刻最优可能出现的状态it,从而得到一个状态序列I(i1,i2,..iT),将它作为预测的结果
    (2)维特比算法:用动态规划解隐马尔科夫模型预测问题,即用动态规划求概率最大路径(最优路径),这时一条路径对应着一个状态序列。
    

    先从概念上理解一下吧,容我缓缓再加上数学推导..... ..................................................

  • 相关阅读:
    Struts2+Spring2+Hibernate3 web应用示例(一)
    第二版序言
    Struts2+Spring2+Hibernate3 web应用示例(四)
    Struts2+Spring2+Hibernate3 web应用示例(六)
    终于轻松了
    Struts2+Spring2+Hibernate3 web应用示例(三)
    Dojo实用API
    AJAX实例入门
    JeffChen » C语言常用宏定义技巧
    FUZZ测试方法介绍
  • 原文地址:https://www.cnblogs.com/naonaoling/p/5702835.html
Copyright © 2020-2023  润新知