CRF(conditional random field)是 一 组 输 出 随 机 变 量 的 条 件 概 率 模 型 \color{red}{一组输出随机变量的条件概率模型} 一组输出随机变量的条件概率模型,并且假设 输 出 随 机 变 量 构 成 马 尔 可 夫 随 机 场 \color{red}{输出随机变量构成马尔可夫随机场} 输出随机变量构成马尔可夫随机场
若 概 率 分 布 P ( Y ) 满 足 成 对 、 局 部 或 全 局 马 尔 可 夫 性 , \color{red}{若概率分布P(Y)满足成对、局部或全局马尔可夫性,} 若概率分布P(Y)满足成对、局部或全局马尔可夫性,
就 称 此 联 合 概 率 分 布 为 概 率 无 向 图 模 型 , 或 者 马 尔 可 夫 随 机 场 \color{red}{就称此联合概率分布为概率无向图模型,或者马尔可夫随机场} 就称此联合概率分布为概率无向图模型,或者马尔可夫随机场
马尔可夫性是指随机变量的概率分布仅和与其 有 边 相 连 \color{red}{有边相连} 有边相连的那些随机变量有关,而与其他没有边相连的随机变量条件独立;
最大团C:团内的任意两个结点之间都有边相连,且不能再加入多的结点使其成为最大的团;
那么,随机变量组 Y = ( Y 1 , Y 2 , . . . , Y N ) Y=(Y_1,Y_2,...,Y_N) Y=(Y1,Y2,...,YN)的联合概率分布可以写作图中所有最大团C上的函数的乘积:
H a m m e r s l e y − C l i f f o r d 定 理 : P ( Y ) = 1 Z ∏ C ψ C ( Y C ) , Z = ∑ Y ∏ C ψ C ( Y C ) \color{red}{Hammersley-Clifford定理:P(Y)=\frac{1}{Z}\displaystyle\prod_C\psi_C(Y_C),Z=\sum_Y\prod_C\psi_C(Y_C)} Hammersley−Clifford定理:P(Y)=Z1C∏ψC(YC),Z=Y∑C∏ψC(YC)
ψ C ( Y C ) 称 为 势 函 数 , 要 求 为 严 格 正 , 通 常 定 义 为 指 数 函 数 ψ C ( Y C ) = e x p ( − E ( Y C ) ) \color{red}{\psi_C(Y_C)称为势函数,要求为严格正,通常定义为指数函数\psi_C(Y_C)=exp(-E(Y_C))} ψC(YC)称为势函数,要求为严格正,通常定义为指数函数ψC(YC)=exp(−E(YC))
定义: 给 定 随 机 变 量 X 条 件 下 , 随 机 变 量 Y 的 马 尔 可 夫 随 机 场 称 为 条 件 随 机 场 \color{red}{给定随机变量X条件下,随机变量Y的马尔可夫随机场称为条件随机场} 给定随机变量X条件下,随机变量Y的马尔可夫随机场称为条件随机场
条件随机场满足: P ( Y v ∣ X , Y w , w ≠ v ) = P ( Y v ∣ X , Y w , w ⟺ v ) , w ≠ v 表 示 除 v 以 外 的 所 有 点 , w ⟺ v 表 示 与 v 有 边 连 接 的 点 \color{red}{P(Y_v|X,Y_w,w\neq{v})=P(Y_v|X,Y_w,w\iff{v})},w\neq{v}表示除v以外的所有点,w\iff{v}表示与v有边连接的点 P(Yv∣X,Yw,w=v)=P(Yv∣X,Yw,w⟺v),w=v表示除v以外的所有点,w⟺v表示与v有边连接的点,
线性条件随机场: 标注问题中,X 为观测序列,Y 为标记序列(状态序列)
P ( Y i ∣ X , Y 1 , Y 2 , . . . , Y i − 1 , Y i − 2 , . . . , Y n ) = P ( Y i ∣ X , Y i − 1 , Y i − 2 ) , i = 1 , 2 , . . . , n ( 在 i = 1 时 只 考 虑 单 边 ) \color{red}{P(Y_i|X,Y_1,Y_2,...,Y_{i-1},Y_{i-2},...,Y_n)=P(Y_i|X,Y_{i-1},Y_{i-2}),i=1,2,...,n(在i=1时只考虑单边)} P(Yi∣X,Y1,Y2,...,Yi−1,Yi−2,...,Yn)=P(Yi∣X,Yi−1,Yi−2),i=1,2,...,n(在i=1时只考虑单边)
易 知 , 线 性 条 件 随 机 场 模 型 中 最 大 团 是 相 邻 两 个 结 点 的 集 合 \color{red}{易知,线性条件随机场模型中最大团是相邻两个结点的集合} 易知,线性条件随机场模型中最大团是相邻两个结点的集合
线性条件随机场的参数化形式: 对数线性模型
P ( y ∣ x ) = 1 Z ( x ) e x p ( ∑ i , k λ k t k ( y i − 1 , y i , x , i ) + ∑ i , l μ l s l ( y i , x , i ) ) \color{red}{P(y|x)=\frac{1}{Z(x)}exp(\displaystyle\sum_{i,k}\lambda_kt_k(y_{i-1},y_i,x,i)+\sum_{i,l}\mu_ls_l(y_i,x,i))} P(y∣x)=Z(x)1exp(i,k∑λktk(yi−1,yi,x,i)+i,l∑μlsl(yi,x,i))
Z ( x ) = ∑ y e x p ( ∑ i , k λ k t k ( y i − 1 , y i , x , i ) + ∑ i , l μ l s l ( y i , x , i ) ) \color{red}{Z(x)=\displaystyle\sum_yexp(\displaystyle\sum_{i,k}\lambda_kt_k(y_{i-1},y_i,x,i)+\sum_{i,l}\mu_ls_l(y_i,x,i))} Z(x)=y∑exp(i,k∑λktk(yi−1,yi,x,i)+i,l∑μlsl(yi,x,i))
这 里 的 y = ( y 1 , y 2 , . . . , y n ) 这里的y=(y_1,y_2,...,y_n) 这里的y=(y1,y2,...,yn)
t k 为 转 移 特 征 ( 函 数 ) , s l 是 状 态 特 征 ( 函 数 ) , 通 常 取 值 为 0 或 1 , λ k 和 μ l 是 对 于 的 权 值 , Z ( x ) 的 求 和 是 在 所 有 可 能 的 输 出 序 列 上 t_k为转移特征(函数),s_l是状态特征(函数),通常取值为0或1,\lambda_k和\mu_l是对于的权值,Z(x)的求和是在所有可能的输出序列上 tk为转移特征(函数),sl是状态特征(函数),通常取值为0或1,λk和μl是对于的权值,Z(x)的求和是在所有可能的输出序列上
简 化 ( 只 是 写 法 上 更 精 简 ) ⇒ P w ( y ∣ x ) = e x p ( w ⋅ F ( y , x ) ) Z w ( x ) , Z w ( x ) = ∑ y e x p ( w ⋅ F ( y , x ) ) \color{red}{简化(只是写法上更精简)\Rightarrow{P_w(y|x)=\frac{exp(w\cdot{F(y,x)})}{Z_w(x)},Z_w(x)=\displaystyle\sum_yexp(w\cdot{F(y,x)})}} 简化(只是写法上更精简)⇒Pw(y∣x)=Zw(x)exp(w⋅F(y,x)),Zw(x)=y∑exp(w⋅F(y,x))
F ( y , x ) 表 示 全 局 特 征 向 量 : F ( y , x ) = ( f 1 ( y , x ) , f 2 ( y , x ) , . . . , f K ( y , x ) ) T F(y,x)表示全局特征向量:F(y,x)=(f_1(y,x),f_2(y,x),...,f_K(y,x))^T F(y,x)表示全局特征向量:F(y,x)=(f1(y,x),f2(y,x),...,fK(y,x))T
其 中 , f k ( y , x ) = ∑ i = 1 n f k ( y i − 1 , y i , x , i ) , k = 1 , 2 , . . . , K 其中,f_k(y,x)=\displaystyle\sum_{i=1}^nf_k(y_{i-1},y_i,x,i),k=1,2,...,K 其中,fk(y,x)=i=1∑nfk(yi−1,yi,x,i),k=1,2,...,K
w = ( w 1 , w 2 , . . . , w K ) T , 表 示 权 值 向 量 , 其 中 w k = λ k , μ l w=(w_1,w_2,...,w_K)^T,表示权值向量,其中w_k=\lambda_k,\mu_l w=(w1,w2,...,wK)T,表示权值向量,其中wk=λk,μl
矩 阵 形 式 ⇒ P w ( y ∣ x ) = 1 Z w ( x ) ∏ i = 1 n + 1 M i ( y i − 1 , y i ∣ x ) , Z w ( x ) = [ M 1 ( x ) M 2 ( x ) ⋯ M n + 1 ( x ) ] ( s t a r t , s t o p ) ( 这 里 是 下 标 的 意 思 ) \color{red}{矩阵形式\Rightarrow{P_w(y|x)=\frac{1}{Z_w(x)}\displaystyle\prod_{i=1}^{n+1}M_i(y_{i-1},y_i|x),Z_w(x)=[M_1(x)M_2(x)\cdots{M_{n+1}(x)}]_{(start,stop)(这里是下标的意思)}}} 矩阵形式⇒Pw(y∣x)=Zw(x)1i=1∏n+1Mi(yi−1,yi∣x),Zw(x)=[M1(x)M2(x)⋯Mn+1(x)](start,stop)(这里是下标的意思)
这 里 需 要 定 义 y 0 = s t a r t , y n + 1 = s t o p ( 从 m 个 标 记 中 取 值 ) , 非 规 范 化 概 率 ( 分 子 ) 为 n + 1 个 矩 阵 适 当 元 素 的 乘 积 , 而 规 范 化 因 子 为 这 n + 1 个 矩 阵 乘 积 的 ( s t a r t , s t o p ) 元 素 值 ; 其 中 , n 为 观 测 序 列 长 度 , m 为 标 记 随 机 变 量 Y i 的 可 能 取 值 个 数 这里需要定义y_0={start},y_{n+1}=stop(从m个标记中取值),非规范化概率(分子)为n+1个矩阵适当元素的乘积,而规范化因子为这n+1个矩阵乘积的(start,stop)元素值;其中,n为观测序列长度,m为标记随机变量Y_i的可能取值个数 这里需要定义y0=start,yn+1=stop(从m个标记中取值),非规范化概率(分子)为n+1个矩阵适当元素的乘积,而规范化因子为这n+1个矩阵乘积的(start,stop)元素值;其中,n为观测序列长度,m为标记随机变量Yi的可能取值个数
元 素 定 义 为 M i ( y i − 1 , y i ∣ x ) = e x p ( ∑ k = 1 K w k f k ( y i − 1 , y i , x , i ) ) 元素定义为M_i(y_{i-1},y_i|x)=exp(\displaystyle\sum_{k=1}^Kw_kf_k(y_{i-1},y_i,x,i)) 元素定义为Mi(yi−1,yi∣x)=exp(k=1∑Kwkfk(yi−1,yi,x,i))
表 示 某 一 个 最 大 团 ( y i − 1 , y i ) 或 者 某 一 个 随 机 变 量 y i ( 比 如 M 1 就 仅 有 y 1 的 特 征 值 项 , 因 为 本 来 标 记 序 列 就 不 包 含 y 0 , 特 征 定 义 自 然 也 就 不 包 含 y 0 ) 在 所 有 的 特 征 上 的 加 权 和 值 , 可 以 理 解 为 转 移 概 率 ( 非 规 范 化 ) , 所 以 M 是 一 个 m 阶 矩 阵 \color{red}{表示某一个最大团(y_{i-1},y_i)或者某一个随机变量y_i(比如M_1就仅有y_1的特征值项,因为本来标记序列就不包含y_0,特征定义自然也就不包含y_0)在所有的特征上的加权和值,可以理解为转移概率(非规范化),所以M是一个m阶矩阵} 表示某一个最大团(yi−1,yi)或者某一个随机变量yi(比如M1就仅有y1的特征值项,因为本来标记序列就不包含y0,特征定义自然也就不包含y0)在所有的特征上的加权和值,可以理解为转移概率(非规范化),所以M是一个m阶矩阵
给定条件随机场 P ( Y ∣ X ) P(Y|X) P(Y∣X),输入序列 x x x,输出序列 y y y,求解 P ( Y i = y i ∣ x ) , P ( Y i − 1 = y i − 1 , Y i = y i ∣ x ) P(Y_i=y_i|x),P(Y_{i-1}=y_{i-1},Y_i=y_i|x) P(Yi=yi∣x),P(Yi−1=yi−1,Yi=yi∣x)和相应的数学期望;
前向-后向算法:
前向概率: α i T ( y i ∣ x ) = α i − 1 T ( y i − 1 ∣ x ) [ M i ( y i − 1 , y i ∣ x ) ] , i = 1 , 2 , ⋯ , n + 1 \color{red}{\alpha_i^T(y_i|x)=\alpha_{i-1}^T(y_{i-1}|x)[M_i(y_{i-1},y_i|x)],i=1,2,\cdots,n+1} αiT(yi∣x)=αi−1T(yi−1∣x)[Mi(yi−1,yi∣x)],i=1,2,⋯,n+1
α 0 ( y ∣ x ) = 1 , y = s t a r t , 或 = 0 , y = 其 他 值 \color{red}{\alpha_0(y|x)=1,y=start,或=0,y=其他值} α0(y∣x)=1,y=start,或=0,y=其他值
表 示 在 位 置 i 的 标 记 是 y i 并 且 从 1 到 i 的 前 部 分 标 记 序 列 的 非 规 范 化 概 率 , 由 于 标 记 可 取 m 个 值 , 所 以 α i ( x ) 是 一 个 m 维 列 向 量 表示在位置i的标记是y_i并且从1到i的前部分标记序列的非规范化概率,由于标记可取m个值,所以\alpha_i(x)是一个m维列向量 表示在位置i的标记是yi并且从1到i的前部分标记序列的非规范化概率,由于标记可取m个值,所以αi(x)是一个m维列向量
后向概率: β i ( y i ∣ x ) = [ M i + 1 ( y i , y i + 1 ∣ x ) ] β i + 1 ( y i + 1 ∣ x ) ; \color{red}{\beta_i(y_i|x)=[M_{i+1}(y_i,y_{i+1}|x)]\beta_{i+1}(y_{i+1}|x);} βi(yi∣x)=[Mi+1(yi,yi+1∣x)]βi+1(yi+1∣x);
β n + 1 ( y n + 1 ∣ x ) = 1 , y n + 1 = s t o p ; 或 = 0 , y = 其 他 值 \color{red}{\beta_{n+1}(y_{n+1}|x)=1,y_{n+1}=stop;或=0,y=其他值} βn+1(yn+1∣x)=1,yn+1=stop;或=0,y=其他值
表 示 在 位 置 i 的 标 记 为 y i 并 且 从 i + 1 到 n 的 后 部 分 标 记 序 列 的 非 规 范 化 概 率 表示在位置i的标记为y_i并且从i+1到n的后部分标记序列的非规范化概率 表示在位置i的标记为yi并且从i+1到n的后部分标记序列的非规范化概率
概率计算:
P ( Y i = y i ∣ x ) = α i T ( y i ∣ x ) β i ( y i ∣ x ) Z ( x ) ; P ( Y i − 1 = y i − 1 , Y i = y i ∣ x ) = α i − 1 T ( y i − 1 ∣ x ) M i ( y i − 1 , y i ∣ x ) β i ( y i ∣ x ) Z ( x ) \color{red}{P(Y_i=y_i|x)=\frac{\alpha_i^T(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(y_{i-1}|x)M_i(y_{i-1},y_i|x)\beta_i(y_i|x)}{Z(x)}} P(Yi=yi∣x)=Z(x)αiT(yi∣x)βi(yi∣x);P(Yi−1=yi−1,Yi=yi∣x)=Z(x)αi−1T(yi−1∣x)Mi(yi−1,yi∣x)βi(yi∣x)
Z ( x ) = α n T ( x ) × 1 = 1 × β 1 ( x ) ; 1 为 元 素 均 为 1 的 列 向 量 \color{red}{Z(x)=\alpha_n^T(x)\times1=1\times{\beta_1(x)};1为元素均为1的列向量} Z(x)=αnT(x)×1=1×β1(x);1为元素均为1的列向量
利用前向-后向算法可以计算特征函数关于联合分布 P ( Y , X ) P(Y,X) P(Y,X)和条件分布 P ( Y ∣ X ) P(Y|X) P(Y∣X)的期望,具体公式参见《统计学习方法》
学习方法为极大似然估计和正则化的极大似然估计:具体的优化算法有:改进的迭代尺度法IIS、梯度下降法以及拟牛顿法;
这里可以参考隐马尔可夫模型预测问题中的维特比算法,二者从算法思想上来说是一致的;