机器学习--概率图算法--条件随机场

本文深入探讨了概率无向图的概念,包括成对、局部和全局马尔科夫性,并详细介绍了条件随机场,特别是线性链条件随机场。阐述了条件随机场的参数化形式,概率计算中的前向-后向算法,以及学习问题中的迭代尺度法。此外,还讲解了Viterbi算法在预测问题中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一 概率无向图

1 概率无向图的概念(三段式描述)

1)大前提

2)小前提

3)结论

2 概率无向图的成对、局部、全局马尔科夫性

1)成对马尔可夫性(条件独立)

2)局部马尔可夫性(条件独立)

3)全局马尔可夫性(条件独立)

3 概率无向图的因子分解

1)团与最大团

2)因子分解

二 条件随机场的概念与参数化形式(重点介绍线性链条件随机场)

1 条件随机场的概念(三段式)

1)大前提

2)小前提

3)结论

2 线性链条件随机场的概念(处理标注问题)

1)大前提

2)小前提

3)结论

3 线性链条件随机场的参数化形式(条件随机场完全由特征函数与特征函数权值确定)

4 线性链条件随机场的简化形式

5 线性链条件随机场的矩阵形式

三 条件随机场的概率计算问题

1 概率计算问题描述

2 前向-后向算法

1)前向算法(对每个指标,定义前向向量,维度为m)

2)后向算法(对每个指标,定义前向向量,维度为m)

3)概率计算

四 条件随机场的学习问题

1 学习问题的描述

2 学习问题的求解算法

1)改进的迭代尺度法

五 条件随机场的预测问题

1 预测问题的描述

2 Viterbi算法(算法原理与流程)


一 概率无向图

1 概率无向图的概念(三段式描述)

1)大前提

联合概率分布p(Y),由无向图G(V,E)表示

注意:

  • Y:表示多维随机变量
  • V:表示无向图中的结点(随机变量)
  • E:表示无向图中的边(随机变量之间的依赖关系)

2)小前提

联合概率分布p(Y),满足成对马尔可夫性、局部马尔可夫性、全局马尔可夫性

3)结论

联合概率分布p(Y),称为概率无向图(或者称为马尔可夫随机场/马尔可夫网络

2 概率无向图的成对、局部、全局马尔科夫性

1)成对马尔可夫性(条件独立)

  • u,v是无向图G(V,E)中任意两个没有边连接的结点,其中结点u,v分别对应随机变量Y_{u},Y_{v}
  • O是无向图G(V,E)中除u,v外所有的结点,其中O对应随机变量Y_{o}
  • 满足:p(Y_{u},Y_{v}|Y_{O})=p(Y_{u}|Y_{O})p(Y_{v}|Y_{O}),u\neq v

2)局部马尔可夫性(条件独立)

  • v是无向图G(V,E)中任意一个结点,其中结点v分别对应随机变量Y_{v}
  • W是与v有边连接的所有的结点,其中W对应随机变量Y_{W}
  • O是无向图G(V,E)中除u,W外所有的结点,其中O对应随机变量Y_{O}
  • 满足:p(Y_{v},Y_{O}|Y_{W})=p(Y_{v}|Y_{W})p(Y_{O}|Y_{W})

3)全局马尔可夫性(条件独立)

  • 设节点集合A,B是在无向图G(V,E)中被节点集合C分开的任意节点集合,其中分别对应随机变量Y_{A},Y_{B},Y_{C}
  • 满足:p(Y_{A},Y_{B}|Y_{C})=p(Y_{A}|Y_{C})p(Y_{B}|Y_{C})

3 概率无向图的因子分解

1)团与最大团

  • 团:是指无向图GV的结点子集,要求子集中任意两个结点都有边连接
  • 最大团:是指存在团C,无法添加进去任意一个结点进去

2)因子分解

第一点:因子分解的概念

概率无向图中随机变量的联合分布表示为其最大团上的随机变量的函数的乘积形式

第二点:公式

p(Y)=\frac{1}{Z}\prod_{C}\Psi _{C}(Y_{C}),Z=\sum_{Y}\prod_{C}\Psi_{C}(Y_{C})

注意:

  • Y:表示对应的随机变量
  • Z:表示规范化因子
  • C:表示最大团
  • Y_{C}:表示最大团对应的随机变量
  • \Psi:表示势函数(严格正函数)

第三点:公式的扩展

\Psi_{C}(Y_{C})=e^{-E(Y_{C})}

二 条件随机场的概念与参数化形式(重点介绍线性链条件随机场)

1 条件随机场的概念(三段式)

1)大前提

XY是随机变量,p(Y|X)是给定X条件下Y的条件概率

2)小前提

设随机变量Y构成一个由无向图G(V,E)表示的马尔可夫随机场,即满足:p(Y_{v}|X,Y_{w},w\neq v)=p(Y_{v}|X,Y_{w},w\sim v)

注意:

  • v:表示任意一个结点
  • w(w\neq v):表示除结点v外的所有结点
  • w(w\sim v):表示与结点v有边连接的所有结点

3)结论

称条件分布p(Y|X)为条件随机场

注意:条件随机场本质上给定条件下的马尔可夫随机场

2 线性链条件随机场的概念(处理标注问题)

1)大前提

X=(X_{1},X_{2},...,X_{n})Y=(Y_{1},Y_{2},...,Y_{n})为线性链表示的随机变量序列

p(Y|X)是给定随机变量序列X条件下随机变量序列Y的条件概率

2)小前提

设随机变量序列Y构成一个由无向图G(V,E)表示的马尔可夫随机场

即满足:p(Y_{i}|X,Y_{1},...,Y_{i-1},Y_{i+1},...,Y_{n})=p(Y_{i}|X,Y_{i-1},Y_{i+1}),i=1,2,...,n

注意:i=1或者i=n仅考虑单边

3)结论

称条件分布p(Y|X)为线性链条件随机场

3 线性链条件随机场的参数化形式(条件随机场完全由特征函数与特征函数权值确定)

p(y|x)=\frac{1}{Z(x)}exp\left ( \sum_{k}\sum_{i}\lambda_{k}t_{k}(y_{i-1},y_{i},x,i) +\sum_{l}\sum_{i}\mu _{l}s_{l}(y_{i},x,i)\right )

\Rightarrow p(y|x)=\frac{1}{Z(x)}exp\left ( \sum_{k,i}\lambda_{k}t_{k}(y_{i-1},y_{i},x,i) +\sum_{l,i}\mu _{l}s_{l}(y_{i},x,i)\right ), Z(x)=\sum_{y}exp\left ( \sum_{k,i}\lambda_{k}t_{k}(y_{i-1},y_{i},x,i) +\sum_{l,i}\mu _{l}s_{l}(y_{i},x,i)\right )

注意:

  • y:表示随机变量Y对应的取值
  • x:表示随机变量X对应的取值
  • Z(x):表示规范化因子
  • t_{k}:表示转移特征函数,满足转移特征条件取1,不满足取0
  • s_{l}:表示状态特征函数,满足状态特征条件取1,不满足取0
  • \lambda_{k}:表示转移特征函数的权值
  • \mu_{l}:表示状态特征函数的权值

4 线性链条件随机场的简化形式

第一步:将转移特征函数与状态特征函数使用统一符号表示

