CRF条件随机场 | 关键原理+面试知识点

news2024/11/24 0:34:04

😄 CRF之前跟人生导师:李航学习过,这里结合自己的理解,精简一波CRF,总结一下面试中高频出现的要点。个人觉得没网上说的那么复杂,我看网上很大部分都是一长篇先举个例子,然后再说原理。没必要原理其实不难,直接从原理下手更好理解。

文章目录

  • 1、概率无向图(马尔可夫随机场)?
  • 2、条件随机场?
    • 2.1、局部马尔可夫性:
    • 2.2、何为特征函数?特征函数干嘛用的?:
  • 3、CRF三大问题:
  • 4、面试高频题
    • 4.1、HMM与CRF的 共性 and 差异?
    • 4.2、CRF缺点:

1、概率无向图(马尔可夫随机场)?

概率无向图模型,即马尔可夫随机场。反正可以理解,比如标注序列任务中,你的标签为图中的节点。边表示标签之间的依赖关系。【具体到CRF里,这个图就是下面的线性链条件随机场那个图了。而局部马尔可夫性就是指当前状态依赖于与其相连的前后状态。注:相邻的状态其实构成了一个最大团。】且成对的、局部的、全局的马尔可夫性的定位其实是等价的。
在这里插入图片描述

2、条件随机场?

条件随机场是给定随机变量X(即观测:输入文本)条件下,随机变量Y(即状态:输出标签)的马尔可夫随机场。

2.1、局部马尔可夫性:

  • 对于任意一个节点v,在给定其他所有节点w (w≠v)时,v的分布等价于给定与v相连的所有节点时的v的分布。

通常所说的条件随机场即线性链条件随机场,如下:
在这里插入图片描述

在这里插入图片描述

  • 和Yi 相连的只有Yi-1 和Yi+1
    在这里插入图片描述
  • 注:上面公式的这个样子,即给定x下y的联合概率分布的计算。其实是由Hammersley-Clifford定理定义的,即概率无向图模型(马尔可夫随机场)的联合概率分布,可以定义成这个形式。【李航-218页】
  • 上面是CRF的参数化形式,将特征函数统一表示成f,简化一下上述公式可得如下:

在这里插入图片描述

  • 很明显上面可以转成w向量和f向量内积的形式,那就再简化下,哎哟真好看~:
    在这里插入图片描述

2.2、何为特征函数?特征函数干嘛用的?:

  • 转移特征函数:依赖于当前和前一位置。如可以定义为动词后面若接了名词,那转移特征就为1,否则为0。
  • 状态特征函数:依赖于当前位置。如当前位置在句首用了名称,那状态特征就为1,否则为0。
  • 所以上述CRF的公式相当于,给定整个观测序列x的条件下,利用一堆特征函数即评价模版,来对当前标记序列(即预测的标签序列)打分即规范化的条件概率。

3、CRF三大问题:

  • 概率计算问题:前向-后向算法
  • 学习算法问题:极大似然估计,正则化的极大似然估计。【从前面CRF的公式我们可知,每个特征函数前面会有个权重,那CRF的学习其实就是去学习更新这个权重的,是不是大悟了?😄】
    具体地,目标就是极大化似然函数,然后通过梯度下降or拟牛顿法等来更新权重。对数似然函数如下:
    在这里插入图片描述

至于这个似然为什么长这个样,其实和以往我们了解的似然的表示是等价的,可以参考我的推导链接:对于最大熵中极大似然估计的似然函数的理解(为什么长指数形式这个样子)

  • 预测算法问题:维特比算法。【和HMM里的类似了,维特比思想就是,前向累加概率(HMM里是累积因为HMM里有状态转移概率)去求转移到最后的状态的整个标注 (状态) 序列的概率最大路径,在计算的过程中,同时保存转移到当前状态的前一状态,这样方便当找到了概率最大的路径时从最后一个状态返回去找前一状态。进而来生成最优路径序列。】- 看李航-234页例子很好懂,套公式慢慢算而已。维特比算法可用动态规划解决。
    在这里插入图片描述

4、面试高频题

