20240323-1-条件随机场面试题CRF

条件随机场面试题

1. 简单介绍条件随机场


条件随机场(conditional random field,简称 CRF)是给定一组输入随机变量条 件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔可夫随机场,是一种鉴别式机率模型,是随机场的一种,常用于标注或分析序列资料,如自然语言文字或是生物序列。
如同马尔可夫随机场,条件随机场为无向图模型,图中的顶点代表随机变量,顶点间的连线代表随机变量间的相依关系,在条件随机场当中,随机变量 Y 的分布为条件机率,给定的观察值则为随机变量 X。
原则上,条件随机场的图模型布局是可以任意给定的,一般常用的布局是链接式的架构,链接式架构不论在训练(training)、推论(inference)、或是解码(decoding)上,都存在有效率的算法可供演算。
条件随机场跟隐马尔可夫模型常被一起提及,条件随机场对于输入和输出的机率分布,没有如隐马尔可夫模型那般强烈的假设存在 [补充:因为HMM模型假设后面状态和前面无关]。

##2. 条件随机场预测的维特比算法求解过程:

输入:模型特征向量F(y,x)和权值向量w,观测序列 x = ( x 1 , x 2 , … , x n ) x=(x_1,x_2,…,x_n) x=(x1,x2,,xn);
输出:最优路径$y*=(y_1,y_2*,…,y_n) $

初始化:
δ 1 ( j ) = w ⋅ F 1 ( y 0 = start ⁡ , y 1 = j , x ) , j = 1 , 2 , ⋯ , m \delta_{1}(j)=w \cdot F_{1}\left(y_{0}=\operatorname{start}, y_{1}=j, x\right), \quad j=1,2, \cdots, m δ1(j)=wF1(y0=start,y1=j,x),j=1,2,,m
递推:
δ i ( l ) = max ⁡ 1 < j < m { δ i − 1 ( j ) + w ⋅ F i ( y i − 1 = j , y i = l , x ) } , l = 1 , 2 , ⋯ , m \delta_{i}(l)=\max _{1<j<m}\left\{\delta_{i-1}(j)+w \cdot F_{i}\left(y_{i-1}=j, y_{i}=l, x\right)\right\}, \quad l=1,2, \cdots, m δi(l)=1<j<mmax{δi1(j)+wFi(yi1=j,yi=l,x)},l=1,2,,m

Ψ i ( l ) = arg ⁡ max ⁡ 1 ⩽ j ⩽ m { δ t − 1 ( j ) + w ⋅ F i ( y i − 1 = j , y i = l , x ) } , l = 1 , 2 , ⋯ , m \Psi_{i}(l)=\arg \max _{1 \leqslant j \leqslant m}\left\{\delta_{t-1}(j)+w \cdot F_{i}\left(y_{i-1}=j, y_{i}=l, x\right)\right\}, \quad l=1,2, \cdots, m Ψi(l)=arg1jmmax{δt1(j)+wFi(yi1=j,yi=l,x)},l=1,2,,m

终止:
max ⁡ y ( w ⋅ F ( y , x ) ) = max ⁡ 1 < j < m δ n ( j ) \max _{y}(w \cdot F(y, x))=\max _{1<j<m} \delta_{n}(j) ymax(wF(y,x))=1<j<mmaxδn(j)

y n ∗ = arg ⁡ max ⁡ 1 ⩽ j ⩽ m δ n ( j ) y_{n}^{*}=\arg \max _{1 \leqslant j \leqslant m} \delta_{n}(j) yn=arg1jmmaxδn(j)

返回路径:
y i ∗ = Ψ i + 1 ( y i + 1 ∗ ) , i = n − 1 , n − 2 , ⋯ , 1 y_{i}^{*}=\Psi_{i+1}\left(y_{i+1}^{*}\right), \quad i=n-1, n-2, \cdots, 1 yi=Ψi+1(yi+1),i=n1,n2,,1

##3. 链式条件随机场[chain-structured CRF]条件概率公式:

