注意,y0 =start , yn+1=stop表示开始状态与终止状态,Zw(x)是以start为起点stop为终点通过状态的所有路径y1,y2,...,yn的非规范化概率
之和。与隐马尔可夫模型类似,条件随机场也有三个问题:
1)条件随机场的概率计算问题
条件随机场的概率计算问题是给定条件随机场P(Y|X),输入序列x和输出序列Y,计算条件概率P(Yi=yi|x ),P(Yi-1=yi-1,Yi=yi|x)以及相应的数学期望的问题。为了方便起见,引进了前向-后向算法。
对每个指标i = 0,1,...,n + 1,定义前向向量
ai(yi | x)表示在位置i的标记是yi并且到位置i的前部分标记序列的非规范化概率,yi可取的值有m个,所以ai是m维列向量。
定义后向向量
表示在位置i的标记是yi并且从i+1到n的后部分标记序列的非规范化概率。
可以得到
按照前向-后向向量的定义,很容易计算标记序列在位置i是标记yi的条件概率和在位置i-1与i是标记yi-1和yi的条件概率:
有了上一节计算的条件概率,我们也可以很方便的计算联合分布
和条件分布的期望。(注:期望是每次的概率乘以其结果的总和)期望值的计算
根据上面我们求得的条件概率,可以很方便地算出联合分布P(x,y)和条件分布P(y|x)的期望。
前向后向算法总结:
从上面可以看出非规范化概率
与HMM的隐藏状态转移概率的作用类似,只是非规范化不要求所有的状态的概率和为1,HMM的隐藏状态转移概率是规范化的,可以看出,线性链条件随机场更灵活一些。条件随机场的学习算法
条件随机场模型实际上是定义在时序数据上的对数线形模型,其学习方法包括极大似然估计和正则化的极大似然估计。具体的优化实现算法有改进的迭代尺度法IIS、梯度下降法以及拟牛顿法。
参数学习算法与最大熵模型算法没什么区别,条件随机场模型的训练数据的对数似然函数为: