概率图模型1:隐马尔科夫(1)

数学建模系列-预测模型(四)马尔可夫预测 马尔可夫(Markov)预测法,就是一种关于事件发生的概率预测方法。它是根据事件的目前状况来预测其将来各个时刻(或时期)变动状况的一种预测方法。马尔可夫预测法是地理预测研究中重要的预测方法之一。1. 状态指某一件事在某个时刻(或时期)出现的某种结果。2.状态转移过程事件的发展,,称为状态转移。3.马尔可夫过程在事件的发展过程中,若每次状态的转移都仅与前一时刻的状态有关,而与过去的状态无关,或者说,则这样的状态转移过程就称为马尔可夫过程。4.状态转移概率。 阅读详情

作者:相国大人


写这篇博文用了很多时间和精力,如果这篇博文对你有帮助,希望您可以打赏给博主相国大人。哪怕只捐1毛钱,也是一种心意。通过这样的方式,也可以培养整个行业的知识产权意识。我可以和您建立更多的联系,并且在相关领域提供给您更多的资料和技术支持。

赏金将用于拉萨儿童图书公益募捐

手机扫一扫,即可:

附:《春天里,我们的拉萨儿童图书馆,需要大家的帮助》


概率图模型系列博文目录(实时更新,点此处)


1. 导读

参考文献

  • 《机器学习郑捷》第11章
  • 机器学习周志华 14章
  • 《统计学系方法》第10章
  • 《概率图模型》第3章贝叶斯网表示和马尔科夫
  • 《驾驭文本》

隐马尔科夫模型

两个基本假设:

  1. 齐次马尔科夫性假设:隐藏的马尔科夫链在任意时刻 t 的状态只依赖于前一时刻的状态,与其他时刻的状态及观测无关,也与时刻t无关。

  2. 观测独立性假设:任意时刻的观测只依赖于该时刻的马尔科夫链的状态,与其他观测及状态无关。

说人话,就下面这个图,其中箭头和连边表示概率依赖。

这里写图片描述

从这个图中,我们可以很轻松的对后面的一些公式做推导。比如:

(ot+1|o1:t,It+1=qi)=(ot+1|It+1=qi)(1.1)

上面的公式为了书写简便,我们省略掉了概率符号 P (下同),并且用o1:t表示 (o1,⋯,ot) (下同)。
(It+1=qi|o1:t,It=qj)=(It+1=qi|It=qj)(1.2)

(ot+1:T|It+1=qi,It=qi)=(ot+1:T|It+1=qi)(1.3)

(ot+2:T|It+1=qj,ot+1)=(ot+2:T|It+1=qj)(1.4)

(It+1|o1:t,It)=(It+1|It)(1.5)

(ot+1|It+1,o1:t,It)=(ot+1|It+1)(1.6)

基本定义:

转移概率 aij=(It+1=qj|It=qi)

观测概率 bj(ot)=(ot|It=qj)

初始状态概率 πi=P(I1=qi)

隐马尔科夫模型的3个基本问题

  1. 概率计算
  2. 学习问题
  3. 预测问题/解码问题

概率计算问题

前向算法

前向概率 αt(i)=(o1:t,It=qi)

转移概率 aij=(It+1=qj|It=qi)

观测概率 bj(ot)=(ot|It=qj)

初始状态概率 πi=P(I1=qi)

初始前向概率:

α1(i)=(o1,I1=qi)=(I1=qi)(o1|I1=qi)=πibi(o1)(1.8)

前向概率的迭代推导:
αt+1(i)=(o1:t+1,It+1=qi)=(o1:t,It+1=qi)(ot+1|o1:t,It+1=qi)=(o1:t,It+1=qi)(ot+1|It+1=qi)(由公式(1.1)得来)=(o1:t,It+1=qi)bi(ot+1)=⎛⎝∑j(o1:t,It=qj,It+1=qi)⎞⎠bi(ot+1)=⎛⎝∑j(o1:t,It=qj)(It+1=qi|o1:t,It=qj)⎞⎠bi(ot+1)=⎛⎝∑j(o1:t,It=qj)(It+1=qi|It=qj)⎞⎠bi(ot+1)(由公式(1.2)得来)=⎛⎝∑jαt(j)aji⎞⎠bi(ot+1)(1.9)