P ( y ∣ x ) = 1 Z exp ⁡ ( ∑ j ∑ i = 1 n − 1 λ j t j ( y i + 1 , y i , x , i ) + ∑ k ∑ i = 1 n μ k s k ( y i , x , i ) ) P(\mathbf{y} \mid \mathbf{x})=\frac{1}{Z} \exp \left(\sum_{j} \sum_{i=1}^{n-1} \lambda_{j} t_{j}\left(y_{i+1}, y_{i}, \mathbf{x}, i\right)+\sum_{k} \sum_{i=1}^{n} \mu_{k} s_{k}\left(y_{i}, \mathbf{x}, i\right)\right) P(yx)=Z1exp(ji=1n1λjtj(yi+1,yi,x,i)+ki=1nμksk(yi,x,i))

4. HMM、MEMM和CRF模型的比较

  • HMM模型是对转移概率(隐藏状态转移到隐藏状态的概率)和表现概率(隐藏状态到观察状态的概率)直接建模,统计共现概率;
  • MEMM模型是对转移概率和表现概率建立联合概率,统计时统计的是条件概率,而非共现概率。MEMM容易陷入局部最优,主要因为是MEMM只在局部做归一化;
  • CRF模型则统计的是全局概率,在归一化时考虑了数据在全局的分布,而不仅仅是局部归一化,这样也就解决了MEMM中的标记偏置问题;

5. 注意要点


  • 概率图模型的表示
    概率图模型结合了概率论和图论的知识,用图模式(节点和边)表达基于概率相关关系的模型的总称。图模型的引入使得人们在处理复杂概率问题时,可以将复杂问题进行适当的分解;表示理论将图模型分为如下两个类别:贝叶斯网络[Bayesian Netword]和马尔科夫随机场[Markov Random Field],前者采用有向无环图来表达事件的因果关系,后者采用无向图来表达变量间的相互作用;

  • 贝叶斯网络和马尔科夫随机场的分解计算问题
    贝叶斯网络中每个节点都对应一个先验概率分布或者条件概率分布,因此整体联合概率分布可以直接分解为所有单个节点分布的乘积;对于马尔科夫随机场,由于变量间没有明确的因果关系,它的联合概率分布通常会表达为一系列势函数[Potential Function]的乘积,因为乘积之和通常不为1,所以要进行归一化才能成为一个有效的概率分布。

  • 对于概率图模型,模型学习的精度通常受三方面影响

    • 语料库样本集对总体的代表性;
    • 模型算法理论基础及所针对的问题。不同模型的理论不同,所擅长处理的NLP任务也不同,比如:朴素贝叶斯模型处理短文本分类效果很好,最大熵模型在处理中文词性标注表现很好,条件随机场处理中文分词,语义组块等方便精度很好,Semi-CRF在处理命名实体识别精度很好。
    • 模型算法的复杂度。属于工程问题,一般讲,要求模型参数估计的越精确,模型复杂度越高,学习时间越长,推断和预测的精度也越高。
  • Bi-LSTM-CRF算法解析

    Bi-LSTM-CRF模型的输入是每个单词的词向量,经过双向LSTM层提取特征并输出为5个label的得分,再将该得分输入进CRF层,得到这句话最终最大可能的识别标签。因为BiLSTM层得到的label并不总是满足实际情况,CRF层能够添加一些约束使得预测标签是有效的。这些约束便是从训练数据的过程中学习得到的。
    
  • 常见的概率图模型中,哪些是生成模型和哪些是判别模型?

    • 生成式 模型是对联合概率分布 P ( X , Y , Z ) P(X,Y,Z) P(X,Y,Z)进行建模,在给定观测集合X的条件下,通过计算 边缘分布来得到对变量集合Y的推断,即

P ( Y ∣ X ) = P ( X , Y ) P ( X ) = ∑ Z P ( X , Y , Z ) ∑ Y . Z P ( X , Y , Z ) P(Y \mid X)=\frac{P(X, Y)}{P(X)}=\frac{\sum_{Z} P(X, Y, Z)}{\sum_{Y . Z} P(X, Y, Z)} P(YX)=P(X)P(X,Y)=Y.ZP(X,Y,Z)ZP(X,Y,Z)

- 判别式模型是直接对条件概率分布$P(Y,Z|X)$进行建模,然后消掉无关变量Z就可以 得到对变量集合Y的预测,即:

