为了完成nlp-beginner任务4,所以先复习一下CRF

按顺序看以下:

  • 如何轻松愉快地理解条件随机场(CRF)?
  • 统计学习方法第11章
  • LSTM+CRF 解析(原理篇)

模型

条件随机场是由转移特征函数和状态特征函数构成的

参数化形式:
P(y∣x)=1Z(x)exp⁡(∑i,kλktk(yy−1,yi,x,i)+∑i,lμlsl(yi,x,i))Z(x)=∑yexp⁡(∑i,kλktk(yy−1,yi,x,i)+∑i,lμlsl(yi,x,i))\begin{aligned} P(y|x)=&\frac{1}{Z(x)}\mathop{\exp}\left(\sum_{i,k}\lambda_k t_k(y_{y-1},y_i,x,i)+\sum_{i,l}\mu_ls_l(y_i,x,i) \right) \\ Z(x) =& \sum_y \mathop{\exp}\left(\sum_{i,k}\lambda_k t_k(y_{y-1},y_i,x,i)+\sum_{i,l}\mu_ls_l(y_i,x,i) \right) & \end{aligned}P(y∣x)=Z(x)=​Z(x)1​exp⎝⎛​i,k∑​λk​tk​(yy−1​,yi​,x,i)+i,l∑​μl​sl​(yi​,x,i)⎠⎞​y∑​exp⎝⎛​i,k∑​λk​tk​(yy−1​,yi​,x,i)+i,l∑​μl​sl​(yi​,x,i)⎠⎞​​​

