IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 11.EM算法、HMM模型 -> 正文阅读

[人工智能]11.EM算法、HMM模型

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 math

math.exp(model.score(seen))

在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-06 13:02:47  更:2022-03-06 13:04:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 17:42:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码