终止状态推导:
P(O|λ)=(o1:T|λ)=∑iN(o1:t,IT=qi)=∑iNαT(i)(1.10)

算法1.1(观测序列概率的前向算法)

输入:隐马尔科夫模型 λ ,观测序列 O ;

输出:观测序列概率P(O|λ)。

  1. 根据公式 (1.8) ,设定初值。

  2. 根据公式 (1.9) 递推。其中 t=1,2,⋯,T−1 。

  3. 终止。根据公式 (1.10) 得到输出。

python实现(李航《统计学习方法》177页例题10.2):

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@author: XiangguoSun
@contact: sunxiangguodut@qq.com
@file: forward_prob.py
@time: 2017/3/13 8:53
@software: PyCharm
"""
import numpy as np


def forward_prob(model, Observe, States):
    '''
    马尔科夫前向算法
    '''

    A, B, pi = model
    N = States.size
    T = Observe.size

    alpha = pi*B[:, Observe[0]]
    print "(1)计算初值alpha_1(i):   ",alpha

    print "(2) 递推..."
    for t in xrange(0, T-1):
        print "t=", t+1,"   alpha_",t+1,"(i):",alpha
        alpha = alpha.dot(A)*B[:, Observe[t+1]]

    print "(3)终止。alpha_",T,"(i):    ", alpha
    print "输出Prob:  ",alpha.sum()
    return alpha.sum()


if __name__ == '__main__':
    A = np.array([[0.5, 0.2, 0.3],
                  [0.3, 0.5, 0.2],
                  [0.2, 0.3, 0.5]])

    B = np.array([[0.5, 0.5],
                  [0.4, 0.6],
                  [0.7, 0.3]])

    pi = np.array([0.2, 0.4, 0.4])

    model = (A, B, pi)

    Observe = np.array([0, 1, 0])

    States = np.array([1, 2, 3])

    forward_prob(model,Observe,States)
后向算法

后向概率: βt(i)=(ot+1:T|It=qi)

初始后向概率: βT(i)=1,i=1,2,⋯,N

后向概率迭代推导:

βt(i)=(ot+1:T|It=qi)=∑jN(ot+1:T,It+1=qj|It=qi)=∑jN(It+1=qj|It=qi)(ot+1:T|It+1=qj,It=qi)=∑jN(It+1=qj|It=qi)(ot+1:T|It+1=qj)(由公式(1.3)得到)=∑jN(It+1=qj|It=qi)(ot+1|It+1=qj)(ot+2:T|It+1=qj,ot+1)=∑jNaijbj(ot+1)βt+1(j)(1.11)

终止状态推导:
P(O|λ)=(o1:T|λ)=∑i=1N(o1:T,I1=qi)=∑i=1N(I1=qi)(o1:T|I1=qi)=∑i=1N(I1=qi)(o1|I1=qi)(o2:T|o1,I1=qi)=∑i=1Nπibi(oi)(o2:T|I1=qi)=∑i=1Nπibi(oi)β1(i)(1.12)

算法1.2(观测序列概率的后向算法)

输入:隐马尔科夫模型 λ ,观测序列 O ;

输出:观测序列概率P(O|λ)。

  1. 设定后向概率初值为1。
  2. 根据公式 (1.11) 递推。其中 t=T−1,T−2,⋯,1 。
  3. 终止。根据公式 (1.12) 得到输出。

python实现(李航《统计学习方法》177页例题10.2):

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@author: XiangguoSun
@contact: sunxiangguodut@qq.com
@file: markov.py
@time: 2017/3/13 8:53
@software: PyCharm
"""
import numpy as np


def forward_prob(model, Observe, States):
    '''
    马尔科夫前向算法
    '''

    A, B, pi = model
    N = States.size
    T = Observe.size

    alpha = pi*B[:, Observe[0]]
    print "(1)计算初值alpha_1(i):   ",alpha

    print "(2) 递推..."
    for t in xrange(0, T-1):
        alpha = alpha.dot(A)*B[:, Observe[t+1]]
        print "t=", t + 1, "   alpha_", t + 1, "(i):", alpha

    print "(3)终止。alpha_",T,"(i):    ", alpha
    print "输出Prob:  ",alpha.sum()
    return alpha.sum()


