博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
七月算法-12月机器学习在线班--第十七次课笔记-隐马尔科夫模型HMM
阅读量:4988 次
发布时间:2019-06-12

本文共 1183 字,大约阅读时间需要 3 分钟。

七月算法-12月机器学习--第十七次课笔记-隐马尔科夫模型HMM

七月算法(julyedu.com)12月机器学习在线班学习笔记

 

隐马尔科夫模型

   三个部分:概率计算,参数估计,模型预测

1,HMM定义

   HMM由初始概率分布π、状态转移概率分布A以及观测概率分布B确定。

        

  Eg:以中文分词为例子

   隐状态为="2",是不是终止字,是/否?(Y/N)即是不是最后一个字。

   A矩阵:第一个:当前是终止字,下一个也是终止字的概率

   B是当前的隐状态是终止词,观察到的终止字是什么,char

       

   参数总结,隐状态是离散的,B是N*M矩阵,A是N*N的矩阵

 

1.2 HMM的两个基本性质

    齐次假设:

    观测独立性假设:

    如果实践中,符合这两个性质,则可以考虑是否用HMM模型

   Eg: 选一个盒子,摸一个放回

             

     该示例的各个参数

            

1.3 HMM的3个基本问题

       1,概率计算问题:前向-后向算法——动态规划

       2, 学习问题:Baum-Welch算法(状态未知)——EM

       3, 预测问题:Viterbi算法——动态规划

1.3.1 概率计算问题

        三种方法,直接算法,前向算法,后向算法

1.3.2 直接算法

       

对所有可能的状态序列I求和,得到观测序列O的概率

       

      直接算法,时间复杂度太高,只停留在理论阶段

 

1.3.3 前向算法

     前向概率-后向概率的定义

     前向算法

         1,初值:

                2,递推:对于t=1,2…T-1

                   

         3,最终

                   

          前向算法的时间复杂度是o(T*)

1.3.4 后向算法

1.3.5 前后向关系

       在某一个时刻,

         

1.3.6 单个状态的概率

       求给定模型λ和观测O,在时刻t处于状态qi的概率

        

        最有可能发生的隐状态,取一个最大值

      γ的意义:

       

       不是Viterbi算法

1.3.7 两个状态的联合概率

        求给定模型λ和观测O,在时刻t处于状态qi并且时刻t+1处于状态qj的概率。

        

1.4 HMM学习问题

        1, 若训练数据包括观测序列和状态序列,则HMM的是监督学习;

        2,若训练数据只有观测序列,则HMM的学习需要使用EM算法,是非监督学习。

1.4.1 Baum-Welch算法

        本质上是EM算法

  1. 假设
    是HMM参数的当前估计值,
    为待求的参数。

               

  1. EM过程

    A, EM的STEP1先求联合概率

    以上分成了3个部分,

    B, EM的STEP2-期望极大值部分

     

1.5 HMM预测算法

       两种算法:近似算法, Viterbi算法

1.5.1 Viterbi算法

      Viterbi算法实际是用动态规划解HMM预测问题,用DP求概率最大的路径(最优路径),这是一条路径对应一个状态序列。

      定义变量:在时刻t状态为i的所有路径中,概率的最大值。

             

     总结:实践中分词的隐状态可以有多个,eg:开头,中间,最后一个等等

转载于:https://www.cnblogs.com/sweet-dew/p/5490912.html

你可能感兴趣的文章
ie6 div+css
查看>>
Hbase 源码研究
查看>>
python IsWindowEnabled遍历windows的所有窗口并输出窗口标题
查看>>
java面向对象三大特性:封装、继承、多态
查看>>
Oracle sql优化
查看>>
sweetalert 快速显示两个提示, 第二个显示不出的问题
查看>>
Redis 键(key)
查看>>
granger Z-score问题
查看>>
mybatis系列-07-输出映射
查看>>
将本地项目和远程git仓库相连接
查看>>
cocos3.12预编译android报错RuntimeJsImpl.cpp
查看>>
未解决的题-幂函数的奇偶性
查看>>
wc移植sae笔记
查看>>
<welcome-file-list>标签作用,怎样使用
查看>>
Codeforces Round #311 (Div. 2) E. Ann and Half-Palindrome 字典树/半回文串
查看>>
Codeforces Round #115 B. Plane of Tanks: Pro 水题
查看>>
BZOJ 2648: SJY摆棋子 kdtree
查看>>
Entity Framework
查看>>
第一阶段结对作业验收小学生四则运算
查看>>
理解python可变类型vs不可变类型,深拷贝vs浅拷贝
查看>>