在分类模型中,我们常常以联合几率P(X,ω)或后验几率P(ω|X)建模,X={x1,x2,…,xd}表示1个d维向量,ω=ω1,ω2,…,ωk表示类别。其中,
P(X,ω)=P(X|ω)⋅P(ω)
P(ω|X)=P(X|ω)⋅P(ω)P(X)
进行转换后,都出现了先验几率
P(ω)和类条件几率
P(X|ω)。先验几率可以通过对样本数据进行统计得出,而类条件几率直接统计则不是那末容易得出,缘由有两个:1)已有训练样本量总是显得太少,比如在垃圾邮件分类中,1个词向量
x={拍卖,惠购,不容错过,商场,大降价},可以看出包括该词向量的文档很有多是1封垃圾邮件,但很有可能在我们统计了1000封垃圾邮件后恰恰没有出现该词向量的组合,造成估计毛病;2)当特点向量维度d较大的时候,直接会带来计算量上的问题。例如d=100的时候,我们在统计需要对每一个样本的100个维度比较统计,计算量非常大。
斟酌上面的问题,在实际中我们是通过在先验知识的帮助下估计条件几率服从的几率散布参数来解决问题的。例如根据先验知识,条件几率P(X|ωi)服从正态散布N(μi,Σi),参数未知。我们可以将参数μi,Σi估计出来,从而条件几率散布可以肯定,进而条件几率值可以求出。
在对参数进行估计时,主要有两种思想,1个是认为参数1个未知的肯定量,即该参数是肯定的,只是值是多少我们还未知;1个是认为参数也是1个随机变量,并服从某种先验几率散布,我们需要根据先验与样本学习到参数关于样本的后验几率散布,进而求得类条件几率。
根据第1种思想来进行参数估计的方法主要是最大似然估计和最大后验估计。
1、 最大似然估计
首先来讲最大似然估计,即通过最大化似然函数来求得参数值。以条件几率P(X|ω)服从单个参数θ的散布为例,每一个ωi对应1个θi,求P(X|ωi)即等价于P(X|θi),参数估计值为:
θ^ML=argmax∑i=1nlogp(xi|θ)
2、最大后验估计
最大后验估计与最大似然估计类似,但以最大化后验几率
P(θ|X)为目标,情势以下:
θ^MAP=argmaxP(θ|X)
------分隔线----------------------------
------分隔线----------------------------