统计机器学习-条件随机场
条件随机场是给定一组输入随机变量条件下另一组随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔可夫随机场。类似隐马尔可夫模型,条件随机场也有概率计算问题,学习问题和预测问题,后面会给出解决这些问题的算法。首先定义马尔可夫随机场。
概率无向图模型(马尔可夫随机场)
概率无向图模型又叫做马尔可夫随机场。如下图所示
概率无向图是五个随机变量,是概率无向图的结点,结点的集合记做。连线代表随机变量之间的依赖关系,是概率无向图的边,边的集合记做,如果两个变量之间没有连线,说明这两个随机变量独立。整个概率无向图可以记做。
概率无向图可以通过以下方式定义,首先描述成对马尔可夫性、局部马尔可夫性、全局马尔可夫性:
成对马尔可夫性:设和是无向图中任意两个没有边连接的结点,结点和分别对应随机变量和,其他所有结点为,对应的随机变量为,这些随机变量满足:
即随机变量和条件独立。
局部马尔可夫性:设是无向图中任意一个结点,是与有边连接的所有结点。同样,随机变量和条件独立:
全局马尔可夫性:设结点集合,是被结点集合分开的任意结点集合,对应的随机变量满足:
可以看出,上述成对的、局部的、全局的马尔可夫性定义是等价的。
概率无向图模型的定义
设有联合概率分布,由无向图表示,在图中,结点表示随机变量,边表示随机变量之间的依赖关系。如果联合概率分布满足成对、局部或全局马尔可夫性,就称此联合概率分布为概率无向图模型,或马尔可夫随机场。
有了如上定义,重要的是如何求联合。事实上,联合概率可以写成若干子联合概率的乘积形式,也就是将联合概率进行因子分解。
概率无向图模型的因子分解
首先定义图与最大团。
团与最大团的定义
无向图中任何两个结点均有边连接的结点子集称为团。若是无向图的一个团,并且不能再加进任何一个的结点使其成为一个更大的团,则称为最大团。
如下图
团与最大团上图有7个团,,其中是最大团。
Hammersley-Clifford定理
概率无向图模型的联合概率分布可以表示为如下形式:
其中,是无向图的最大团,是的结点对应的随机变量,是上定义的严格正函数(通常定义为指数函数),乘积是在无向图所有的最大团上进行的。规范化因子是对所有可能的取值情况求和,使其符合概率分布。
条件随机场的定义与形式
条件随机场是在给定随机变量的条件下,随机变量的马尔可夫随机场。其中是输入变量,表示需要标注的观测序列。是输出变量,表示标记序列,也称为状态序列(类似隐马尔可夫模型,是没有标注的隐变量)。可以用下图表示:
条件随机场某个随机变量依赖于和有边相连接的随机变量。于是有如下定义
条件随机场的定义
设与是随机变量,是在给定的条件下的条件概率分布,若随机变量构成一个由无向图表示的马尔可夫随机场,即
对任意结点成立,则称条件随机概率分布为条件随机场。式中表示在图中与结点有边连接的所有结点,表示结点以外的所有结点,,为结点对应的随机变量。
为了简化问题,通常假设随机变量的概率无向图是一条线性链,叫做线性链条件随机场,这种假设虽然简化了问题,但是依然可以取得比较好的效果,并大大降低了计算的复杂度。如下图
线性链条件随机场此时,相邻的两个随机变量构成一个最大团。但是这种情况依然很复杂,在此假设上,再假设随机变量有着和相同的图结构,如下图
XY相同图结构的线性链条件随机场此时每个随机变量只依赖于有边相连接的随机变量,和。线性链条件随机场有如下定义
线性链条件随机场的定义
设,均为线性链表示的随机变量序列,若在给定随机变量序列的条件下,随机变量序列的条件概率分布构成条件随机场,即满足马尔可夫性
则称为线性链条件随机场。在标注问题中,表示输入观测序列,表示对应的输出标记序列或状态序列。
条件随机场的参数化形式
根据Hammersley-Clifford定理,可以给出线性链条件随机场的参数化形式。
线性链条件随机场的参数化形式
设为线性链条件随机场,则在随机变量取值为的条件下,随机变量取值为的条件概率具有如下形式:
其中
式中,和是特征函数,和是特征对应的权值。是规范化因子,求和是在所有可能的输出序列上进行的。
值得注意的是,特征函数依赖于输入,当前位置和上个位置,称为转移特征。特征函数依赖于输入和当前位置,称为状态特征。特征函数和取值通常为0或1,当满足特征时,取1。
条件随机场的简化形式
将转移特征和状态特征用统一的方式表示,对上述参数化形式进行简化。假设有个转移特征,个状态特征,则共有个特征函数,记
使用特征函数对各个位置求和,记为
各个特征的权值记为
则线性链条件随机场的参数形式可以简化为
回顾最大熵模型:
可以看出两者有着非常类似的形式,并且线性链条件随机场也是对数线性模型。
若以表示权值向量,即
以表示全局特征向量,即
则线性链条件随机场还有以下内积形式:
条件随机场的矩阵形式
在标记(状态)序列引入特殊的起点和终点状态标记,,这时可以通过矩阵形式表示。
对观测序列的每一个位置,定义一个阶矩阵(是标记取值的个数,因为和只有是不是start或是不是stop两个取值,所以在起点和终点,其余位置正常)
可以看做各个位置上特征函数的加权和再求,得到输入条件下,未规范化的状态到状态之间的状态转移概率。
这样,给定观测序列,相应标记序列的非规范概率可以通过该序列个矩阵适当元素的乘积表示。于是,条件概率是
其中为规范化因子,是个矩阵的乘积的下标为的元素
,,表示开始状态与终止状态,规范化因子是以为起点为终点通过状态的所有路径的非规范化概率之和。可以通过矩阵计算公式得到,过程略。
条件随机场的概率计算问题
条件随机场的概率计算问题是给定条件随机场,输入序列和输出序列,计算条件概率,以及相应的数学期望的问题。类似隐马尔可夫模型,使用前向-后向算法。
前向-后向算法
对每个指标,定义前向向量:
递推公式为
又可表示为
表示在位置的标记是并且到位置的前部分标记序列的非规范化概率,的取值有个,所以是维列向量。
同样,对每个指标,定义后向向量:
递推公式
又可表示为
表示在位置的标记为并且从到的后部分标记序列的非规范化概率,的取值有个,所以是维列向量。
由前向-后向向量的定义不难得到:
这里,是元素均为1的维列向量。
概率计算
其中,
期望值计算
其中,
其中是的经验分布。
在时,是转移特征函数,对应概率,在时,是状态特征函数,对应概率。可以通过一次前向扫描得到和,通过一次后向扫描计算,从而计算所有的概率和特征的期望。
条件随机场的学习算法
条件随机场模型实际上是定义在时序数据上的对数线性模型,类似最大熵模型,所以也可以用IIS法,梯度下降法以及拟牛顿法。
改进的迭代尺度法(IIS)法
IIS法的思路是找到特征函数权值参数的更新量,使得极大似然函数改变量的下界在每次迭代时提高,达到极大似然估计的效果,具体推导参考最大熵模型。
条件随机场模型学习的改进的迭代尺度法
输入:特征函数,;经验分布;
输出:参数估计值;模型。
(1)对所有,取初值
(2)对每一:
(a)当时,令是方程
的解;
当,时,令是方程
的解,其中
是在数据中出现所有特征的总和。
(b)更新值:
(3)如果不是所有都收敛,重复步骤(2)
当是常数时,方程比较容易求解,当不是常数时,方程比较难求解,在《统计机器学习》条件随机场部分有其他相关解决方法的描述。
拟牛顿法
对于条件随机场模型
学习的优化目标函数是对数似然函数的相反数:
其梯度函数是
条件随机场模型学习的BFGS算法
输入:特征函数,;经验分布;
输出:参数估计值;模型。
(1)选定初始点,取为正定对称矩阵,置
(2)计算。若,则停止计算,否则转(3)
(3)由求出
(4)一维搜索:求使得
(5)置
(6)计算,若,则停止计算;否则,按下式求出:
其中
(7)置,转(3)
条件随机场的预测算法
条件机场的预测问题是给定条件随机场和输入序列(观测序列),求条件概率最大的输出序列(标记序列)。常用的算法是维比特算法,使用了动态规划的思路,推导详见隐马尔可夫模型。
条件随机场的维特比算法
输入:模型特征向量和权值向量,观测序列;
输出:最优路径。
(1)初始化
其中
(2)递推。对
(3)终止
(4)返回路径
求得最优路径。