简化形式:
fk(yi−1,yi,x,i)={tk(yy−1,yi,x,i),k=1,2,...,K1sl(yi,x,i),k=K1+l;l=1,2,...,K2fk(y,x)=∑i=1nfk(yi−1,yi,x,i),k=1,2,...,Kwk={λk,k=1,2,...,K1μl,k=K1+l;l=1,2,...,K2P(y∣x)=1Z(x)exp⁡∑k=1Kwkfk(y,x)若w和F(一个K个特征函数组成的向量)为向量形式:Pw(y∣x)=exp⁡(w⋅F(y,x))Zw(x)\begin{aligned} & f_k(y_{i-1},y_i,x,i)=\begin{cases} t_k(y_{y-1},y_i,x,i), &k =1,2,...,K_1\\ s_l(y_i,x,i),&k=K_1+l;l=1,2,...,K_2 \end{cases} \\ & f_k(y,x)=\sum_{i=1}^nf_k(y_{i-1},y_i,x,i),k=1,2,...,K \\ & w_k=\begin{cases} \lambda_k,k=1,2,...,K_1\\ \mu_l,k=K_1+l;l=1,2,...,K_2 \end{cases} \\ & P(y|x)=\frac{1}{Z(x)}\mathop{\exp}\sum_{k=1}^Kw_kf_k(y,x) \\ & 若w和F(一个K个特征函数组成的向量)为向量形式:\\ & P_w(y|x)=\frac{\mathop{\exp}(w \cdot F(y,x))}{Z_w(x)} \end{aligned}​fk​(yi−1​,yi​,x,i)={tk​(yy−1​,yi​,x,i),sl​(yi​,x,i),​k=1,2,...,K1​k=K1​+l;l=1,2,...,K2​​fk​(y,x)=i=1∑n​fk​(yi−1​,yi​,x,i),k=1,2,...,Kwk​={λk​,k=1,2,...,K1​μl​,k=K1​+l;l=1,2,...,K2​​P(y∣x)=Z(x)1​expk=1∑K​wk​fk​(y,x)若w和F(一个K个特征函数组成的向量)为向量形式:Pw​(y∣x)=Zw​(x)exp(w⋅F(y,x))​​

学习策略

y∗=arg⁡max⁡yP(y∣x)=arg⁡max⁡yexp⁡(w⋅F(y,x))Zw(x)=arg⁡max⁡yexp⁡(w⋅F(y,x))=arg⁡max⁡y(w⋅F(y,x))\begin{aligned} y^* &= \mathop{\arg\max_{y}}P(y|x) \\ &=\mathop{\arg\max_{y}}\frac{\mathop{\exp}(w \cdot F(y,x))}{Z_w(x)}\\ &=\mathop{\arg\max_{y}\mathop{\exp}(w \cdot F(y,x))}\\ &=\mathop{\arg\max_{y}}(w \cdot F(y,x))\\ \end{aligned}y∗​=argymax​P(y∣x)=argymax​Zw​(x)exp(w⋅F(y,x))​=argymax​exp(w⋅F(y,x))=argymax​(w⋅F(y,x))​
条件随机场的预测问题成为求非规范化概率最大的最优路径问题:
max⁡y(w⋅F(y,x))\begin{aligned} \mathop{\max_{y}}(w \cdot F(y,x)) \end{aligned}ymax​(w⋅F(y,x))​
为了求解最优路径,讲上式写成如下形式:
max⁡y∑i=1nw⋅Fi(yi−1,yi,x)\begin{aligned} \mathop{\max_{y}}\sum_{i=1}^nw \cdot F_i(y_{i-1},y_i,x) \end{aligned}ymax​i=1∑n​w⋅Fi​(yi−1​,yi​,x)​

预测算法

输入:模型特征向量 F(y,x)F(y,x)F(y,x) 和权值向量 www,观测序列x=(x1,x2,...,xn)x = (x_1,x_2,...,x_n)x=(x1​,x2​,...,xn​)
输出:最优路径 y∗=(y1∗,y2∗,...,yn∗)y^*=(y_1^*,y_2^*,...,y_n^*)y∗=(y1∗​,y2∗​,...,yn∗​)
(1)初试化:
δ1(j)=w⋅F1(y0=start,y1=j,x),j=1,2,...,m\begin{aligned} \delta_1(j)=w \cdot F_1(y_0=start,y_1=j,x),j=1,2,...,m \end{aligned}δ1​(j)=w⋅F1​(y0​=start,y1​=j,x),j=1,2,...,m​
(2)递推:对i=2,3,...,ni = 2, 3,...,ni=2,3,...,n
δ1(j)=max⁡i≤j≤m{δi−1+w⋅Fi(yi−1=j,yi=l,x)},j=1,2,...,mΨi(l)=arg⁡max⁡1≤j≤m{δi−1+w⋅Fi(yi−1=j,yi=l,x)},j=1,2,...,m\begin{aligned} & \delta_1(j)= \mathop{\max_{i\le j \le m }} \{\delta_{i-1}+w \cdot F_i(y_{i-1}=j,y_i=l,x) \},j=1,2,...,m \\ & \Psi_i(l)=\mathop{\arg\max_{1 \le j \le m}}\{\delta_{i-1}+w \cdot F_i(y_{i-1}=j,y_i=l,x) \},j=1,2,...,m \end{aligned}​δ1​(j)=i≤j≤mmax​{δi−1​+w⋅Fi​(yi−1​=j,yi​=l,x)},j=1,2,...,mΨi​(l)=arg1≤j≤mmax​{δi−1​+w⋅Fi​(yi−1​=j,yi​=l,x)},j=1,2,...,m​
(3)终止:
max⁡y(w⋅F(y,x))=max⁡i≤j≤mδn(j)yn∗=arg⁡max⁡i≤j≤mδn(j)\begin{aligned} \mathop{\max_{y}}(w &\cdot F(y,x)) = \mathop{\max_{i\le j \le m }}\delta_n(j) \\ & y_n^* = \mathop{\arg\max_{i\le j \le m }}\delta_n(j) & \end{aligned}ymax​(w​⋅F(y,x))=i≤j≤mmax​δn​(j)yn∗​=argi≤j≤mmax​δn​(j)​​
(4)返回路径:
yi∗=Ψi+1(yi+1∗),i=n−1,n−2,...,1\begin{aligned} y_i^* = \Psi_{i+1}(y_{i+1}^*), i=n-1,n-2,...,1 \end{aligned}yi∗​=Ψi+1​(yi+1∗​),i=n−1,n−2,...,1​
求得最优路径:y∗=(y1∗,y2∗,...,yn∗)y^*=(y_1^*,y_2^*,...,y_n^*)y∗=(y1∗​,y2∗​,...,yn∗​)

延伸思考

LSTM,Bert已经可以胜任序列标注问题了,为什么还需要套上一层CRF?

  • 如何理解LSTM后接CRF?
  • BERT中进行NER为什么没有使用CRF,我们使用DL进行序列标注问题的时候CRF是必备么?
  • NER最新SOTA模型

Raki的统计学习方法笔记0xB(11)章:条件随机场相关推荐

  1. 复现经典:《统计学习方法》​第 11 章 条件随机场

    本文是李航老师的<统计学习方法>[1]一书的代码复现. 作者:黄海广[2] 备注:代码都可以在github[3]中下载. 我将陆续将代码发布在公众号"机器学习初学者", ...

  2. 小白学习:李航《统计学习方法》第二版第11章 条件随机场

    小白学习:李航<统计学习方法>第二版第11章 条件随机场 小白学习:李航<统计学习方法>第二版第11章 条件随机场(一)----马尔科夫随机场 马尔科夫随机场(Markov r ...

  3. 《统计学习方法》啃书辅助:第11章 条件随机场

    11.1 概率无向图模型 [补充解释]成对马尔可夫性可以概括为:概率无向图模型中,任意两个没有边连接的结点是相互独立的. [补充解释]局部马尔可夫性可以概括为:概率无向图模型中,任意两个没有边直接相连 ...

  4. 《统计学习方法》读书笔记——第十一章 条件随机场

    写在前面 本系列博客是自己对于<统计学习方法>这本书的读书笔记,在读过每个章节以后根据自己的理解写下这一章的知识框架以及补充一些延伸知识点. 目录 写在前面 本章框架 概率无向图模型(马尔 ...

  5. 【统计学习方法笔记】——第二章 感知机

    目录 前言 一.感知机模型 1.1 定义 1.2 几何解释 二. 感知机学习策略 2.1 数据集的线性可分 2.2 感知机学习策略 三.感知机学习算法 3.1 感知机学习算法的原始形式 3.2 算法的 ...

  6. 复现经典:《统计学习方法》第 7 章 支持向量机

    本文是李航老师的<统计学习方法>[1]一书的代码复现. 作者:黄海广[2] 备注:代码都可以在github[3]中下载. 我将陆续将代码发布在公众号"机器学习初学者", ...

  7. 复现经典:《统计学习方法》第 6 章 逻辑斯谛回归

    本文是李航老师的<统计学习方法>[1]一书的代码复现. 作者:黄海广[2] 备注:代码都可以在github[3]中下载. 我将陆续将代码发布在公众号"机器学习初学者", ...

  8. 复现经典:《统计学习方法》第 8 章 提升方法

    本文是李航老师的<统计学习方法>[1]一书的代码复现. 作者:黄海广[2] 备注:代码都可以在github[3]中下载. 我将陆续将代码发布在公众号"机器学习初学者", ...

  9. 复现经典:《统计学习方法》第 10 章 隐马尔可夫模型

    本文是李航老师的<统计学习方法>[1]一书的代码复现. 作者:黄海广[2] 备注:代码都可以在github[3]中下载. 我将陆续将代码发布在公众号"机器学习初学者", ...

  10. 复现经典:《统计学习方法》第 9 章 EM 算法及其推广

    本文是李航老师的<统计学习方法>[1]一书的代码复现. 作者:黄海广[2] 备注:代码都可以在github[3]中下载. 我将陆续将代码发布在公众号"机器学习初学者", ...

最新文章

  1. JAVa读取文件的附加属性,Java 读取属性文件
  2. 单片机检测stc没反应_STC 核心板 入门记 - 你好我叫郑某人
  3. windows下ngnix+php配置
  4. Java Web 编程入门知识
  5. mysql dump 增量_mysql mysqldump数据备份和增量备份
  6. 笑死了,打错一个字,竟然...
  7. java 多表格处理工具,表单工具十一大标准
  8. 在哪能找到陌生人聊骚_如何说服陌生人帮助您找到工作
  9. VSTS For Testers读书笔记(5)
  10. 数据分析/数据挖掘 入门级选手建议
  11. 按键映射_通J1手游按键开箱——这可能是最小的游戏外设了
  12. 什么都不懂的人怎么样可以建立自己的网站
  13. 打开conda环境报错:UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x9a in position 317: illegal multibyt
  14. word 插入分隔符实现章节单独编页
  15. 分布式-SOA服务化接口设计
  16. 【Android显示系统初探】surface初相识
  17. java orm设计_大搜车orm框架设计思路
  18. “应用程序配置不正确,应用程序未能启动” 错误的解决
  19. 金龙鱼:营收增长,利润难求
  20. 雨林木风推出高仿Windows操作系统,基于Ubuntu 9.10

热门文章

  1. 阿里云服务器安装宝塔面板和配置安全组
  2. js实现删除文章弹窗提示是否确认
  3. python归并排序算法实现_排序算法之归并排序(附 Python 与 JS 实现)
  4. jdbc 事务没有回滚_《Spring Cloud Alibaba》微服务搭建之Seata分布式事务quot;发现问题quot;(十四)...
  5. 【2019银川网络赛D:】Take Your Seat(概率--递推+思维)
  6. leetcode最小面积_LeetCode 题解 |力扣杯 LCP 13.寻宝
  7. redis统计用户日活量_【赵强老师】Redis案例分析:用setbit统计活跃用户
  8. 数据样本过大 数据维度过大:用户名做一个聚类2.可以将时间分段,达到降维的效果
  9. 199.二叉树的右视图
  10. 简述malloc/free与new/delete的区别