10 条件随机场

1 概率无向图模型

1.1 定义

又称 Markov 随机场.
回顾图 G=(V,E) 由结点和边构成, 不考虑方向时为无向图. 概率图模型 是图表示的概率分布: 假设有概率分布 P(Y),YY. 在图 G 中, 结点构成随机变量: Y=(Yv)vV; 边表示随机变量之间的概率依赖关系. 接下来定义几个性质:

这三个性质是等价的.

Pasted image 20250528220345.png|400

概率无向图模型

G=(V,E) 表示 P(Y), 且满足上述三个条件的任何一个.

1.2 因子分解

团, 最大团

任何两个结点均有边连接的结点子集称为; 如果一个团中不能再加进任何结点成为更大的团, 则它是最大团.

最大团显然不唯一, 也不代表元素个数要最多.

因子分解 (factorization) 就是把 P(Y) 表示成最大团上随机变量的函数的积的操作. 也即 P(Y)=1ZCΨC(YC), 这里 Z=YCΨC(YC) 是规范化因子, ΨC(YC)势函数需要恒正, 例如 ΨC(YC)=exp{E(YC)}. 它的存在性由 Hammersley-Clifford 定理保证.

2 条件随机场

2.1 定义

条件随机场

随机变量 Y 构成一个由 G=(V,E) 表示的 Markov 随机场, 即 P(Yv|X,Yw,wv)=P(Yv|X,Yw,wv),v, (这里 wv 表示与 v 连接的所有结点 w), 则称 P(Y|X)条件随机场.

我们主要考虑一类特别的图: 线性链. 即 G=(V={1,,n},E={(i,i+1)}),1in1.
定义对应的条件随机场:

线性链条件随机场

X=(X1,,Xn),Y=(Y1,,Yn) 满足 P(Yi|X,Y1,,Yi1,Yi+1,,Yn)=P(Yi|X,Yi1,Yi+1),1in.
(i=1,n 时只考虑单边)

Pasted image 20250529071724.png|300
在标注问题中, X 表示输入观测序列, Y 表示对应的输出标记序列.

2.2 参数化形式

对线性链条件随机场 P(Y|X) 进行因子分解:

线性链条件随机场的参数化形式

X=x, (2.1)P(y|x)=1Z(x)exp(i,kλktk(yi1,yi,x,i)+i,lμlsl(yi,x,i)), 其中 Z(x) 是规范化因子, 为对上述 exp 关于 y 求和. tk,sl 是特征函数, λk,μl 是对应权重.
另外, 这里的 tk转移特征(因为项里面有 yi1,yi), sl状态特征(因为只有 yi)

2.3 简化形式