4.1、HMM与CRF的 共性 and 差异?

  • 共性:应用场景都常用来做序列标注任务,像词性标注。
  • 差异:
    HMM最大的缺点就是由于齐次马尔可夫假设:状态的转移过程中当前状态只与前一状态相关问题,导致其不能考虑上下文的特征,限制了特征的选择,还有就是观测独立性假设当前观测只依赖于当前状态,这2个假设过强;同时也带来了标记偏见的问题(label bias);
    CRF:综合了上下文相关特性(只需要满足 局部马尔可夫性就好,即当前状态依赖于与其相连的状态,即前后状态),通过降低假设的方式,提升模型效果;;CRF模型在结合多种特征方面的存在优势,CRF的性能更好,更常用。CRF模型 属于判别式模型,在序列标注任务上,效果优于 生成式模型HMM;

4.2、CRF缺点:

  • 训练模型的时间比HMM长,且获得的模型稍大。
  • 特征的选择和优化是影响结果的关键因素。特征选择问题的好与坏,直接决定了系统性能的高低。

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

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

相关文章

webservice接口开发详解(.Net)

环境:win10 工具:Visual Studio2015 语言:vb.net WebService: 1.打开vs2015,新建visual basic项目,选择ASP.NET Web应用程序,单击确定 2.右键解决方案,添加新建项-Web-Web 服务(ASMX) 3.生成的WebServi…

Qt QMAKE_MSC_VER

文章目录摘要修改conf文件参考链接关键字: Qt、 QMAKE_MSC_VER 、 conf、 version、 关键字5摘要 今天在又有了新的小项目需要CV一下,但是第三方提供的是COM组件的库,所以第一步还是老实使用VS版本的Qt 来开发,以防不测&#xf…

3个月,入门网络安全并找到工作

在我进入大学之前,我一直对计算机感兴趣。虽然只是考了一个一般大学,但是选专业的时候还是选了计算机专业。 本来以为自己会在大学里学到很多有用的知识,并且能够很快找到一份好工作。但是,事实并不是这样。在大学期间&#xff0c…

深入浅出C++ ——哈希

文章目录前言一、unordered系列关联式容器1. unordered_map2. unordered_set二、哈希1. 哈希概念2. 哈希冲突3. 哈希函数4. 哈希冲突解决方法三、模拟实现unordered系列容器1. 哈希表的改造2. 模拟实现 unordered_set3. 模拟实现 unordered_map前言 在C11中,STL又提…

git之创建远程仓库

创建远程仓库 以下操作为演示在Github网站上创建远程仓库 1.登陆注册Github 2.创建仓库入口 3.编辑仓库信息 4.仓库创建完成 5.查看仓库地址 配置SSH 选择SSH操作 如果某台电脑需要与Github上的仓库交互,那么就要把这台电脑的SSH公钥添加到…

TestNG和Junit的区别,测试框架该如何选择?

要想知道两个框架的区别,首先分别介绍一下两个框架。 TestNG是一个java中的开源自动化测试框架,其灵感来自JUnit和NUnit,TestNG还涵盖了JUnit4整个核心的功能,但引入了一些新的功能,使其功能更强大,使用更…

【更新公告】Airtest更新至1.2.9版本

1. 前言 本次更新为Airtest库更新,版本提升至1.2.9,主要新增 对Android13的支持 、新增Windows和iOS的录屏接口 等。 2. 更新功能 1)新增对Android13的支持 Airtest1.2.9版本新增了对Android13设备的支持,有该系统设备连接/自…

第二章 编写MBR主引导记录

主引导记录(MBR,Master Boot Record)是采用MBR分区表的硬盘的第一个扇区,即C/H/S地址的0柱面0磁头1扇区,也叫做MBR扇区 计算机的启动过程 为什么程序要载入内存 CPU的硬件电路被设计成只能运行处于内存中的程序&…

前端开发常用的18个JavaScript框架和库

JavaScript 可以说是最流行的编程语言之一,也是Web 开发人员必须学习的 3 种语言之一,JavaScript 几乎可以做任何事情,更可以在包括物联网在内的多个平台和设备上运行。在WebGL库和SVG/Canvas元素的支持下,JavaScript变得惊人的强…

