20240325-1-HMM

HMM

直观理解


马尔可夫链(英语:Markov chain),又称离散时间马尔可夫链(discrete-time Markov chain,缩写为DTMC),因俄国数学家安德烈·马尔可夫(俄语:Андрей Андреевич Марков)得名,为状态空间中经过从一个状态到另一个状态的转换的随机过程。
隐马尔可夫模型包含5个要素:初始概率分布,状态转移概率分布,观测概率分布,所有可能状态的集合,所有可能观测的集合
隐马尔可夫模型HMM是结构最简单的动态贝叶斯网络,是有向图模型

核心公式


  1. 依据马尔可夫性,所有变量的联合概率分布为:

在这里插入图片描述

注意要点


  • 统计语言模型[Statistical Language Model]

是自然语言处理的重要技术,对于要处理的一段文本,我们可以看做是离散的时间序列,并且具有上下文依存关系;该模型可以应用在语音识别和机器翻译等领域,其模型表达式如下:
在这里插入图片描述
如果只考虑前n-1个单词的影响,称为n元语法(n-grams),那么语言模型变为:
在这里插入图片描述
注意:很多时候我们无法考量太久以前的词,一是因为距离太远的词与当前词关系不大,二是因为距离越长模型参数越多,并且成指数级增长,因此4元以上几乎没人使用。当n=2的时候,就是只考虑前一个单词的一阶马尔科夫链模型,大家都知道在NLP任务中,上下文信息相关性的跨度可能非常大,马尔科夫模型无法处理这样的问题,需要新的模型可以解决这种长程依赖性(Long Distance Dependency)。
这里可以回忆一下RNN/LSTM网络,通过隐状态传递信息,可以有效解决长程依赖问题,但当处理很长的序列的时候,它们仍然面临着挑战,即梯度消失。

  • 两点马尔可夫性质:[可以理解为无记忆性;留意:NLP问题会涉及哦]

(1). 下一个状态的概率分布只与当前状态有关
在这里插入图片描述

(2). 下一个时刻的观测只与其相对应的状态有关
在这里插入图片描述

  • 最大熵马尔可夫模型为什么会产生标注偏置问题?如何解决?

  • HMM为什么是生成模型

因为HMM直接对联合概率分布建模;相对而言,条件随机场CRF直接对条件概率建模,所以是判别模型。

  • HMM在处理NLP词性标注和实体识别任务中的局限性

在序列标注问题中,隐状态(标注)不仅和单个观测状态相关,还 和观察序列的长度、上下文等信息相关。例如词性标注问题中,一个词被标注为 动词还是名词,不仅与它本身以及它前一个词的标注有关,还依赖于上下文中的 其他词

  • 隐马尔可夫模型包括概率计算问题、预测问题、学习问题三个基本问题

(1)概率计算问题:已知模型的所有参数,计算观测序列Y出现的概率,可 使用前向和后向算法求解。
(2)预测问题:已知模型所有参数和观测序列Y,计算最可能的隐状态序 列X,可使用经典的动态规划算法——维特比算法来求解最可能的状态序列。
(3)学习问题:已知观测序列Y,求解使得该观测序列概率最大的模型参 数,包括隐状态序列、隐状态之间的转移概率分布以及从隐状态到观测状态的概 率分布,可使用Baum-Welch算法进行参数的学习,Baum-Welch算法是最大期望算 法的一个特例。

  • 浅谈最大熵模型

最大熵这个词听起来很玄妙,其实就是保留全部的不确定性,将风险降到最小。
应用在词性标注,句法分析,机器翻译等NLP任务中。
在这里插入图片描述

面试真题


  1. 如何对中文分词问题用HMM模型进行建模的训练?
  2. 最大熵HMM模型为什么会产生标注偏置问题,如何解决?

参考

1.隐马尔可夫链定义参考维基百科
2.统计学 李航
3.数学之美
4.百面机器学习

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/301558.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【退役之重学Java】pom文件没啥问题但报红

复制过来的pom文件,有几处版本号报红 刚开始以为是版本号的问题,但是按道理从大佬那里复制过来的,应该不会有问题,还是检查了一下: 把项目压缩发给师傅,师傅哪里没报错好吧,我已经猜到了为什么……

MS SQL Server STUFF 函数实战 统计记录行转为列显示

目录 范例运行环境 视图样本设计 数据统计要求 STUFF函数实现 小结 范例运行环境 操作系统: Windows Server 2019 DataCenter 数据库:Microsoft SQL Server 2016 视图样本设计 假设某一视图 [v_pj_rep1_lname_score] 可查询对某一被评价人的绩效…

基于Vue3 中后台管理系统框架

基于Vue3 中后台管理系统框架 文章目录 基于Vue3 中后台管理系统框架一、特点二、源码下载地址 一款开箱即用的 Vue 中后台管理系统框架,支持多款 UI 组件库,兼容PC、移动端。vue-admin, vue-element-admin, vue后台, 后台系统, 后台框架, 管理后台, 管理…

Jenkins 持续集成 【CICD】

持续集成 (Continuous integration,简称CI) 持续集成是一种开发实践,它倡导团队成员频繁的集成他们的工作,每次集成都通过自动化构建(包括编译、构建、打包、部署、自动化测试)来验证&#xff…

SpringBoot集成Skywalking链路追踪

