由于我花了一段时间独立思考这一切,让我在这里解释一下我的发现,以造福人类。
使用(对数)优势比是在文本分类之前过滤特征的标准技术。它是一个“单边度量”[Zheng et al., 2004],因为它只发现与特定类别正相关的特征。作为在给定类“c”的情况下看到特征“t”的概率的对数优势比,它定义为:
LOR(t,c) = log [Pr(t|c) / (1 - Pr(t|c))] : [Pr(t|!c) / (1 - Pr(t|!c))]
= log [Pr(t|c) (1 - Pr(t|!c))] / [Pr(t|!c) (1 - Pr(t|c))]
这里我使用'!c' 来表示类不是c 的文档。
但是您如何实际计算 Pr(t|c) 和 Pr(t|!c)?
需要注意的一个微妙之处是,通常在文档事件模型上定义特征选择概率[McCallum & Nigam 1998, Manning et al. 2008],即 Pr(t|c) 是看到术语 t一次或多次的概率在给定文档的类是 c 的文档中(换句话说,给定类 c 的 t 的存在)。该概率的最大似然估计 (MLE) 将是包含 t 至少一次的 c 类文档的比例。[从技术上讲,这被称为多元伯努利事件模型,并且与基于单词的多项式事件模型不同,后者将使用整数字数计算 Pr(t|c) - 有关更多详细信息,请参阅 McCallum 论文或 Manning IR 教科书,特别是关于这如何应用于朴素贝叶斯文本分类器。]
有效使用 LOR 的一个关键是平滑这些条件概率估计,因为正如@yura 所指出的,这里的罕见事件是有问题的(例如,Pr(t|!c) 的 MLE 可能为零,导致无限 LOR)。但是我们如何平滑呢?
在文献中,Forman 报告通过“在分母中的任何零计数加一”(Forman,2003)来平滑 LOR,而 Zheng 等人(2004)使用“ELE [预期似然估计] 平滑”,通常相当于增加 0.5到每个计数。
为了以符合概率论的方式进行平滑,我使用多元伯努利事件模型遵循文本分类的标准做法。本质上,我们假设我们已经看到了每个存在计数和每个缺席计数 B 次。所以我们对 Pr(t|c) 的估计可以写成 #(t,c):我们看到 t 和 c 的次数,以及 #(t,!c):我们看到的次数见过没有c的t,如下:
Pr(t|c) = [#(t,c) + B] / [#(t,c) + #(t,!c) + 2B]
= [#(t,c) + B] / [#(c) + 2B]
如果B = 0
,我们有 MLE。如果B = 0.5
,我们有 ELE。如果B = 1
,我们有拉普拉斯先验。请注意,这看起来与多项式事件模型的平滑不同,其中拉普拉斯先验导致您添加 |V| 在分母中 [McCallum & Nigam, 1998]
您可以选择0.5
或1
作为您的平滑值,具体取决于哪些先前的工作最能激发您的灵感,并将其代入上述等式LOR(t,c)
,并对所有特征进行评分。
通常,然后您决定要使用多少个特征,比如 N,然后根据分数选择 N 个排名最高的特征。
在多类设置中,人们经常使用 1 vs All 分类器,因此为每个分类器独立进行特征选择,因此每个正类都使用单边度量(Forman,2003)。然而,如果你想找到在多类环境中工作的独特的简化特征集,文献中有一些高级方法(例如,Chapelle & Keerthi,2008)。
参考:
郑,吴,斯里哈里,2004
麦卡勒姆和尼甘 1998
Manning, Raghavan & Schütze, 2008
福尔曼,2003
Chapelle & Keerthi, 2008