假设有 K1 个转移特征, K2 个状态特征, K=K1+K2, 将 t,s 合并为 fk(yi1,yi,x,i)={tk(yi1,yi,x,i),k=1,,K1,sl(yi,x,i),k=K1+1,,K.
在所有位置 i 求和: fk(y,x)=i=1nfk(yi1,yi,x,i). 将系数 λk,μl 也统一表示为 wk,1kK. 因此 (2.1) 表示为 (2.2)P(y|x)=1Z(x)expk=1Kwkfk(y,x).
最后定义向量表示 w=(w1,,wK)T,F(y,x)=(f1(y,x),,fK(y,x))T, 则 Pw(y|x)=exp(wF(y,x))Zw(x),Zw(x)=yexp(wF(y,x)).

2.4 矩阵形式

在标记序列 {yi} 中额外加入 y0,yn+1 表示起始和终止状态. 基于上面的简化形式, 定义矩阵 Mi(x)=[Mi(yi1,yi|x)], 其中 Mi(yi1,yi|x)=exp(Wi(yi1,yi|x)),Wi(yi1,yi|x)=k=1Kwkfk(yi1,yi,x,i).
这样Pw(y|x)=1Zw(x)exp(k=1Kwkfk(y,x))=1Zw(x)exp(k=1Ki=1nwkfk(yi1,yi,x,i))=1Zw(x)exp(i=1nWi(yi1,yi|x))=1Zw(x)i=1n+1Mi(yi1,yi|x), Zw(x) 是规范化因子 [M1(x)Mn+1(x)]start,stop, 恰恰就是所有从 start 出发到 stop, 经过所有 y1,,yn 的概率 i=1n+1Mi(yi1,yi|x) 之和.

3 概率计算问题

给定 P(Y|X), 输入 x 和输出 y, 计算 P(Yi=yi|x),P(Yi1=yi1,Yi=yi|x) 以及相应的数学期望.

3.1 前向后向算法 概率计算

定义前向向量 α0(y0|x)={1,y0=start,0,else, 然后定义 αiT(yi|x)=αi1T(yi1|x)[Mi(yi1,yi|x)],i=1,,n+1,αiT(x)=αi1T(x)Mi(x).
这里 αi(yi|x) 表示从 1 走到 i, 在位置 i 的标记是 yi; αi(x)Rm (myi 的可能取值个数) 的概率. 类似地定义后向向量 βn+1(yn+1|x)={1,yn+1=stop,0,else,

βi(yi|x)=[Mi+1(yi,yi+1|x)]βi+1(yi+1|x)βi(x)=Mi+1(x)βi+1(x).

由此 (3.1)P(Yi=yi|x)=αiT(yi|x)βi(yi|x)Z(x),(3.2)P(Yi1=yi1,Yi=yi|x)=αi1T(yi1|x)Mi(yi1,yi|x)βi(yi|x)Z(x),
其中 Z(x)=αnT(x)1=1β1(x).

3.2 期望计算

首先计算特征函数 fk 关于条件分布 P(Y|X) 的数学期望. 应用 (3.2): EP(Y|X)[fk]=yP(y|x)fk(y,x)=i=1n+1yi1yifk(yi1,yi,x,i)αi1T(yi1|x)Mi(yi1,yi|x)βi(yi|x)Z(x)
假设经验分布为 P~(X), 则 fk 关于 P(X,Y) 的期望为 EP(X,Y)[fk]=x,yP(x,y)i=1n+1fk(yi1,yi,x,i)=xP~(x)yP(y|x)i=1n+1fk(yi1,yi,x,i)=xP~(x)i=1n+1yi1,yifkαi1TMiβiZ(x).

4 学习算法

4.1 改进的迭代尺度法

假设我们根据训练集得到经验分布 P~(X,Y), 则对数似然 L(w)=LP~(Pw)=logx,yPw(y|x)P~(x,y)=x,yP~(x,y)logPw(y|x). 而若 P因子分解式给出: L(w)=x,y[P~(x,y)k=1Kwkfk(y,x)P~(x,y)logZw(x)]=j=1Nk=1Kwkfk(yj,xj)j=1NlogZw(xj)
为了高效地道对数似然的极大值, 采用迭代的方法不断优化对数似然函数改变量的下界. 假设当前参数为 w=(w1,,wK)T, 更新增量为 δ=(δ1,,δK)T, 则需要求解以下方程(对转移和状态特征分别给出): EP~[tk]=x,yP~(x,y)i=1ntk(yi1,yi,x,i)(4.1)=x,yP~(x)P(y|x)i=1n+1tk(yi1,yi,x,i)exp(δkT(x,y)), 以及 (4.2)EP~[sl]=x,yP~(x)P(y|x)i=1nsl(yi,x,i)exp(δK1+lT(x,y)), 这里 T(x,y) 中出现的特征数总和 (4.3)T(x,y)=kfk(y,x)=k=1Ki=1n+1fk(yi1,yi,x,i).

条件随机场模型学习的改进的迭代尺度法

输入: 特征函数 t1,,tK1,s1,,sK2, 经验分布 P~(x,y)
输出: 参数估计 w^ 和模型 Pw^

  1. 取初值 wk=0,1kK.
  2. 对每一个 k,
    1. 1kK1, δk 是方程 x,yP~(x)P(y|x)i=1n+1tk(yi1,yi,x,i)exp(δkT(x,y))=EP~[tk] 的解;
    2. K1+1kK, δK1+l 是方程 x,yP~(x)P(y|x)i=1nsl(yi,x,i)exp(δK1+lT(x,y))=EP~[sl] 的解, 这里 T(x,y)(4.3) 给出.
    3. wkwk+δk.
  3. 如果不是所有 wk 都收敛, 重复 2.

这里 T(x,y) 对不同的 (x,y) 取值可能不同. 为此, 定义松弛特征 s(x,y)=Si=1n+1k=1Kfk(yi1,yi,x,i). 选取足够大的常数 S 使 s(x,y)0 恒成立, 则特征总数取 S. 此时 (4.1) 变为 x,yP~(x)P(y|x)i=1n+1tk(yi1,yi,x,i)exp(δkS)=EP~[tk], 其中δk=1SlogEP~[tk]EP[tk],EP[tk]=xP~(x)i=1n+1yi1,yitk(yi1,yi,x,i)αi1T(yi1|x)Mi(yi1,yi|x)βi(yi|x)Z(x), 同理有状态部分的方程改写, 其中 EP[sl]=xP~(x)i=1nyisl(yi,x,i)αiT(yi|x)βi(yi|x)Z(x).
在上述算法中, S 由于要取得足够大, 则 δ 增大, 收敛变慢. 为此计算 T(x)=maxyT(x,y)=t (由前向后向递推公式看出). 此时更新方程进一步改写为EP~[tk]=xP~(x)yP(y|x)i=1n+1tk(yi1,yi,x,i)exp(δkT(x))=xP~(x)ak,texp(δkt)=t=0Tmaxak,tβkt, 这里 δk=logβk, 可以用牛顿法求得 βk. 类似地 EP~[sl]=t=0Tmaxbl,tγlt,δl=logγl.

4.2 拟牛顿法

回顾模型 (2.2), 优化目标函数为 minwRnf(w)=xP~(x)logyexpi=1nwifi(x,y)x,yP~(x,y)i=1nwifi(x,y), 梯度函数为 g(w)=x,yP~(x)Pw(y|x)f(x,y)EP~(f).
参考 BFGS算法:

条件随机场模型学习的 BFGS 算法

输入 特征函数 f1,,fn, 经验分布 P~(X,Y)
输出 w^,Pw^(y|x)

  1. 选定初始点 w(0), 取正定对称矩阵 B0, k=0.
  2. gk=g(w(k)). 若 gk=0 停止计算, 否则转 3.
  3. Bkpk=gk 求出 pk.
  4. 一维搜索: 求 λk 使 f(w(k)+λkpk)=minλ0f(w(k)+λpk).
  5. w(k+1)=w(k)+λkpk.
  6. gk+1=g(w(k+1)). 若 gk+1=0 停止计算, 否则 Bk+1=Bk+ykykTykTδkBkδkδkTBkδkTBkδk, 其中 yk=gk+1gk, δk=w(k+1)w(k).
  7. kk+1, 跳转 3.

5 预测算法

给定 P(Y|X) 和输入序列 x, 求条件概率最大的输出序列 y. 注意到 y=argmaxyPw(y|x)=argmaxyexp(wF(y,x))Zw(x)=argmaxy(wF(y,x)). 等价于求解以下问题 maxyi=1nwFi(yi1,yi,x), 其中 Fi(yi1,yi,x)=(f1(yi1,yi,x,i),,fK(yi1,yi,x,i))T 是局部特征向量.

条件随机场预测的维特比算法

输入 F(x,y),w, 观测 x=(x1,,xn)
输出 最优路径 y=(y1,,yn)

  1. 初始化 δ1(j)=wF1(y0=start,y1=j,x),1jm.
  2. 2in: δi(l)=max1jm{δi1(j)+wFi(yi1=j,yi=l,x)},1lm,Ψi(l)=argmax1jm{δi1(j)+wFi(yi1=j,yi=l,x)},1lm.
  3. 终止:maxy(wF(y,x))=max1jmδn(j)yn=argmax1jmδn(j).
  4. 返回路径 yi=Ψi+1(yi+1),n1i1 得到最优路径 y=(y1,,yn).