CRF
参考文章:CRF学习
离散马尔科夫过程,即当前所处的状态仅与它之前的一条状态有关。
最大熵模型的实质是,在已知部分知识的前提下,关于未知分布最合理的推断是符合已知知识的最不确定或最随机的推断,这是我们可以做出的唯一一个不偏不倚的选择。
参考文章:条件随机场(CRF)
朴素贝叶斯和逻辑回归模型之间的一个重要区别是,朴素贝叶斯是产生式模型,它基于联合分布P(X,Y)建模,而逻辑回归是判别式模型,它直接对条件分布P(Y|X)建模。尽管朴素贝叶斯在文本分类应用中表现得好,但是在很多其他的应用中都比逻辑回归要逊色。虽然朴素贝叶斯的分类准确率较高,但是在概率估计应用方便表现较差。
- 线性链式CRF模型: p(y|x)=1Z(x)exp{∑k=1Kλkfk(yt,yt−1,xt)} 。样本级的归一化函数: Z(x)=∑yexp{∑k=1Kλkfk(yt,yt−1,xt)} 。线性链式条件随机场综合了判别式模型和序列模型的优点.
- 从HMM(隐马尔科夫模型)到CRF:通常HMM表达式如下: p(x,y)=∏t=1Tp(yt|yt−1)p(xt|yt) 。进一步表示成: p(y,x)=1Zexp{∑t∑i,j∈SλijI{yt=i}I{yt−1=j}+∑t∑i∈s∑o∈OμoiI{yt=i}I{xt=o}} , θ={λij,μoj} 为分布的参数。通过引入特征函数的概念紧凑的来表达,每个特征函数都表达成 fk(yt,yt−1,xt) ,需要一个特征函数 fij(y,y′,x)=I{y=i}I{y′=j} 来表达转移概率(i,j),另外一个特征函数 fio(y,y′,x)=I{y=i}I{x=o} 来表达发射概率(i,o),这样可以重写HMM如下所示 p(y,x)=1Zexp(∑k=1Kλkfk(yt,yt−1,xt)) 。最后从HMM导出条件概率模型如下: p(y|x)=p(y,x)∑y′p(y′,x)=exp{∑Kk=1λkfk(yt,yt−1,xt)}∑y′exp{∑Kk=1λkfk(yt′,y′t−1,xt)} 。这个条件概率是线性链式CRF,只是特征只包括词本身这一个,线性链式条件随机场可以包含很多其他的特征。
- 模型优化:给定独立同分布的训练数据 D={x(i),y(j)}Ni=1 , x(i)={x(i)1,x(i)2,...,x(i)T} 为序列化输入, y(i)={y(i)1,y(i)2,...,y(i)T} 为序列化输出。优化采用的是带惩罚项的极大似然估计,基于样本独立这个假设,然后通过对数运算把累积问题转换为累加问题: l(θ)=∑i=1Nlogp(y(i)|x(i)) 。展开之后得到: l(θ)=∑i=1N∑t=1T∑k=1Kλkfk(y(i)t,yit−1,xit)−∑i=1NlogZ(x(i)) ,假设参数的先验分布为高斯分布,得到下式,即加上了一个正则化项: l(θ)=∑i=1N∑t=1T∑k=1Kλkfk(y(i)t,yit−1,xit)−∑i=1NlogZ(x(i))−∑k=1Kλ2k2σ2 。求导,梯度计算。
- 模型比较:
优点:
(1)和HMM(隐马尔可夫模型)相比,CRF直接对后验概率建模,因而可以容纳任意的上下文信息。特征设计灵活。
(2)和MEMM(最大熵马尔可夫模型)相比,CRF计算全局最优输出节点的条件概率,MEMM只是由前一个状态转移的状态进行的归一,CRF是对序列的所有可能组合进行归一,克服了MEMM标记偏置(Label-bias)的缺点。
(3)和ME相比,CRF是在给定需要标记的观察序列的条件下,计算整个标记序列的联合概率分布,考虑标号序列之间的关系,而不是假设标注之间独立。
缺点:训练代价大、复杂度高。
参考文章:条件随机场(CRF)相对于HMM,MEMM的优势
首先,CRF,HMM,MEMM都常用来做序列标注的建模,像词性标注,True casing。但隐马模型一个最大的缺点就是由于其输出独立性假设,导致其不能考虑上下文的特征,限制了特征的选择,而最大熵隐马模型则解决了这一问题,可以任意的选择特征,但由于其在每一节点都要进行归一化,所以只能找到局部的最优值,同时也带来了标记偏见的问题(label bias),即凡是训练语料中未出现的情况全都忽略掉,而条件随机场则很好的解决了这一问题,他并不在每一个节点进行归一化,而是所有特征进行全局归一化,因此可以求得全局的最优值。
CRF training note 3: 算法推导
维特比算法在数学上是全局最优的算法,其本质是动态规划。
参考文章:CRF++模型格式说明
参考文章:条件随机场综述√
参考文章:Hammersley Clifford Theorem
《统计自然语言处理》第二版的第六章概率图模型。