CRF概述

主要参考

1.李航统计学习方法

2.一个声音好听的小姐姐的讲解视频https://www.bilibili.com/video/av752902225/ 

3. 白板推导系列视频 https://www.bilibili.com/video/BV19t411R7QU?p=1 

一、背景介绍

1、背景算法介绍

            

     HMM,隐马尔可夫模型,是生成模型,基于两个假设,一个是齐次一阶马尔可夫假设,一个是观测独立假设。一阶是指y2只与y1有关系,y3只与y2有关系。在给定y2的时候,y3与y1无关;齐次是指对于正常的马氏链,y1到y2,y2到y3的转移概率是相同的。可以用图中公式数学化表达。

     MEMM,最大熵马尔可夫模型,是判别模型,它打破了观测独立假设,在词性标注等应用上更加合理,而且判别模型是对条件概率建模对于标注问题来说也更直接。它的一个缺点是label bias problem,根本原因在于局部归一化。(条件概率分布的熵越小,越不考虑观测变量——可以看下图的例子,从1->2,从4->5只有一条路径,根本不会关注observation是什么。)

              

    CRF,条件随机场,也是判别模型,跟MEMM相比,有向变无向,CRF是全局归一化,克服了label bias problem问题。我们这里讲的主要是线性链条件随机场,它的一个重要应用就是标注序列问题,比如词性标注,命名实体识别等。

2、背景知识介绍

    在讲CRF之前,首先介绍一下涉及到的相关知识。概率无向图模型、团与最大团、概率无向图模型的因子分解。

            

    成对马尔可夫性是指,对于任意结点u,v是与u没有边连接的结点,O是除了u、v的其它所有结点,那么在给定Yo的情况下,Yu和Yv是相互独立的。局部马尔可夫性是指 ,v是任意结点,W是与v有边连接的结点,O是除了v、W的其它所有结点,那么在给定Yw的条件下,Yv和Yw是相互独立的。全局马尔可夫性是指,结点集合A、B是被结点集合C分开的任意集合,那么在给定YC的条件下,YA和YB是相互独立的。

     概率无向图模型的联合概率分布可以表示为最大团上随机变量的函数的乘积形式。其中C是最大团,YC是其对应的随机变量,Z是规范化因子,目的是保证P(Y)是概率分布,𝜓𝐶是最大团上的势函数,是严格正的,通常是指数函数。乘积是在无向图所有的最大团上进行的。

二、CRF算法概述

1、条件随机场的定义与形式

           

   X和Y是随机变量,如果对任意结点v,给定X和除v以外的所有结点时Yv的概率分布等于给定X和与v有边连接的所有结点时Yv的概率分布,则条件概率分布P(Y|X)是条件随机场。线性链条件随机场就是X和Y都是线性链表示的随机变量序列。也就是说给定Yi-1和Yi+1之后,Yi和其他的结点是相互独立的。

   参数化形式利用了概率无向图模型的因子分解,在条件随机场中y1y2是一个最大团,y2y3是一个最大团,依次类推,那么P(Y|X)就是这些最大团的势函数的乘积。势函数用tk和sl表示。因为加了exp(),所以乘积变成了求和。tk是定义在边上的特征函数,称为转移特征,依赖于当前和前一个位置。sl是定义在节点上的特征函数,称为状态特征,依赖于当前位置。tk和sl都依赖于位置,是局部特征函数。通常,特征函数tk和sl的取值为1/0,当满足特征条件时取值为1,否则为0。条件随机场完全由特征函数tk,sl和对应的权值确定。

                     

 2、要解决的问题

                   

   对于条件随机场,需要解决的问题,主要有以上几个,一个是参数估计的学习问题,前面提到的特征函数tk和sl都是人为设定的,而这些特征函数的权值是需要根据训练数据学习得到的,也就是让N个训练样本出现的概率尽可能的大;一个是推断问题,推断包括求边缘概率,也就是给定X的情况下,求yt为某个值的概率;还包括求最大后验概率,也就是decoding问题,求概率最大的编码序列。下面对这几个问题逐一解决。