def backward_prob(model,Observe,States):
    '''
      马尔科夫后向算法
      '''

    A, B, pi = model
    N = States.size
    T = Observe.size

    beta = np.ones((N,))  # beta_T
    print "(1)计算初值beta_",T,"(i):   ", beta

    print "(2) 递推..."
    for t in xrange(T - 2, -1, -1):  # t=T-2,...,0
        beta = A.dot(B[:, Observe[t + 1]] * beta)
        print "t=", t + 1, "   beta_", t + 1, "(i):", beta

    print "(3)终止。alpha_", 1, "(i):    ", beta
    prob = pi.dot(beta * B[:, Observe[0]])
    print "输出Prob:  ", prob
    return prob


if __name__ == '__main__':


    A = np.array([[0.5, 0.2, 0.3],
                  [0.3, 0.5, 0.2],
                  [0.2, 0.3, 0.5]])

    B = np.array([[0.5, 0.5],
                  [0.4, 0.6],
                  [0.7, 0.3]])

    pi = np.array([0.2, 0.4, 0.4])

    model = (A, B, pi)

    Observe = np.array([0, 1, 0])

    States = np.array([1, 2, 3])

    forward_prob(model,Observe,States)

    backward_prob(model, Observe, States)

实验结果:

这里写图片描述

统计自然语言处理——概率图模型(1) 概述 概率图模型(probabilistic graphical models)在概率模型的基础上,使用了基于图的方法来表示概率分布(或者概率密度、密度函数),是一种通用化的不确定性知识表示和处理方法。 根据图模型的边是否有向,概率图模型通常被划分成有向概率图模型和无向概率图模型。可将图模型粗略的表示为: 几种常见的图模型 动态贝叶斯网络(dynamic Bayesian networks, ... 阅读详情

相关推荐

概率图模型(HMM)

开篇 拖了很久,现在补上概率图的几个模型,陆续补上这部分的内容。概率算是机器学习里面比较抽象和难以理解的模型,它很多时候被应用在自然语言上的一些基本,想是词性标注,命名实体。...

Ding_xiaofei的博客 2897

概率图模型基础(6)——有向图模型(隐马尔可夫模型)

1. 定义 隐马尔可夫模型是一种使用简单的有向无环图表达变量间的概率相关关系的模型。主要用于时序建模,在语音识别、自然语言处理等方面有广泛的应用。

Mortal's blog 1209

机器学习系列手记(六):概率图模型之概率图模型的联合概率分布

概率图模型       对于一个实际问题,我们希望能够挖掘隐含在数据中的知识。概率图模型构建了这样一幅图,用观测节点表示观测到的数据,用隐含节点表示潜在知识,用边来描述知识与数据的相互关系,最后基于这样的关系图获得一个概率分布。 概率图中的节点分为隐含节点和观测节点,边分为有向边和无向边。从概率论的角度,节点对应于随机变量,边对应于随机变...

yly_3026925713的博客 2907

机器学习之概率与统计推断

本课程讲解机器学习算法所需概率和统计推断知识。概率部分包括概率公理及推论、条件概率、贝叶斯公式、随机变量及其概率函数(CDF/pdf)、常用概率分布及其均值、方差;统计推断部分包括大数定律和中心极限定理、极大似然估计、贝叶斯估计,估计的评价、偏差-方差平衡。课程还会讲解假设检验的基本概念。

机器学习模型 概率图模型

概率图模型概率图模型是一类用途来表达变量相关关系的概率模型。按有向图无向图划分可分为有向图模型,或者叫做贝叶斯网络,无向图模型,又叫做马尔科夫网。

haoyang_feng的专栏 1711

Stanford概率图模型(Probabilistic Graphical Model)— 第二讲 Template Models and Structured CPDs

概率图模型(Probabilistic Graphical Model)系列来自Stanford公开课Probabilistic Graphical Model中Daphne Koller 老师的讲解。(https://class.coursera.org/pgm-2012-002/class/index)主要内容包括(转载请注明原始出处http://blog.csdn.net/yangliuy)

Coding for Dreams 1万+

模式识别与机器学习第十一章概率图模型

模式识别与机器学习第十一章概率图模型总结

weixin_43939890的博客 1079

概率图模型之隐马尔科夫模型浅析

概率图模型是一类用图来表达变量相关关系的概率模型。它以图为表示工具,最常见的是用一个节点表示一个或一组随机变量,节点之间的边表示变量间的概率相关关系,即“变量关系图”。根据边的性质不同,概率图模型可大致分为两类:第一类是使用有向无环图表示变量间的依赖关系,称为有向图模型或贝叶斯网。第二类是使用无向图表示变量间的依赖关系,称为无向图模型或马尔科夫网。 隐马尔科夫模型(Hidden Markov Mo...

shanlepu6038的博客 791

概率图之隐马尔科夫模型- - -1(Demo)

一 概念      这里的例子出自 李航著的《统计学习方法》,有兴趣的同学可以去读一下。     一个简单的小试验:     有A,B,C,D,E五个盒子,每个盒子里有10个球,数据如下:   试验的步骤:    第一步:从五个盒子里任意取出一个盒子,这个概率为0.2    第二步:从这个盒子里取出一个球    设置约束:如果这一次取的盒子为A,那么下一次以0.4的概率取盒子C...

秋秋小事 613

PRML第八章:概率图模型

0 概率&概率图模型世界的真实状态几乎无法通过我们有限的观测完全确定下来,因为大多数关系根本就是非确定性的,至少相对于我们对其的建模能力而言。不确定性的出现源于我们对世界的观察能力有限,对其建模的能力有限,甚至可能源于其固有的不确定性。由于这种关于真实世界状态的普遍且根本的不确定性的存在,需要我们的推理系统考虑不同的可能性。为了得到有意义的结论,我们不仅需要推理什么是可能的(possible),而且

sherryllll 3161

大语言模型在构建UNSPSC 分类数据中的应用

UNSPSC 是联合国标准产品和服务代码。本文研究如何利用大语言模型生成分类系统的分析

姚家湾博客 1865

概率图模型(总结篇)

今天我们对概率图模型(Probabilistic Graphical Model,PGM)做一个总结。模型表示 概率图模型,是指一种用图结构来描述多元随机变量之间条件独立关系的概率模型...

咔咔响 1万+

esxi8.0.3如何添加USB外置硬盘

本文介绍了在ESXi系统中配置外置USB硬盘作为数据存储的完整步骤:1)通过SSH禁用USB仲裁服务并关闭自启;2)识别已连接的USB硬盘设备路径;3)使用partedUtil创建GPT分区表并计算扇区范围;4)设置VMFS6分区并格式化。关键命令包括停止usbarbitrator服务、partedUtil分区操作以及vmkfstools格式化命令。整个过程需通过SSH执行,最终将USB硬盘配置为名为"USB_Datastore"的VMFS6存储设备。

