11.EM算法、HMM模型

article/2025/11/6 1:23:24

EM算法入门

在这里插入图片描述
在这里插入图片描述

算法介绍

极⼤似然估计

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

EM算法实例描述

在这里插入图片描述
在这里插入图片描述

EM算法流程

在这里插入图片描述

EM算法实例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

EM初级版

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

EM进阶版

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

HMM模型入门

马尔科夫链

在这里插入图片描述
⻢尔科夫链即为状态空间中从⼀个状态到另⼀个状态转换的随机过程。
在这里插入图片描述

例子

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

HMM简介

在这里插入图片描述

例子

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

例子进阶

在这里插入图片描述

解决问题二

在这里插入图片描述
在这里插入图片描述

解决问题一

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

解决问题三

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

HMM模型基础

在这里插入图片描述

定义

在这里插入图片描述

⻬次⻢尔科夫链假设

在这里插入图片描述

观测独⽴性假设

在这里插入图片描述

HMM模型实例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

HMM观测序列的⽣成

在这里插入图片描述

HMM模型的三个基本问题

在这里插入图片描述

前向后向算法评估观察序列概率

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
前向后向算法是前向算法和后向算法的统称,这两个算法都可以⽤来求HMM观测序列的概率

前向算法

在这里插入图片描述
在这里插入图片描述

算法总结

在这里插入图片描述
从递推公式可以看出,我们的算法时间复杂度是O(T N2),⽐暴⼒解法的时间复杂度O(T NT )少了⼏个数量级。

例子

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

后向算法

熟悉了⽤前向算法求HMM观测序列的概率,现在我们再来看看怎么⽤后向算法求HMM观测序列的概率。 后向算法和前向算法⾮常类似,都是⽤的动态规划,唯⼀的区别是选择的局部状态不同,后向算法⽤的是“后向概率”。
在这里插入图片描述
在这里插入图片描述

维特⽐算法解码隐藏状态序列

给定模型和观测序列,求给定观测序列条件下,最可能出现的对应 的隐藏状态序列。 HMM模型的解码问题最常⽤的算法是维特⽐算法,当然也有其他的算法可以求解这个问题。 同时维特⽐算法是⼀个通⽤的求序列最短路径的动态规划算法,也可以⽤于很多其他问题

HMM最可能隐藏状态序列求解概述

在这里插入图片描述

维特⽐算法概述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

维特⽐算法流程总结

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实例

在这里插入图片描述
在这里插入图片描述

鲍姆-⻙尔奇算法

在这里插入图片描述

原理

在这里插入图片描述
在这里插入图片描述

HMM模型API

官网

pip3 install hmmlearn

hmmlearn介绍

在这里插入图片描述

MultinomialHMM实例

from hmmlearn import hmm
import numpy as np# 设定隐藏状态的集合
states = ["box 1", "box 2", "box3"]
n_states = len(states)# 设定观察状态的集合
observations = ["red", "white"]
n_observations = len(observations)# 设定初始状态分布
start_probability = np.array([0.2, 0.4, 0.4])# 设定状态转移概率分布矩阵
transition_probability = np.array([[0.5, 0.2, 0.3],[0.3, 0.5, 0.2],[0.2, 0.3, 0.5]
])# 设定观测状态概率矩阵
emission_probability = np.array([[0.5, 0.5],[0.4, 0.6],[0.7, 0.3]
])
# 设定模型参数
model = hmm.MultinomialHMM(n_components=n_states)# 设定初始状态分布
model.startprob_ = start_probability# 设定状态转移矩阵
model.transmat_ = transition_probability# 设定观测状态该路矩阵
model.emissionprob_ = emission_probability
# 设置观测序列值
seen = np.array([[0,1,0]]).T
seen

在这里插入图片描述

# seen 为二维数据,要先用flatten转换为一维
print("球的观测顺序为:\n",",".join(map(lambda x : observations[x],seen.flatten())))

在这里插入图片描述

#  维特比 模型训练
box =  model.predict(seen)
box

在这里插入代码片在这里插入图片描述