Spring Cloud Nacos源码讲解(四)- Nacos服务端服务注册源码分析

Nacos服务端服务注册源码分析 服务端调用接口 ​ 我们已经知道客户端在注册服务的时候实际上是调用的NamingService.registerInstance这个方法来完成实例的注册,而且在最后我们也告诉了大家实际上从本质上讲服务注册就是调用的对应接口nacos/v1/ns/instance&#…

网络工程(三)ensp配置静态路由

配置静态路由 这里选择的路由器是AR2220 因为有三个GE接口 下面说拓扑图 一、定义AR路由ip地址和下一条 AR1system-viewsysname AR1interface g0/0/0ip address 10.0.0.254 8interface g0/0/1ip address 50.0.0.1 8下一条代码[AR1]ip route-static 0.0.0.0 0 50.0.0.2AR2 s…

Linux SID 开发指南

Linux SID 开发指南 1 前言 1.1 编写目的 介绍Linux 内核中基于Sunxi 硬件平台的SID 模块驱动的详细设计,为软件编码和维护提供基 础。 1.2 适用范围 内核版本Linux-5.4, Linux-4.9 的平台。 1.3 相关人员 SID 驱动、Efuse 驱动、Sysinfo 驱动的维护、应用开…

Java 方法超详细整理,适合新手入门

目录 一、什么是方法呢? 二、方法的优点 三、带返回值方法定义 语法: 示例: 四、带返回值方法调用 语法: 示例: 五、结果示例 一、什么是方法呢? Java方法是语句的集合,它们在一起执行…

Android 9.0 仿ios的hotseat效果修改hotseat样式

1.概述 在9.0的系统rom定制化的产品中,在launcher3的定制化需求中,有很多功能需求点需要开发,在对一下ui的定制化的过程中,会参考ios的样式进行定制化,所以最近项目需求 要求仿ios的hotseat的样式来进行产品的定制,开发一款仿ios的hotseat,所以需要对hotseat进行分析,然…

C语言进阶(八)—— 链表

1. 链表基本概念1.1 什么是链表链表是一种常用的数据结构,它通过指针将一些列数据结点,连接成一个数据链。相对于数组,链表具有更好的动态性(非顺序存储)。数据域用来存储数据,指针域用于建立与下一个结点的…

【CKA】

— k8s basic — 安装版本信息查询 命令行自动补全功能设置 01. Namespaces and Pods 02. Assigning Pods to Nodes 03. Basic Deployments 04. Advanced Deployment 05. Jobs, Init Containers and Cron Jobs 06. Manage DaemonSets 07. Manage Services 08. Manage Ingress …

【技术】雷达液位计设备安装方案

一、设备概述 雷达液位计为我司自主研发,采用FMCW技术,以24G毫米雷达波作为载波信号,该产品测量精度高、功耗低、体积小、重量轻;测量过程不受温度、气压、泥沙、灰尘、河流污染物、水面漂浮物、空气等环境因素的影响&#xff0c…

spring boot项目中i18n和META-INF.spring下的文件的作用

目录标题一、resource下的文件二、i18n下messages_zh_CN.properties三、spring.factories文件四、org.springframework.boot.autoconfigure.AutoConfiguration.imports一、resource下的文件 org.springframework.boot.autoconfigure.AutoConfiguration.imports ; - …

微信小程序日记、微信小程序个人空间、个人日记

一.简述 个人比较喜欢微信小程序,因为小程序所追求的用户体验、代码质量、美观的样式,简单方便丰富的api、样式封装等,同时又与普通的前端开发非常相似,让人很容易就上手。 这篇博客介绍的是一款记录个人/家庭日常记录的微信小程…

VsCode开发工具的入门及基本使用

VsCode开发工具的入门及基本使用一、VsCode介绍1.VsCode简介2.VsCode特点二、安装VsCode1.下载VsCode2.安装VsCode3.打开VsCode三、设置VsCode中文1.搜索中文语言插件2.安装中文语言插件四、初识VsCode1.VsCode左侧栏模块2.系统设置功能五、VsCode初始配置1.禁用自动更新2.开启…