(1)参数估计

           

    条件随机场模型实际上是定义在时序数据上的对数线性模型,学习方法是极大似然估计,具体的优化实现算法有改进的迭代尺度法IIS,梯度下降法和拟牛顿法。

(2)边缘概率计算问题

                   

            

(3)Decoding问题——维特比算法

                   

   首先输入时模型的特征向量,也就是特征函数集合(f1(y,x), f2(y,x),…,fk(y,x)),即K1个tk和K2个sl,以及特征函数的权值向量w,待标注的观测序列x。每个位置有m种标记可能。首先初始化,求位置1的各个标记j=1,2…m的非规范化概率,然后递推求位置i的各个标记l=1,2,…m的非规范化概率的最大值,并且记录取得最大值的标记值。直到最后i=n终止,得到最终位置的非规范化概率最大值,和最优路径的终点,最后回溯返回最优路径。

下面是维特比算法的一个示例。

     每个位置有0-6种标记选择。给出的待标序列x是 "start 我去北京 end",e是状态特征,t是转移特征。

                   

    求位置1的各个标记j=1,2…m的非规范化概率

               

    递推求位置i的各个标记l=1,2,…m的非规范化概率的最大值,并且记录取得最大值的标记值

               

    直到最后i=n终止,得到最终位置的非规范化概率最大值,和最优路径的终点,最后回溯返回最优路径

                

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

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

相关文章

CRC-16

文章目录 A.1 CRC16 算法A.1.1 CRC16 算法参数设置A.1.2 LengthA.1.3 CounterA.1.4 Data IDA.1.5 CRCA.1.6 CRC16 算法示例A.1.7 CRC16 算法推荐(查表法)A.1.8 CRC16 实例(查表法) A.1 CRC16 算法 A.1.1 CRC16 算法参数设置 CRC16 算法中要求了 Counter、Data ID、CRC 等参数…

CRF

随机场:由若干个子集组成的一个整体,而每个子集都按照某个分布随机赋予一个值,这个场就叫随机场。 马尔科夫随机场:随机场中某一位置的赋值仅与其相邻位置的赋值有关,和与其不相邻位置的赋值无关。 CRF是马尔科夫随机…

crc(crc是什么职业)

CRC的特点是什么? 在诸多检错手段中,CRC是最著名的一种,其特点是:检错能力极强,开销小,易于用编码器及检测电路实现 CRC的特点有哪些呢? CRC的全称是循环冗余校验,其特点是:检错能力极强&#x…

CRC16