print("盒子最可能的隐藏状态顺序为:\n",",".join(map(lambda x : states[x],box.flatten())))

在这里插入图片描述

print("要注意的是score函数返回的是以⾃然对数为底的对数概率值,我们在HMM问题⼀中⼿动计算的结果是未取对数的原始 概率是0.13022,\n",model.score(seen))

在这里插入图片描述

import mathmath.exp(model.score(seen))

在这里插入图片描述


http://chatgpt.dhexx.cn/article/oZCc2iQN.shtml

相关文章

HMM模型——隐含马尔科夫模型【详细分析+图】

HMM(隐马尔可夫模型) 含义 HMM(Hidden Markov Model), 中文称作隐含马尔科夫模型, 因俄国数学家马尔可夫而得名. 它一般以文本序列数据为输入, 以该序列对应的隐含序列为输出. 什么是隐含序列 序列数据中每个单元包含的隐性信息, 这些隐性信息之间也存在一定关联 EG&#xff…

【史诗级干货长文】HMM模型

HMM模型 1. 马尔科夫链1.1 简介1.2 经典举例1.3 小结 2. HMM简介2.1 简单案例2.2 案例进阶2.2.1 问题阐述2.2.2 问题解决2.2.2.1 一个简单问题【对应问题2】2.2.2.2 看见不可见的,破解骰子序列【对应问题1】2.2.2.3 谁动了我的骰子?【对应问题3】 2.3 小…

HMM 模型笔记