P ( Y ∣ X ) = ∑ Z P ( Y , Z ∣ X ) P(Y \mid X)=\sum_{Z} P(Y, Z \mid X) P(YX)=ZP(Y,ZX)

常见的概率图模型有朴素贝叶斯、最大熵模型、贝叶斯网络、隐马尔可夫模 型、条件随机场、pLSA、LDA等。基于前面的问题解答,我们知道朴素贝叶斯、贝叶斯网络、pLSA、LDA等模型都是先对联合概率分布进行建模,然后再通过计算边缘分布得到对变量的预测,所以它们都属于生成式模型;

而最大熵模型是直 接对条件概率分布进行建模,因此属于判别式模型。隐马尔可夫模型和条件随机场模型是对序列数据进行建模的方法,其中隐马尔 可夫模型属于生成式模型,条件随机场属于判别式模型。

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

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

相关文章

【C语言】贪吃蛇【附源码】

欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 一、游戏说明&#xff1a; 一个基于C语言链表开发的贪吃蛇游戏&#xff1a; 1. 按方向键上下左右&#xff0c;可以实现蛇移动方向的改变。 2. 短时间长按方向键上下左右其中之一&#xff0c;可实现蛇向该方向的短时间…

JQuery的attr()属性和JS的属性的方法

JQuery的attr属性&#xff1a; 我们先来看那一下JQuery的attr属性attr是一个jQuery方法&#xff0c;用于读取或设置HTML元素的属性值。它用于获取或设置HTML属性&#xff0c;例如src、href、title等。attr返回的值通常是属性的字符串表示。 $("标签名").attr("…

Unity 基于Rigidbody2D模块的角色移动

制作好站立和移动的动画后 控制器设计 站立 移动 角色移动代码如下&#xff1a; using System.Collections; using System.Collections.Generic; using Unity.VisualScripting; using UnityEngine;public class p1_c : MonoBehaviour {// 获取动画组件private Animator …

最短路径——Floyd算法、Dijkstra算法(未完...)

这里写目录标题 例题引入&#xff1a; 路径——蓝桥2021省赛题目分析题解&#xff01;&#xff01;&#xff01;求最短路径问题&#xff01;&#xff01;&#xff01;应用场景图的基础Floyd算法Acwing-843.有边数限制的最短路简单的思路讲解 Dijkstra算法 例题引入&#xff1a;…

车载以太网AVB交换机 gptp透明时钟 8口 千兆/百兆可切换 SW1100TR

SW1100TR车载以太网交换机 一、产品简要分析 8端口千兆和百兆混合车载以太网交换机&#xff0c;其中包含2个通道的1000BASE-T1采用罗森博格H-MTD接口&#xff0c;5通道100BASE-T1泰科MATEnet接口和1个通道1000BASE-T标准以太网(RJ45接口)&#xff0c;可以实现车载以太网多通道…

微信开发者工具webview的页面上使用console.log,日志在哪儿看?

webview的页面上使用console.log,日志在哪儿看&#xff1f; | 微信开放社区

Acrobat Pro DC 2023 for Mac PDF编辑管理软件

Acrobat Pro DC 2023 for Mac是一款功能强大的PDF编辑和管理软件&#xff0c;旨在帮助用户轻松处理PDF文件。它提供了丰富的工具和功能&#xff0c;使用户可以创建、编辑、转换和注释PDF文件&#xff0c;以及填写和签署PDF表单。 软件下载&#xff1a;Acrobat Pro DC 2023 for …

程序员de工作是怎么样的?

程序员是干什么的程序员是从事计算机程序设计、开发、测试、维护的基层工作人员。他们用特定的编程语言&#xff0c;根据客户或项目的需求&#xff0c;编写和维护计算机程序。这些工作涵盖了从需求分析、设计、编码、测试&#xff0c;到维护的全过程。 程序员按照不同的技术领…

Matlab将日尺度数据转化为月尺度数据

日尺度转化为月尺度 clcclear all% load datadata xlread(data.xlsx) % 例如该数据为1961-01-01至2022-12-31&#xff0c;共计22645天data data(:,1:3) % 该数据有22645行&#xff0c;数据分别为降水&#xff0c;气温&#xff0c;湿度等三列dt datetime(1961-01-01):datatim…