CRC选择 当数据帧长度在8bits-128bits范围内时,推荐CRC-8(CRC-8能够减少额外比特的开销,且有更好的性能表现) 当数据帧长度在128bits-2048bits范围内时,推荐CRC-12,CRC-16,CRC-CCITT(CRC-12额外比特的开销更小&#x…

linux中ls -l出的crw brw lrw代表什么?

原文链接:https://www.cnblogs.com/victorywr/p/15725170.html 每次使用ls -al 查看文件信息,都只看rw-rw-rw- (权限为666),忽略最前面的c/b/l,今天了解一下: linux中c表示字符设备文件&#xf…

一款红队批量脆弱点搜集工具

功能 指纹识别:调用“三米前有香蕉皮“前辈工具,他的工具比finger好用 寻找资产中404,403,以及网页中存在的其他薄弱点,以及需要特定路径访问的资产 后续会把nuclei加进来 目前只有windows可以用 使用 第一次使用脚本请运行p…

【机器学习】正则化详解和过拟合的解决

https://blog.csdn.net/weixin_45434953/article/details/130970273 上一篇文章的例子中,如果使用一个四次多项式去拟合房价函数,会导致过拟合问题 而正则化是解决过拟合的一个方法。右图过拟合是因为其三次方项和四次方项的影响,我们再回顾…

改进YOLOv8 | 主干网络篇 | YOLOv8 更换骨干网络之 GhostNet | 从廉价操作中获取更多特征

论文地址:https://arxiv.org/abs/1911.11907 代码地址:https://github.com/huawei-noah/ghostnet 由于内存和计算资源有限,在嵌入式设备上部署卷积神经网络(CNN)很困难。特征图中的冗余是那些成功的神经网络的重要特征,但在神经架构设计中很少研究。本文提出了一种新的G…

【测试入门】测试用例经典设计方法 —— 因果图法

01、因果图设计测试用例的步骤 1、分析需求 阅读需求文档,如果User Case很复杂,尽量将它分解成若干个简单的部分。这样做的好处是,不必在一次处理过程中考虑所有的原因。没有固定的流程说明究竟分解到何种程度才算简单,需要测试…

妙啊!真实模拟面试 — 面试官究竟会怎么问 数据库索引呢?

什么是索引? 面试官:我看你项目中有做过 SQL 优化,那我们今天就来聊聊索引吧。 (索引能问些啥,无非是索引的概念、索引的使用规则、索引的分类、索引的原理。嘻嘻~我早有准备) 我:数据库中的…

一道面试题:餐馆模拟

前阵子遇到一个面试题,当时没有做出来,后来断断续续的用了一周的时间做了出来,但感觉也不完全对,先来看看题目,稍后再讨论。 问题 模拟一个餐馆,三个厨师,二个服务员,厨师单独做菜…

AI模拟面试官项目实战 | 项目概述

🎯摘要 看完本文,你可能有如下收获: 了解该项目的预览效果、了解技术栈、系统设计以及教程食用指南 ⭐️⭐️该收获仅供参考,真实收获以实物为准😇😇 ☀️系统概述 【AI模拟面试官】是一个模拟线上面试的…

软件测试面试题【2021模拟面试整理版(含答案)】

点击上方蓝色“程序员一凡”,选择“设为星标” 主页点击“领取资料”获取整理好的学习资源 一、问题预测 \1. 让简单介绍下自己(每次面试开场) \2. 让说下自己会的内容 \3. 看了哪些书籍(有问到) \4. 了解过哪些技…

Java程序员模拟面试,解析面试困扰和建议

模拟面试,相信大多数程序员都没有经历过,甚至还有从来没听说针对面试的辅导或者模拟面试啥的,所有的面试经验都来源于网上写的一些文章,然后再在面试的时候通过各种碰壁去揣测面试官在想啥。 前言 前几天组织了一次模拟面试直播&…

模拟面试题一

一、选择题 1、python不支持的数据类型有 A、charB、intC、floatD、list 1 参考答案:A 参考答案 2、打印输出结果:x "foo"y 2print(x y)A.foo B.foofoo C.foo2 D.2 E.An exception is thrown 1 D :一个是字符串&#…

前端面试题总结:模拟面试

1,问:请先自我介绍? 答:略 二,技术知识题 1,问:看你简历有项目经历,那在你之前的项目中,用到的技术栈有哪些? 答:主要使用过vue和微信小程序&…

模拟面试题回顾

模拟面试题回顾 1.servlet里面有哪些关键的方法? 讲到它的方法,就不可避免地去了解servlet的运行过程(也可以说是生命周期),如下图所示: 它的四个过程: ​ (1).当客户端第一次发送请求后,由容器&#xf…

java-模拟面试

讲一下快速排序算法 通过一次排序将数列分为两部分,一部分比另一部分数字都小 时间复杂度O(nlogn) 空间复杂度O(1) 先确定一个中间比较值,确定一个左指针(从头开始),右指针(从尾部开始) while循…

如何模拟面试?

我是艾木: 1.从学生到职场 当初毕业找工资的场景,至今还记忆犹新。 当时的自己还是学生的身份,正处于找工作的浪潮中,当时的校园招聘如火如荼,工作岗位也琳琅满目。一时间仿佛置身于百货商场之中,每个人都在…

微信小程序 | 基于ChatGPT实现模拟面试小程序

Pre:效果预览 ① 选择职位进行面试 ② 根据岗位职责进行回答 一、需求背景 这两年IT互联网行业进入寒冬期,降本增效、互联网毕业、暂停校招岗位的招聘,各类裁员、缩招的情况层出不穷!对于这个市场来说,在经历了互联网资本的疯狂时代,现在各大需要的时候更多能实实在在挣…