f_{k}(y_{i-1},y_{i},x,i)=\left\{\begin{matrix} t_{k}(y_{i-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{matrix}\right.,k=1,2...,K

\Rightarrow (f_{1}(y_{i-1},y_{i},x,i),f_{2}(y_{i-1},y_{i},x,i),...,f_{K}(y_{i-1},y_{i},x,i))=(t_{1},t_{2},...,t_{K_{1}},s_{1},s_{2},...,s_{K_{2}})

注意:K=K_{1}+K_{2}

第二步:对转移特征函数与状态特征函数在各个位置求和

f_{k}(y,x)=\sum_{i=1}^{n}f_{k}(y_{i-1},y_{i},x,i),k=1,2,...,K

\Rightarrow (f_{1}(x,y),f_{2}(x,y),...,f_{K}(x,y))=(\sum_{i}f_{1}(y_{i-1},y_{i},x,i),\sum_{i}f_{2}(y_{i-1},y_{i},x,i),...,\sum_{i}f_{K}(y_{i-1},y_{i},x,i))

注意:K=K_{1}+K_{2}

第三步:将转移特征函数的权值与状态特征函数的权值使用统一符号表示

w_{k}=\left\{\begin{matrix} \lambda_{k},k=1,2,...,K_{1}\\\mu _{l} ,k=K_{1}+l,l=1,2,...,K_{2} \end{matrix}\right.,k=1,2,...,K

\Rightarrow (w_{1},w_{2},...,w_{K})=(\lambda_{1},...,\lambda_{K_{1}},\mu_{1},...,\mu_{K_{2}})

注意:K=K_{1}+K_{2}

第四步:线性链条件随机场的简化形式

p(y|x)=\frac{1}{Z(x)}exp\left ( \sum_{k=1}^{K}w_{k}f_{k}(y,x) \right ),Z(x)=\sum_{y}exp\left ( \sum_{k=1}^{K}w_{k}f_{k}(y,x) \right )

注意:令F(y,x)=(f_{1}(y,x),f_{2}(y,x),...,f_{K}(y,x)),w=(w_{1},w_{2},...,w_{K})

\Rightarrow p(y|x)=\frac{1}{Z(x)}exp\left ( w*F(y,x) \right ),Z(x)=\sum_{y}exp\left ( w*F(y,x) \right )

5 线性链条件随机场的矩阵形式

第一步:对观测序列x的每一个位置i=1,2,...,n+1,定义一个m阶矩阵(m是随机变量Y的取值个数)

M_{i}(x)=[M_{i}(y_{i-1},y_{i}|x)]

\Rightarrow M_{i}(y_{i-1},y_{i}|x)=exp\left ( W_{i}(y_{i-1},y_{i}|x) \right )

\Rightarrow W_{i}(y_{i-1},y_{i}|x)=\sum_{k=1}^{K}w_{k}f_{k}(y_{i-1},y_{i},x,i)

注意:我们这里引进特殊的起点和终点标记状态y_{0}=start,y_{n+1}=stop

第二步:非规范化的条件概率p(y|x)通过对n+1个矩阵适当元素的乘积表示

p(y|x)\propto \prod_{i=1}^{n+1}M_{i}(y_{i-1},y_{i}|x)

第三步:规范化的条件概率p(y|x)

p(y|x)=\frac{1}{Z(x)} \prod_{i=1}^{n+1}M_{i}(y_{i-1},y_{i}|x),Z(x)=(M_{1}(x)M_{2}(x)...M_{n+1}(x))_{start,stop}

注意:理解Z(x)

Z(x)表示以start为起点stop为终点通过状态的所有路径y_{1},y_{2},...,y_{n}的非规范化概率\prod_{i=1}^{n+1}M_{i}(y_{i-1},y_{i}|x)之和

三 条件随机场的概率计算问题

1 概率计算问题描述

给定条件随机场p(Y|X),以及输入序列x和输出序列y,计算p(Y_{i}=y_{i}|x)以及p(Y_{i-1}=y_{i-1},Y_{i}=y_{i}|x)

2 前向-后向算法

1)前向算法(对每个指标i=0,1,...,n,n+1,定义前向向量\alpha _{i}(x),维度为m)

第一步:\alpha _{0}(x)

\alpha _{0}(y_{0}|x)=\left\{\begin{matrix} 1,y=start\\0,otherwise \end{matrix}\right.

第二步:\alpha _{i}(x),i=1,2,...,n+1

\alpha _{i}(y_{i}|x)=\alpha _{i-1}(y_{i-1}|x)[M_{i}(y_{i-1},y_{i}|x)],i=1,2,...,n,n+1

\Rightarrow \alpha _{i}(y_{i}|x)=\alpha _{i-1}(x)M_{i}(x),i=1,2,...,n,n+1

2)后向算法(对每个指标i=0,1,...,n,n+1,定义前向向量\beta _{i}(x),维度为m)

第一步:\beta _{n+1}(x)

\beta _{n+1}(y_{n+1}|x)=\left\{\begin{matrix} 1,y=stop\\0,otherwise \end{matrix}\right.

第二步:\beta _{i}(x),i=0,2,...,n

\beta _{i}(y_{i}|x)=[M_{i}(y_{i},y_{i+1}|x)]\beta _{i+1}(y_{i+1}|x),i=0,2,...,n

\Rightarrow \beta _{i}(y_{i}|x)=M_{i+1}\beta _{i+1}(x),i=0,2,...,n

3)概率计算

p(Y_{i}=y_{i}|x)=\frac{\alpha ^{T}_{i}(x)\beta _{i}(x)}{Z(x)}=\frac{\alpha ^{T}_{i}(y_{i}|x)\beta _{i}(y_{i}|x)}{Z(x)}

p(Y_{i-1}=y_{i-1},Y_{i}=y_{i}|x)=\frac{\alpha _{i-1}^{T}(x)M_{i}(x)\beta _{i+1}(x)}{Z(x)}=\frac{\alpha _{i-1}^{T}(y_{i-1}|x)[M_{i}(y_{i-1},y_{i}|x)]\beta _{i+1}(y_{i}|x)}{Z(x)}

注意:Z(x)=\alpha _{i}^{T}(x)*I=\alpha _{i}^{T}(y_{i}|x)*I

四 条件随机场的学习问题

1 学习问题的描述

给定训练数据集估计条件随机场模型参数的问题

2 学习问题的求解算法

1)改进的迭代尺度法

第一步:已知训练数据集,由此可知经验概率分布\tilde{p}(X,Y),极大化训练数据的对数似然函数

L(w)=L_{\tilde{p}}(p_{w})=log\prod_{x,y}p_{w}(y|x)^{\tilde{p}(x,y)}=\sum_{x,y}\tilde{p}(x,y)log(p_{w}(y|x))

注意:p_{w}(y|x)是条件随机场

L(w)=\sum_{x,y}\tilde{p}(x,y)log(p_{w}(y|x))

=\sum_{x,y}\tilde{p}(x,y)log[\frac{1}{Z(x)}exp(\sum_{k=1}^{K}w_{k}f_{k}(y,x))]

=\sum_{x,y}[\tilde{p}(x,y) \sum_{k=1}^{K}w_{k}f_{k}(y,x))-\tilde{p}(x,y)logZ(x)]

=\sum_{j=1}^{N} \sum_{k=1}^{K}w_{k}f_{k}(y_{j},x_{j}))-\sum_{j=1}^{N} \sum_{k=1}^{K}logZ(x_{j})]

