CRF:Conditional Random Field,即条件随机场。

首先介绍一下基础背景知识。机器学习中的分类问题可以分为硬分类和软分类。硬分类常见的模型有SVM、PLA、LDA等。SVM可以称为max margin classifier,基于几何间隔进行分类。软分类一般分为logistic Regnesstion(概率判别模型)和 Naive Bayes(概率生成模型)。概率判别模型和概率生成模型的区别是,概率判别模型是对\(P\left ( y|x \right )\)进行建模,概率生成模型是对\(P\left ( x,y \right )\)进行建模。

1.概率生成模型

Naive即朴素贝叶斯假设,公式表示就是\(P\left ( x|y=y_{0} \right )= \prod_{i=1}^{p}P\left ( x_{i}|y=y_{0} \right )\),通俗的解释就是给定隐变量的条件下,观测变量之间相互独立,即\(x_{i}\perp x_{j}|y,i\neq j\),如图1所示。当\(y\)被观测时,阻断了观测变量之间的路径。



当隐变量一个line的时候,就是HMM(Hidden markov model)模型,如图2所示。



如果大家有学过概率图模型的话,肯定知道有向图中的d-分离。通过有向图的独立性假设,我们可以非常直观的得到HMM的两大假设。即齐次Markov假设和观测独立假设。这两个假设的表达式分别为:

齐次Markov假设:\(P\left ( y_{t}|y_{1:t-1},x_{1:t-1} \right )= P\left ( y_{t}|y_{t-1} \right )\)

观测独立假设:\(P\left ( x_{t}|y_{1:t},x_{1:t-1} \right )= P\left ( x_{t}|y_{t} \right )\)

2.概率判别模型

比如最大熵模型,采用最大熵思想。比如:给定方差和均值,高斯分布熵最大。。

3.两者结合就出现了MEMM:Maximum Entropy Markov Model。这是一种概率判别模型。



进行独立性分析可以发现,该模型打破了HMM的观测独立假设,模型变得更加的合理了。比如,文本标注问题中,上下文对于标注会产生影响。

但是同样存在标注偏差问题,原因是局部归一化。John Lafferty的论文中讲解了该问题为什么存在。用一句话来概括就是:Conditional distribution with low entropy take less notice of observation.

4.Chain-structure CRF

该模型克服了标注偏差问题,CRF的模型如下图4所示,隐变量之间变为无向边,所以是全局归一化。



接下来会写如何利用CRF实现Learning、Inference等任务。

CRF基础知识以及如何实现Learning,Inference的更多相关文章

  1. 转载 Deep learning:一(基础知识_1)

    前言: 最近打算稍微系统的学习下deep learing的一些理论知识,打算采用Andrew Ng的网页教程UFLDL Tutorial,据说这个教程写得浅显易懂,也不太长.不过在这这之前还是复习下m ...

  2. Deep learning:一(基础知识_1)

    本文纯转载: 主要是想系统的跟tornadomeet的顺序走一遍deeplearning; 前言: 最近打算稍微系统的学习下deep learing的一些理论知识,打算采用Andrew Ng的网页教程 ...

  3. Deep Reinforcement Learning 基础知识

    Introduction 深度增强学习Deep Reinforcement Learning是将深度学习与增强学习结合起来从而实现从Perception感知到Action动作的端对端学习的一种全新的算 ...

  4. Deep Reinforcement Learning 基础知识(DQN方面)

    Introduction 深度增强学习Deep Reinforcement Learning是将深度学习与增强学习结合起来从而实现从Perception感知到Action动作的端对端学习的一种全新的算 ...

  5. 关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL))

    关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL)) 欢迎fork本项目原始链接:关于图计算&图学习的基础知识概览:前置知识点学习 ...

  6. PRML 基础知识

    1 一个经典例子 ​ 一个经典的例子就是Polynomial Curve Fitting问题,现在将以此为基础介绍一些基本概念和方法.该问题的主要思路是针对给定的训练集\(\mathbf{x}\equ ...

  7. TFLite基础知识

    此基础知识仅为个人学习记录,如有错误或遗漏之处,还请各位同行给个提示. 概述 TFLite主要含有如下内容: (1)TFLite提供一系列针对移动平台的核心算子,包括量化和浮点运算.另外,TFLite ...

  8. C/C++ 基础知识

    C/C++ 基础知识 C 语言优秀学习网站 [C Programming Language] C 语言的注释 单行注释 /* comment goes here */ // comment goes ...

  9. 逻辑回归Logistic Regression 之基础知识准备

    0. 前言   这学期 Pattern Recognition 课程的 project 之一是手写数字识别,之二是做一个网站验证码的识别(鸭梨不小哇).面包要一口一口吃,先尝试把模式识别的经典问题—— ...

随机推荐

  1. 高可用服务之Keepalived基础入门

    前面我们聊了聊高可用集群corosync+pacemaker的相关概念以及相关工具的使用和说明,回顾请参考https://www.cnblogs.com/qiuhom-1874/category/18 ...

  2. 8成以上的java线程状态图都画错了,看看这个-图解java并发第二篇

    本文作为图解java并发编程的第二篇,前一篇访问地址如下所示: 图解进程线程.互斥锁与信号量-看完还不懂你来打我 图形说明 在开始想写这篇文章之前,我去网上搜索了很多关于线程状态转换的图,我惊讶的发现 ...

  3. .NetCore之接口缓存

    1.问题:我们平时做开发的时候肯定都有用到缓存这个功能,一般写法是在需要的业务代码里读取缓存.判断是否存在.不存在则读取数据库再设置缓存这样一个步骤.但是如果我们有很多地方业务都有用到缓存,我们就需要 ...

  4. Docker实战(4):Docker错误记一笔

    创建容器的时候报错WARNING: IPv4 forwarding is disabled. Networking will not work. 解决办法: vim /usr/lib/sysctl.d ...

  5. jenkins在windows系统及linux环境安装

    一.下载 jenkins是当前持续集成(Continuous integration,简称 CI)的主流工具,在项目中得到了广泛的推广和应用. 下载地址: https://jenkins.io/dow ...

  6. Unity3d 游戏设计(一)井字棋

    3D游戏设计(一)井字棋 运行效果: 实现过程 声明变量: public Texture2D O; public Texture2D X; GUIStyle myStyle; private int ...

  7. HTTP协议学习之Request学习

    在开始前,我们首先对HTTP协议做个简单的了解 HTTP协议(Hyper Text Transfer Protocol) 超文本传输协议 名词非常的高大上,如果学过计算机网络这门课(再如果还有一点印象 ...

  8. Spring学习(六)--Spring的IOC

    1.autowiring(自动依赖装配)的实现 自动装配中不需要对Bean属性做显示的依赖管理方式,只需要配置好autowiring的属性就可以,IOC容器会自动根据这个属性的配置通过反射自动找到属性 ...

  9. MySQL 8.0索引合并

    简介 参考https://dev.mysql.com/doc/refman/8.0/en/index-merge-optimization.html#index-merge-intersection. ...

  10. Python-输入输出-input ouput

    输入.输出? 这种统称为IO流,也就是数据流向,在标准中,从终端输入称为标准输入 sidin,从终端输出为标准输出 stdout,从终端错误输出则为标准错误输出 stderr.这些只是IO流中终端方面 ...