统计概率模型
1、高斯判别分析
2、朴素贝叶斯
3、隐马尔可夫模型
4、最大熵马尔科夫模型
5,条件随机场
6,马尔科夫决策过程
二、朴素贝叶斯
一、朴素贝叶斯
朴素贝叶斯模型也是一个典型的生成模型,一般用来处理非数值数据。其核心假设是特征之间的条件概率是相互独立的。同样由贝叶斯公式有:
下面以垃圾邮件分类介绍两类问题的朴素贝叶斯模型:
垃圾邮件分类任务是一个基本文本分类任务,涉及到NLP的初步知识-文本的One-hot表示。由于机器学习模型通常是一个数学模型,而非数值型属性是不能直接处理,所以一般对邮件的特征进行编码。首先将所有的邮件中出现的词统计出来作为一个词典,并对每一个词进行编码向量化(即词序)。一封邮件对应的One-hot表示如下:
其中 i i 表示第封邮件, x(i)j∈(0,1) x j ( i ) ∈ ( 0 , 1 ) , j j 表示j词典中的第个词,如果第 j j 个词在第封邮件中出现则, x(i)j=1 x j ( i ) = 1 ,反之为 0 0 。可以看出这种表示忽略了文本的大量信息,上下文信息,词出现的次数等。
由上面的公式有,一封邮件是垃圾邮件的概率可以表示为下式:
其中似然函数 P(X|Y=1) P ( X | Y = 1 ) 为在垃圾邮件下产生 X X 的条件概率,为垃圾邮件的先验概率, P(X)=∑ΩP(X) P ( X ) = ∑ Ω P ( X ) 对于所有样本都是一致,近似忽略。
由朴素贝叶斯的条件概率独立性假设有条件概率如下:
其中 j j 表示第个特征。所以,对于一封邮件属于哪一类的概率为都有:
邮件之间独立,所以目标函数最大化所有邮件属于各自类的概率为:
从上式可以看出朴素贝叶斯的参数是 P(xj|y=k) P ( x j | y = k ) , , ,即所有邮件类别的先验,以及在某一类下出现某个词的概率。由极大似然估计参数值即为其期望。
其中
k
k
表示类别,对应垃圾邮件分类取值为
i
i
表示第个特征,
l
l
表示特征的取值。由于垃圾邮件中采用one-hot编码,所以的取值为
(0,1)
(
0
,
1
)
,
1
1
表示出现。当以上参数确定之后,对于一封新的邮件,根据估计的参数和贝叶斯公式求得样本属于哪一类的概率。最后一封邮件属于哪一类的概率参数表示如下:
由于one-hot编码比较特殊, P(xj=0|Y=k)+P(xj=1|Y=k)=1,ajl∈{0,1} P ( x j = 0 | Y = k ) + P ( x j = 1 | Y = k ) = 1 , a j l ∈ { 0 , 1 } 。由于所有类的概率加和为 1 1 ,垃圾邮件为二分类,所以邮件属于概率大于的那一类。
为了使模型更具普适性,考虑到当某一特征没有在训练集中出现过,即某一个单词在某一类下没有出现过,或者某一单词在某一类下都出现过(意味着不出现的条件概率为0)。但不能说该单词在这一类下的条件概率为0。又或者在所有类中都未出现(即原始训练集中没有的词,而词典中有的词,即词典不依赖于训练集)。当来一个新样本时,如果不做处理,那么只要有一个分量的概率为0,由于特征之间的条件概率独立,连乘形式只要有一个为0,即整个概率为0,无意义。
拉普拉斯平滑:
其中 Ω(ajl) Ω ( a j l ) 为第 j j 个特征分量的可能取值数。
二、N元多项分布模型
同样,上述贝叶斯模型中只考虑单词是否出现,即单词特征
xj
x
j
服从伯努利分布,样本
X(i)
X
(
i
)
服从n次独立的伯努利分布。而忽略了一个单词可能出现次数对邮件分类的影响。假设要统计某一单词出现的次数,那么有
xj∈{0,1,...k}
x
j
∈
{
0
,
1
,
.
.
.
k
}
多项分布。只考虑单词是否出现的贝叶斯模型叫multi-variate Bernoulli event model,后者叫multinational event model。
同样以邮件分类问题介绍multinational event model,在之前的模型中,我们首先建立词典,并且特征向量长度为词典长度,并且从词典出发,对于邮件出现过的单词,在对应词典的位置标记为
1
1
,反之标记为产生一个特征向量
xj
x
j
。而multinational event model则从邮件出发, 表示邮件中第
j
j
个单词,其值表示第个单词在字典中出现的位置,那么
xi
x
i
的取值则有
|V|
|
V
|
,其中V表示字典长度。这样一封邮件可以表示为
(x1,x2,...,xni)
(
x
1
,
x
2
,
.
.
.
,
x
n
i
)
,
ni
n
i
表示第
i
i
封邮件的长度。这相当于掷一枚有V面的骰子次,将观测值记录下来形成一封邮件。假设出现某一点的情况与第几次掷无关,也就是单词在邮件中出现的位置无关,而且每一次投掷都是独立的,即单词之间出现的事件是独立的。
文档的表示:
1)one-hot表示
2)编号表示
可以看出两者方式的样本表示不同之处在于一个以词典维度对邮件中的词是否出现进行 0−1 0 − 1 编码,一个是以邮件维度对邮件中的词在词典中的编号进行编码,这就导致了两者表示的维度不同,特征服从的分布也不同。
一封邮件属于垃圾邮件的概率由贝叶斯公式有:
其中 P(X|Y=1) P ( X | Y = 1 ) 似然函数,在垃圾邮件下产生 X X 的条件概率,为垃圾邮件的先验概率, P(X)=∑ΩP(X) P ( X ) = ∑ Ω P ( X ) 对于所有样本都是一致,近似忽略。
由朴素贝叶斯的条件概率独立性假设有条件概率如下:
其中 xj∈{0,1,...|V|} x j ∈ { 0 , 1 , . . . | V | } 。同样最大化似然函数:
其中 ni n i 表示第 i i 封邮件的长度。所以上式中的参数有, P(xj=av|y=k) P ( x j = a v | y = k ) 。由最大似然估计有:
其中 xj=av x j = a v 与 j j 无关,我们需要求的是所有可能的取值。
最后一封邮件属于哪一类的概率参数表示如下:
其中 xj=av x j = a v 表示邮件第 j j 个词在词典中的编号。
one-hot表示和编号表示:
两种表示最大的差别在于包含的语义信息,one-hot表示信息不够丰富,只有,所以需要高的维度,而编号表示信息相对丰富,维度低。然而on-hot表示是可以直接度量两个样本之间的相似性的( 0−1 0 − 1 表示是否存在,有语义意义的),而编号表示则不能直接度量两个样本之间的相似性(在词典中的编号是无语义的),但是可以把编号表示放回到集合中去度量两个样本的重合度。所以编号表示可以看作是one-hot的一种低维表示。