Baum Welch估计HMM参数实例

下面的例子来自于《What is the expectation maximization algorithm?》

题面是:假设你有两枚硬币A与B,这两枚硬币抛出正面的概率分别为\(\theta_A\)和\(\theta_B\)。下面给出一些观测的结果,需要你去估计这两个参数\(\theta_A\)与\(\theta_B\)

  1. 假设给的数据是完整的数据,也就是样本数据告诉了你,此样本来自硬币A还是硬币B。针对与完整的数据,直接使用极大似然估计即可。具体的计算如下图所示:

我们可以看到,整个估计的过程就是分别统计来自A的正反面与来自B的正反面,然后内部进行估计(本质上是极大似然)。

  1. 如果给的数据是不完整的数据呢,比如我们不知道当前观测序列是来自硬币A 还是硬币B,这个时候,就需要使用EM算法。

这里解释下求解的过程,首先是我们假设初始的\(\theta_A\)与\(\theta_B\)的值分别为 \(0.6\) 与 \(0.5\). 我们必须要知道当前样本来自A的概率与来自B的概率,然后才能得出来自A的正面期望数和来自B的正面期望数。估计很多人会被卡在这里,我也是。因为不知道图上的\(0.45\)等值是怎么得出来的。 实际上很简单,既然我们有了观测序列,那么我们分别计算一下来自A的似然值,然后再计算一下来自B的似然值。根据似然的大小来决定概率,具体的坐下如下
\[L_A = 0.6^5\times (1 - 0.6)^5 = 0.0007962624\]
然后再计算下来自B的似然值
\[L_B = 0.5^5\times (1 - 0.5)^5 = 0.0009765625\]
然后计算下这两个的比值,来计算来自A的概率
\[P(A) = \dfrac{L_A}{L_A + L_B} = 0.45\]
那么\[P(B) = 1 - P(A) = 0.55\]

然后采用上面求MLE的方法估计参数\(\theta_A\)和参数\(\theta_B\).
重复上述过程几次到收敛即可。

Baum Welch估计HMM参数实例的更多相关文章

  1. 隐马尔科夫模型HMM(三)鲍姆-韦尔奇算法求解HMM参数

    隐马尔科夫模型HMM(一)HMM模型 隐马尔科夫模型HMM(二)前向后向算法评估观察序列概率 隐马尔科夫模型HMM(三)鲍姆-韦尔奇算法求解HMM参数(TODO) 隐马尔科夫模型HMM(四)维特比算法 ...

  2. 在 R 中估计 GARCH 参数存在的问题(基于 rugarch 包)

    目录 在 R 中估计 GARCH 参数存在的问题(基于 rugarch 包) 导论 rugarch 简介 指定一个 \(\text{GARCH}(1, 1)\) 模型 模拟一个 GARCH 过程 拟合 ...

  3. 在 R 中估计 GARCH 参数存在的问题(续)

    目录 在 R 中估计 GARCH 参数存在的问题(续) rugarch 包的使用 简单实验 rugarch 参数估计的行为 极端大样本 结论 在 R 中估计 GARCH 参数存在的问题(续) 本文承接 ...

  4. 在 R 中估计 GARCH 参数存在的问题

    目录 在 R 中估计 GARCH 参数存在的问题 GARCH 模型基础 估计 GARCH 参数 fGarch 参数估计的行为 结论 译后记 在 R 中估计 GARCH 参数存在的问题 本文翻译自< ...

  5. Baum–Welch algorithm

    Baum–Welch algorithm 世界上只有一个巴菲特,也只有一家文艺复兴科技公司_搜狐财经_搜狐网 http://www.sohu.com/a/157018893_649112

  6. 读取xml文件中的配置参数实例_java - JAVA

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 paras.xml文件 <?xml version="1.0" encoding=" ...

  7. 鲍姆-韦尔奇算法求解HMM参数

    1. HMM模型参数求解概述 HMM模型参数求解根据已知的条件可以分为两种情况. 第一种情况较为简单,就是我们已知DD个长度为TT的观测序列和对应的隐藏状态序列,即{(O1,I1),(O2,I2),. ...

  8. HMM分词实例

    class HMM(object): def __init__(self): import os # 主要是用于存取算法中间结果,不用每次都训练模型 self.model_file = 'model/ ...

  9. flask-sqlalchemy中 backref lazy的参数实例解释和选择

    官方文档:http://docs.sqlalchemy.org/en/rel_1_0/orm/basic_relationships.html#relationship-patterns 最近在学习到 ...

随机推荐

  1. git如何强制用远程分支更新本地

    git本地即使有修改如何强制更新: 本地有修改和提交,如何强制用远程的库更新本地.我尝试过用git pull -f,总是提示 You have not concluded your merge. (M ...

  2. Yii2.0 集成使用富头像上传编辑器

    在开发过程中,我们会用到头像上传的功能.这里给大家推荐一款比较流行的头像上传组件,FullAvatarEditor 2.3(富头像上传编辑器). 实际效果如图所示: 1.下载组件,下载地址:http: ...

  3. Python3+Selenium3+webdriver学习笔记6(多窗口切换处理)

    #!/usr/bin/env python# -*- coding:utf-8 -*- from selenium import webdriverfrom selenium.webdriver.co ...

  4. [SecureCRT]通过SFTP方式上传本地文件到服务器

    1.在本地建一个文件夹,如:d:\My Documents,在此目录下,放入我们需要上传的文件,如:nmon_linux_x86_64 2.然后打开我们的SecureCRT工具,一次选择Options ...

  5. jsp四大作用域之Session

    <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding= ...

  6. 51nod 1631 小鲨鱼在51nod小学

    基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 鲨鱼巨巨2.0(以下简称小鲨鱼)以优异的成绩考入了51nod小学.并依靠算法方面的特长,在班里担任了许多职务.   ...

  7. 洛谷 P2014 选课

    题目描述 在大学里每个学生,为了达到一定的学分,必须从很多课程里选择一些课程来学习,在课程里有些课程必须在某些课程之前学习,如高等数学总是在其它课程之前学习.现在有N门功课,每门课有个学分,每门课有一 ...

  8. CCCC 以及 hihocoder offer收割赛11 ~~~

    CCCC  真的很蒙  ,没有队服,没有狗牌,服务器崩溃到14:10  才开始比赛...(黑人问号 开始前,发现旁边是西交老大吴航,mad~各种紧张.看着大佬疯狂的敲宏定义就很怕啊.100多行,一行头 ...

  9. 1066: 输入n个数和输出调整后的n个数

    1066: 输入n个数和输出调整后的n个数 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 2739  Solved: 1578[Submit][Stat ...

  10. Spring中使用事务搭建转账环境方法二 相对简便的注解方法 ——配置文件注入对象属性需要setter方法 注解方法,不需要生成setter方法

    XML配置文件代码如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...