目前正在学习自然语言处理相关的概率模型,在一篇名为《Classification Probability Models and Conditional Random Fields》论文中讲述了常用的几个经典的概率模型,并分析了他们之间的关系和区别,深入浅出,讲的非常的好。
在很多任务中,面临的问题都是对给定的输入X,对输入赋予一个恰当的分类标签Y。在自然语言处理中,如文本分类、词性标注、分词等等,均可表示为以上形式。在常用的概率模型中,主要分为两类,一类是生成模型(generative model),这类模型计算X与Y的联合概率(joint probability)P(X,Y),常见的有朴树贝叶斯模型,隐马尔科夫模型等。另一类称为判别模型(discriminative model),这类模型计算X与Y的条件概率(conditional probability) P(Y|X),常见的有最大熵模型、条件随机场模型等。
这四个模型的关系可用图表示如下:
在这些概率模型中,最基本的就是朴树贝叶斯模型。贝叶斯模型是一个分类模型,对于输入赋予一个标签。在朴树贝叶斯模型中,对于给定的输入向量X,对其赋予一个类别标识,其概率可以表示为:
因为我们求的只是相对概率,所以可以将分母去掉,只计算分子即可。在上面的公式中,如果直接进行计算将会有较高的复杂度,所以使用一个链式规则对计算进行分解,得到新的计算公式:
在实际应用中,常常假设输入向量X的各维是条件独立的(朴树贝叶斯假设) 即p(x i |y, x j ) = p(x i |y) 。这样上面的计算公式可转换为:
这就是朴树贝叶斯分类规则。