安装skywaling 参考:Centos7搭建 SkyWalking 单机版-CSDN博客 下载Agents https://archive.apache.org/dist/skywalking/java-agent/9.0.0/apache-skywalking-java-agent-9.0.0.tgz 1. 在IDEA中使用skywalking agent 在VM options中填入如下信息 -javaagent后是…

[C++][算法基础]字符串统计(Trie树)

维护一个字符串集合,支持两种操作: I x 向集合中插入一个字符串 x;Q x 询问一个字符串在集合中出现了多少次。 共有 N 个操作,所有输入的字符串总长度不超过 ,字符串仅包含小写英文字母。 输入格式 第一行包含整数…

Centos 7 安装通过yum安装google浏览器

在CentOS 7上使用yum安装Google Chrome浏览器稍微复杂一些,因为Chrome并不直接包含在默认的Yum仓库中。按照以下步骤来操作: 1、添加Google Chrome仓库 首先,您需要手动添加Google Chrome的Yum仓库。打开终端,并使用文本编辑器&a…

MySQL如何创建存储过程

工作中有时候需要自己去创建存储过程,然后调用存储去获得一些数据等,接下来就给大家介绍下MySQL如何创建存储过程。 语法: CREATE PROCEDURE 存储程名([[IN|OUT|INOUT] 参数名 数据类型[,[IN|OUT|INOUT] 参数名 数据类型…]]) [特性 …] 过…

51单片机-PRECHIN-HC6800-MS开发板

1【GPIO】 1.1【LED】灯 1.2数码管 1.3独立按键 1.4蜂鸣器 2中断 2.1外部中断 2.2定时器 2.3串口通信 3

C++11可变模板参数:海纳百川的Args

目录 一、可变模板参数的概念及功能 1.1Args的概念与使用 1.2获取args中的参数 二、emplace可变模板参数的实际应用 三、逗号表达式展开参数包 一、可变模板参数的概念及功能 1.1Args的概念与使用 C11的新特性可变参数模板能够让您创建可以接受可变参数的函数模板和类模板…

无尽加班何时休--状态模式

1.1 加班,又是加班! 公司的项目很急,所以要求加班。经理把每个人每天的工作都排得满满的,说做完就可以回家,但是没有任何一个人可以在下班前完成的,基本都得加班,这就等于是自愿加班。我走时还有…

加州大学欧文分校英语基础语法专项课程02:Questions, Present Progressive and Future Tenses 学习笔记

Questions, Present Progressive and Future Tenses Course Certificate 本文是学习 Questions, Present Progressive and Future Tenses 这门课的学习笔记,如有侵权,请联系删除。 文章目录 Questions, Present Progressive and Future TensesWeek 01: …

Mysql底层原理七:InnoDB 行记录

1.行格式 1.1 Compact行格式 1.1.1 示意图 1.1.2 准备一下 1)建表 mysql> CREATE TABLE record_format_demo (-> c1 VARCHAR(10),-> c2 VARCHAR(10) NOT NULL,-> c3 CHAR(10),-> c4 VARCHAR(10)-> ) CHARSETascii ROW_FORMATCOM…

提升自媒体写作效率:7款必备工具推荐! #知识分享#媒体#AI写作

我们做自媒体运营,想要快速的创作内容,提供文章的创作速度是我们的目标,我们别的大佬可以很快地就创作出一篇内容,而自己墨迹半天确出不了一个字呢?其实这关乎到创作技巧,下面小编就跟大家分享如何利用自媒…

如何高效学习Python编程语言

理解Python的应用场景 不同的编程语言有不同的发展历史和应用场景,了解Python主要应用在哪些领域对于学习它会有很大帮助。Python最初是一种通用脚本语言,主要用于系统级任务自动化。随着时间的推移,它逐步成为数据处理、科学计算、Web开发、自动化运维等众多领域的主要编程语…

ES6-2:Iterator、Proxy、Promise、生成器函数...

11-Iterator迭代器 打印出的是里面的内容,如果是for in打印出来的是索引,of不能遍历对象Symbol.iterator是js内置的,可以访问直接对象arr[Symbol.iterator],()调用对象非线性一般不能迭代 后两个是伪数组,但是是真迭…

Linux 内核:线程的实现

在linux中的线程是轻量级线程(Light-Weight-process,LWP) 文章目录 线程概念线程实现 线程概念 线程分类 用户级线程内核级线程,没有用户空间,完全工作在内核中(下图中没有[]的就是用户级线程&#xff09…

解析以及探讨数据库技术及其应用

一,引言 数据库作为信息时代的基石,是一种用于高效存储、管理和检索大量结构化数据的系统。它的核心价值在于提供了一种可靠且可扩展的方式,将复杂多样的数据按照特定结构和规则组织起来,以便于不同用户和应用程序进行访问和使用。…

蓝桥杯练习系统(算法训练)ALGO-957 P0703反置数

资源限制 内存限制:256.0MB C/C时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 一个整数的反置数指的是把该整数的每一位数字的顺序颠倒过来所得到的另一个整数。如果一个整数的末尾是以0结尾,那么在它的…

Linux-等待子进程

参考资料:《Linux环境编程:从应用到内核》 僵尸进程 进程退出时会进行内核清理,基本就是释放进程所有的资源,这些资源包括内存资源、文件资源、信号量资源、共享内存资源,或者引用计数减一,或者彻底释放。…