朴素贝叶斯分类的M估计推导
? ? ? 在使用朴素贝叶斯方法进行文本分类时,如果待分类的文本包含某个属性值在训练样本中不存在,则类条件概率为0,
这时候算出的所有类别的后验概率都是0,导致无法对文本分类。一般可采用M估计(M-Estimate)来平滑类条件概率的计算,从而得到非0的可比较的近似概率值,达到分类的目的。
?
? ? ? 设 文本由一个属性向量x=(x1,x2,x3,...xn)表示,给定分类集合Y={yj|yj 属于Y}
? ? ? 求 文本向量的一个属性xi 对于分类yj的类条件概率P(xi|yj)。
? ? ? 首先假设Nyj 是分类yj的样本总数,Nxi是包含属性xi且属于分类yj的样本数。
? ? ? 由概率知识得到:
? ? ? ? ? ? ?P(xi|yj) = Nxi / Nyj ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?------公式1
? ? ? 如果采用M-Estimate,得到的公式是
? ? ? ? ? ? ?P(xi|yj) = (Nxi + mp) / (Nyj + m) ? ? ? ? ? ? ? ------公式2
? ? ? 其中p是 P(xi|yj) 的近似值,即有 Nxi / Nyj??~= p
?
? ? ? 由公式1和p逐步推导出公式2的过程如下:
? ? ? ? ? ? ?为简化起见,设 a = Nyj, b = Nxi, 则 p ~= b / a, 可得:
? ? ? ? ? ? ?P(xi | yj) = b / a
? ? ? ? ? ? ? ? ? ? ? ? ? ?= b(a+m) / a(a+m) ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ?= (ba + bm) / a(a+m)
? ? ? ? ? ? ? ? ? ? ? ? ? ?= (b + m*(b/a)) / (a+m)
? ? ? ? ? ? ? ? ? ? ? ? ? ?~= (b + mp) / (a+m) ? ? ? ? ? ? ? ? ? -------- 用 p ~= b / a 代入。
? ? ? ? ? ? ? ? ? ? ? ? ? ?= (Nxi + mp) / (Nyj + m)
? ? ? ?得证。
?
? ? ? M估计的实际应用:
? ? ? ?1. 多项式模型:
? ? ? ? ? ? m = |V|,p = 1/|V|, 这里|V|为样本空间V的词库大小。
? ? ? ?2. 伯努利模型:
? ? ? ? ? ? m = 2, p = 1/2
? ? ? ? ? ?至于为什么m取2,我还没弄懂,期待有知道的朋友分享一下。
?