参考网址 HMM模型的5元组 每个模型都有自己相关的概念,弄清算法之前我们先来看看这个模型的基本概念,5元组。 (S,K,π,A,B):以上分别对应了HMM中的5个重要概念 S:隐藏状态的集合(Sun Cloud Ra…

HMM模型介绍

时序模型:数据会随着时间的改变二进行改变,比如温度、说话等。HMM模型是一个时序模型,因为是个时序模型所以每时每刻都有一个观测值。下图所示: Z为隐式变量,X为已知的观测值。 扔不均衡硬币 有两枚硬币A和B&#xf…

机器学习之HMM模型

HMM模型 马尔科夫链HMM简介HMM模型基础前向后向算法评估观察序列概率维特⽐算法解码隐藏状态序列鲍姆-⻙尔奇算法简介HMM模型API介绍 目录 HMM模型马尔科夫链HMM简介HMM模型基础前向后向算法评估观察序列概率维特⽐算法解码隐藏状态序列鲍姆-⻙尔奇算法简介HMM模型API介绍 马尔…

Chapter 15 HMM模型

1.1 定义 隐马尔科夫模型:可用于标注问题,在语音识别、NLP、生物信息、模式识别等领域被实践证明是有效的算法。 HMM是关于时序的概率模型,描述由一个隐藏的马尔科夫链生成不可观测的状态随机序列,再由各个状态生成观测随机序列…

机器学习HMM模型算法实例

目录 1 前向算法求HMM观测序列的概率1.1 流程梳理1.2 算法总结1.3 HMM前向算法求解实例1.4 用后向算法求HMM观测序列的概率1.4.1 流程梳理1.4.2 后向算法流程 1.5 小结 2 维特比算法解码隐藏状态序列2.1 HMM最可能隐藏状态序列求解概述2.2 维特比算法概述2.3 维特比算法流程总结…

HMM模型

隐马尔可夫模型(Hidden Markov Model,HMM)是统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。其难点是从可观察的参数中确定该过程的隐含参数。隐马尔可夫模型(HMM)可以用五个元素来描述&#xff…

怎么进入修复计算机界面,开机进入启动修复界面不能启动win7电脑的修复办法...

我们在win7系统的使用中有小伙伴在win7开机的时候遇到系统自动进入系统的启动修复的页面是系统出现了问题吗,提示报错文件为:X:\Windows\system32\drivers\spoon.sys的问题,那我们在win7系统的出现这样的情况应该怎么办呢&#xf…

win7电脑蓝屏没有修复计算机,教你win7开机蓝屏怎么修复

在使用电脑的过程中,经常会遇到一些问题,最常见的莫过于win7开机蓝屏了,很多朋友并不知道win7开机蓝屏怎么修复,那么遇到win7开机蓝屏的情况应该怎么办呢?下面小编针对此问题教程大家开机蓝屏怎么修复。 方法一、系统自…

win7单机修复计算机在哪,win7电脑故障怎么进入安全模式修复

如果Win7系统电脑硬件驱动或网络等出了问题,可以进入安全模式进行修复,但是很多朋友都不知win7电脑故障怎么进入安全模式修复,下面就来分享一下win7电脑故障进入安全模式的详细方法吧。 win7电脑故障怎么进入安全模式修复 方法一、开机按F8键…

Win10安装程序修复计算机,如何在Windows 10上使用安装介质引导或修复

本文将向您展示如何使用可启动的安装USB或DVD介质修复Windows 10安装,而不会丢失数据。 如果无法从Windows中访问Windows 10高级选项疑难解答选项,则需要使用USB或DVD介质。 Windows 10上使用安装介质引导或修复的步骤是: --下载Windows ISO …

windows系统镜像修复计算机,分享win10用镜像文件修复系统的方法

今天来聊聊一篇关于分享win10用镜像文件修复系统的方法的文章,现在就为大家来简单介绍下分享win10用镜像文件修复系统的方法,希望对各位小伙伴们有所帮助。 1、win10系统出错之后,不是一定需要重装系统的,可以直接使用通过win10来修复系统,即…

win10 u盘 修复计算机,怎么用u盘修复windows10专业版系统

怎么用u盘修复windows10专业版系统?很多朋友都想要知道U盘维护系统的方法是什么,其实U盘维护系统的方法是非常简单的,如果大家想学习的话,下面win10专业版官网小编教你怎么用u盘修复windows10专业版系统,有需要的用户&…

win10计算机恢复,win10系统使用“配置 windows 恢复环境(RE)”命令修复计算机的详细办法...

有关win10系统使用“配置 windows 恢复环境(RE)”命令修复计算机的操作方法想必大家有所耳闻。但是能够对win10系统使用“配置 windows 恢复环境(RE)”命令修复计算机进行实际操作的人却不多。其实解决win10系统使用“配置 windows 恢复环境(RE)”命令修复计算机的问题也不是难…

win10单机修复计算机在哪,win10如何进入高级修复选项

进入WinRE(Windows恢复环境)后,点击“疑难解答”即可显示“恢复电脑”、“初始化电脑”等Windows恢复选项,再点击“高级选项”,则可以看到更多的系统维护选项 小编整理了以下进入winRE的方法: 方法一:通过“电脑设置”…

系统盘修复计算机命令,U盘启动盘修复系统的详细步骤

原标题:U盘启动盘修复系统的详细步骤 虽然win10系统自带系统修复功能,能够在系统出现问题时修复Windows,但是此功能并不是万能,有些用户无法通过启动修复解决系统问题,也有些用户修复后就崩溃了,那么出现老…

u盘修复计算机系统,U盘启动盘修复win10系统的详细步骤

虽然win10系统自带系统修复功能,能够在系统出现问题时修复Windows,但是此功能并不是万能,有些用户无法通过启动修复解决系统问题,也有些用户修复后就崩溃了,那么出现老是重启的情况,我们就需要通过安装介质…

戴尔启动修复无法自动修复此计算机,在 Dell 计算机上运行 Windows 启动修复

Windows 8和Windows 8.1 注:注:如果计算机由于检测到的启动故障而将故障转移到Windows恢复,则应启动自动修复工具。如果自动故障转移无法正常工作,您也可以从 Windows 安装 CD 或 DVD 或从 Advanced Start Options 启动自动修复作为手动恢复工具。 引导至System Recovery O…

u盘修复计算机系统,详细教你如何用u盘修复电脑系统

当电脑出现系统问题,如系统文件损坏或确实,系统引导出错等问题,可以尝试使用u盘来对系统进行修复,下面就将使用u盘修复电脑系统的方法教给大家,即使系统没有问题大家也可以尝试制作一个启动u盘,有备无患。 …