条件随机场(CRF)是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔科夫随机场。
定义1.1 (条件随机场)设
X
X
与是随机变量,
P(Y|X)
P
(
Y
|
X
)
是在给定
X
X
的条件下的条件概率分布。若随机变量
Y
Y
构成一个由无向图表示的马尔科夫随机场,即
定义1.2 (线性链条件随机场)设 X=(X1,X2,...,Xn) X = ( X 1 , X 2 , . . . , X n ) , Y=(Y1,Y2,...,Yn) Y = ( Y 1 , Y 2 , . . . , Y n ) 均为线性链表示的随机变量序列,若在给定的随机变量序列 X X 的条件下,随机变量序列的条件概率分布 P(Y|X) P ( Y | X ) 构成条件随机场,即满足马尔科夫性
定理1.1(线性链条件随机场的参数化形式)设 P(Y|X) P ( Y | X ) 为线性链条件随机场,则在随机变量 X X 取值为的条件下,随机变量 Y Y 取值为的条件概率具有如下形式:
条件随机场的学习算法
算法1.1(条件随机场模型学习的改进的迭代尺度法)
输入:特征函数
t1,t2,...,tK1
t
1
,
t
2
,
.
.
.
,
t
K
1
,
s1,s2,...,sK2
s
1
,
s
2
,
.
.
.
,
s
K
2
;经验分布
P~(x,y)
P
~
(
x
,
y
)
;
输出:参数估计值
w^
w
^
;模型
Pw^
P
w
^
.
(1)对所有
k∈{1,2,...,K}
k
∈
{
1
,
2
,
.
.
.
,
K
}
,取初值
wk=0
w
k
=
0
(2)对每一
k∈{1,2,...,K}
k
∈
{
1
,
2
,
.
.
.
,
K
}
:
(a)当
k=1,2,...,K1
k
=
1
,
2
,
.
.
.
,
K
1
时,令
δK1+l
δ
K
1
+
l
是方程
(b)更新 wk w k 的值: wk←wk+δk w k ← w k + δ k
(3)如果不是所有 wk w k 都收敛,重复步骤(2)。
算法1.2(条件随机场模型学习的BFGS法)
输入:特征函数 f1,f2,...,fn; f 1 , f 2 , . . . , f n ; 经验分布 P~(X,Y) P ~ ( X , Y ) ;
输出:最优参数值 w^ w ^ ;最优模型 Pw^(y|x) P w ^ ( y | x )
(1)选定初始点 w(0) w ( 0 ) ,取 B0 B 0 为正定对称矩阵,置 k=0 k = 0
(2)计算 gk=g(w(k)) g k = g ( w ( k ) ) ,若 gk=0 g k = 0 ,则停止计算;否则转(3)
(3)由 Bkpk=−gk B k p k = − g k 求出 pk p k
(4)一维搜索:求 λk λ k 使得
(5)置 w(k+1)=w(k)+λkpk w ( k + 1 ) = w ( k ) + λ k p k
(6)计算 gk+1=g(w(k+1)) g k + 1 = g ( w ( k + 1 ) ) ,若 gk=0 g k = 0 ,则停止计算;否则按下式求出 Bk+1 B k + 1 :
(7)置 k=k+1 k = k + 1 ,转(3)。
算法1.3(条件随机场预测的维特比算法)
输入:模型特征向量 F(y,x) F ( y , x ) 和权值向量 w w ,观测序列;
输出:最优路径 y∗=(y∗1,y∗2,...,y∗n) y ∗ = ( y 1 ∗ , y 2 ∗ , . . . , y n ∗ )
(1)初始化
(2)递推。对 i=2,3,...,n i = 2 , 3 , . . . , n
(3)终止
(4)返回路径
求得最优路径 y∗=(y∗1,y∗2,...,y∗n) y ∗ = ( y 1 ∗ , y 2 ∗ , . . . , y n ∗ )