一种调用所有LLM模型API的方式

公众号&#xff1a;【可乐前端】&#xff0c;每天3分钟学习一个优秀的开源项目&#xff0c;分享web面试与实战知识&#xff0c;也有全栈交流学习摸鱼群&#xff0c;期待您的关注! 每天3分钟开源 hi&#xff0c;这里是每天3分钟开源&#xff0c;很高兴又跟大家见面了&#xff0…

C++之STL整理(1)之STL、vector、map、set数据结构初识

C之STL整理&#xff08;1&#xff09;之STL、vector、map、set数据结构初识 注&#xff1a;整理一些突然学到的C知识&#xff0c;随时mark一下 例如&#xff1a;忘记的关键字用法&#xff0c;新关键字&#xff0c;新数据结构 C 的 STL C之STL整理&#xff08;1&#xff09;之ST…

Flutter开发的Web应用 构建及部署 标准流程指南

前言 Flutter是Google推出的跨平台开发框架&#xff0c;支持多种平台&#xff1a;Windwos&#xff0c;Mac&#xff0c;iphone&#xff0c;Android&#xff0c;Web&#xff0c;Linux&#xff0c;甚至经过一些折腾还可以支持树莓派&#xff0c;十分强大&#xff0c;笔者曾写过一…

FDM3D打印系列——手涂水性漆和补土

大家好&#xff0c;我是阿赵。   继续探索FDM3D打印。这次要打印的是拳皇系列的经典角色&#xff0c;八神庵&#xff1a;   上次那个卢卡尔打印的尺寸有点小&#xff0c;为了配合着卢卡尔的高度&#xff0c;所以这次这个八神庵也打印的特别的小&#xff1a;   特别小的…

C语言 键盘输入与屏幕输出——数据的格式化屏幕输出

目录 顺序结构 C语言如何实现数据的输入和输出&#xff1f; 数据的格式化屏幕输出 printf&#xff08;&#xff09;格式字符 printf&#xff08;&#xff09;的格式修饰符 顺序结构 一般而言&#xff0c;顺序结构程序涉及如下三个基本操作&#xff1a; *输入数据 *处理数…

C++STLmap,set

我最近开了几个专栏&#xff0c;诚信互三&#xff01; > |||《算法专栏》&#xff1a;&#xff1a;刷题教程来自网站《代码随想录》。||| > |||《C专栏》&#xff1a;&#xff1a;记录我学习C的经历&#xff0c;看完你一定会有收获。||| > |||《Linux专栏》&#xff1…

什么是公网IP?

公网IP&#xff0c;即公开网络IP地址&#xff0c;是指在互联网中公开可见、可访问的IP地址。每个设备在连接互联网时&#xff0c;都需要一个唯一的公网IP地址&#xff0c;以便其他设备可以定位并与之通信。 尽管公网IP在网络通信中具有重要作用&#xff0c;但它也带来了一些安全…

在GitHub上上传项目(Idea)

repository创建好后&#xff0c;GitHub会提示相应的命令 在Idea的终端执行这些命令&#xff0c;就OK了 在GitHub上查看&#xff0c;已经上传成功

【Hello,PyQt】QTextEdit和QSplider

PyQt5 是一个强大的Python库&#xff0c;用于创建图形用户界面&#xff08;GUI&#xff09;。其中&#xff0c;QTextEdit 控件作为一个灵活多用的组件&#xff0c;常用于显示和编辑多行文本内容&#xff0c;支持丰富的格式设置和文本操作功能。另外&#xff0c;QSlider 控件是一…

JavaScript高级 —— 学习(二)

目录 一、深入对象 &#xff08;一&#xff09;创建对象三种方式 1.利用对象字面量创建 2.利用 new Object() 创建 3.利用构造函数创建 &#xff08;二&#xff09;利用构造函数创建对象 1.构造函数介绍 2.约定 3.实例化执行过程 &#xff08;三&#xff09;实例成员…

git命令-项目使用

项目中用到的git命令&#xff0c;记录下来&#xff0c;后续项目可以直接用 配置命令 一次性设置&#xff1a; git config --global user.name "Your Name" git config --global user.email "youremailaddress.com"git config --global alias.pl "pu…