\Rightarrow L(w)=\sum_{j=1}^{N} \sum_{k=1}^{K}w_{k}f_{k}(y_{j},x_{j}))-\sum_{j=1}^{N} \sum_{k=1}^{K}logZ(x_{j})] 

后续步骤有时间更新

五 条件随机场的预测问题

1 预测问题的描述

给定条件随机场p(Y|X)和输入序列/观测序列x,求条件概率最大的输出序列y

2 Viterbi算法(算法原理与流程)

第一步:规范化概率最大对应的最优路径转换为非规范化概率最大对应的最优路径(减少计算量)

y^{*}=\underset{y}{\arg max}\left ( p_{w}(y|x) \right )

=\underset{y}{\arg max}\frac{exp(w*F(y,x))}{Z_{w}(x)}

=\underset{y}{\arg max}\left ( exp(w*F(y,x)) \right )

=\underset{y}{\arg max}\left ( w*F(y,x)\right )

\Rightarrow y^{*}=\underset{y}{max}\left ( w*F(y,x) \right )

第二步:为求解最优路径,改写公式F(y,x)

F(y,x)=(f_{1}(y,x),f_{2}(y,x),...,f_{K}(y,x))=(\sum_{i}f_{1}(y_{i-1},y_{i},x,i),..,\sum_{i}f_{K}(y_{i-1},y_{i},x,i))

\RightarrowF_{i}(y_{i-1},y_{i},x)=(f_{1}(y_{i-1},y_{i},x,i),f_{2}(y_{i-1},y_{i},x,i),...,f_{K}(y_{i-1},y_{i},x,i))

\Rightarrow F(y,x)=\sum_{i}F_{i}(y_{i-1},y_{i},x)

\Rightarrow y^{*}=\underset{y}{max}\left ( \sum_{i}w*F_{i}(y_{i-1},y_{i},x) \right )

第三步:初始化(计算i=1的各个标记j=1,2,...,m的非规范化概率)

\delta _{1}(j)=w*F_{1}(y_{0}=start,y_{1}=j,x),j=1,2,...,m

第四步:递推(i=2,3,...,n-1

  • 计算i=2,3,...,n-1的各个标记j=1,2,...,m的非规范化最大概率

\delta _{i}(l)=\underset{1\leq j\leq m}{max}\left \{ \delta _{i-1}(j)+w*F_{i}(y_{i-1}=j,y_{i}=l,x) \right \},l=1,2,...,m

  • 记录i=2,3,...,n的各个标记j=1,2,...,m的非规范化最大概率的路径

\psi _{i}(l)=\underset{1\leq j\leq m}{max}\left \{ \delta _{i-1}(j)+w*F_{i}(y_{i-1}=j,y_{i}=l,x) \right \},l=1,2,...,m

第五步:终止(i=n

y^{*}_{n}=\underset{1\leq j\leq m}{max}(\delta _{n}(j)),j=1,2,...,m

第六步:返回路径

y_{i}^{*}=\psi _{i+1}(y^{*}_{i+1}),i=n-1,n-2,...,1

第七步:最终路径

y^{*}=(y_{1}^{*},y_{2}^{*},...,y_{n}^{*})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值