qq_41683719的博客 1546

机器学习之概率图模型(贝叶斯概率,隐马尔科夫模型)

一、贝叶斯公式 在学习概率图模型之前先要了解贝叶斯公式: 由公式(1),(2)可得: 这便是贝叶斯公式,其中条件概率P(B/A),P(A/B)称为后验概率,概率P(A),P(B)称为先验概率。即我们在已知条件概率P(B/A)和概率P(A),P(B)的情况下,可以计算出条件概率P(A/B)。 由于已知公式: 将贝叶斯公式中的P(B)替换得: ...

qq_38236355的博客 2520

人形机器人电源系统硬件开发:从原理图设计到PCB布局的完整流程

人形机器人是“移动的智能终端”,其电源系统如同“心脏+血管”:既要为大脑(主控)、肌肉(电机)、感官(传感器)提供稳定能量,又要在有限体积内应对高动态负载(如跳跃时电机瞬间大电流)。本文聚焦“硬件开发”维度,覆盖从需求分析到PCB制板的完整流程,适合硬件工程师、机器人爱好者快速掌握工程实战方法。

AI天才研究院 2175

python基于pingouin统计分析:rm_corr计算两个变量之间的重复测量相关性(Repeated measures correlation、plot_rm_corr函数可视化重复测量相关性图

python基于pingouin包进行统计分析:使用rm_corr函数计算两个变量之间的重复测量相关性(Repeated measures correlation)、plot_rm_corr函数可视化重复测量相关性图

statistics+insight+vista+power 680

概率图模型(6)马尔科夫随机场

文章目录概率图模型的综合叙述:马尔科夫随机场综述:马尔科夫随机场定义:MRF的因式分解:一个简单的例子: 概率图模型的综合叙述: 特征函数便是图中的conditional。对图简单的说明,综合概述Naive Bayes,Logistic Regression,HMM,Linear-chain CRF之间的关系。Naive Bayes经过条件参数的加入即为Logistic Regression,同...

呆呆象呆呆的博客 1万+

【Claude】Auto Mode 触发安全分类器拦截的三种错误变体及对应处理 bug报错已解决

深度解析Claude Auto Mode安全分类器拦截的三种变体:内容拒绝、操作中断、累积触发,含完整排查流程与绕过策略。

博客 7590

【ML】关于什么是概率图模型?

概率图模型(Probabilistic Graphical Model, PGM),简称图模型(Graphical Model,GM),是指一种用图结构来描述多元随机变量之间条件独立性的概率模型(注意条件独立性),从而给研究高维空间的概率模型带来了很大的便捷性。每个位置按照某种分布随机赋予一个值 所构成 的 整体。假设一个随机过程中,tn​ 时刻的状态xn​ 的条件发布,只与其前一状态x_n-1 相关,即:则将其称为 马尔可夫过程。3.1.1 隐马尔科夫算法 是什么?

sikh_0529的博客 829

手把手教你ensp仿真搭建校园网(含防火墙及无线网络)系列(二)校园网接入层交换机配置

本系列博客将带你从零开始,使用 华为 eNSP(Enterprise Network Simulation Platform) 仿真搭建一个完整的校园网络,涵盖 核心层、汇聚层、接入层、防火墙安全策略、无线AC+AP组网 等实战场景。无论你是网络初学者还是希望深化实战经验的工程师,都能通过本教程掌握企业级网络的规划、配置与排错技巧。

echo的博客 1219

python读取并可视化npy格式的深度图文件以及将其保存为jpg图片的方法

  npy文件是无法直接打开的,它里面包含的是一个矩阵格式的数据,可以用于存储图像。为了对其进行可视化,需要将其转换为图像。这里需要用到numpy包以及matplotlib包,没有的话就pip install一下吧。现进入包含有npy文件的目录(我的该目录下有一个名为0000.npy的文件),然后打开一个终端,执行python进入pythn命令行模式,依次输入如下代码即可: import numpy as np import matplotlib.pyplot as plt depthmap = np.lo

zeeq的博客 5万+

深度学习:隐马尔科夫模型

概率图 隐马尔科夫模型属于概率图范畴,简单介绍一下概率图模型,概率图模型(probabilistic graphical model)是一类用图的形式表示随机变量之间条件依赖关系的概率模型,是概率论与图论的结合,图中的节点表示一个或一组随机变量,节点之间的边表示变量间的概率相关关系。根据图中边的有向、无向性,模型可分为两类:有向图、无向图。有向图又称为贝叶斯网,无向图又称为马尔科夫网。 图模型的好...

泛泛之素 2031

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

概率图模型(5)隐马尔科夫模型

文章目录概率图模型的综合叙述:图例举例说明HMM:HMM综述:HMM模型使用范围:HMM模型的定义:一个HMM模型实例:HMM观测序列的生成:HMM模型的三个基本问题: 概率图模型的综合叙述: 特征函数便是图中的conditional。对图简单的说明,综合概述Naive Bayes,Logistic Regression,HMM,Linear-chain CRF之间的关系。Naive Bayes...

呆呆象呆呆的博客 1万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

机器学习 (第9章 概率图模型)

对于一个很大的贝叶斯网络,我们需要有一个很高效的方法的快速辨别两个变量之间是不是独立的,但我们这里考虑条件独立性,条件独立性不同于独立性,条件独立性,必须要在某一条件下,考虑另外两个变量之间的独立性。在贝叶斯网络,其联合概率计算是由图来定义的,如下图1.所展示,而如果没有贝叶斯网络,我们无法了解各个变量之间是否有联系,就认为都有联系,于是列出的联合概率公式为0.所示。概率图模型基于图,而图这种数据结果分为两种:有向图和无向图,针对有向(无环)图结构,实现的是贝叶斯网络,针对无向图,则为马尔可夫随机场。

komjay的博客 3756
上一篇: pandas笔记
下一篇: 概率图模型2:隐马尔科夫(2)
相国大人
博客等级 码龄10年 1009粉丝 132原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值