本文介绍一种高效的文本分类中的特征选择算法,效果超过传统的大多数特征选择方法。
原文更清楚,链接地址如下:
Fusing Gini Index and Term Frequency for Text Feature Selection
1.1 传统的基尼指数特征选择原理
基尼指数是一种基于散度的属性分裂方法,被Breiman等人提出的,被广泛应用于cart算法、sliq算法等,其具体的算法思想描述如下:
假设S是s个数据样本的集合,其类别标号属性具有m个不同值,定义m个不同类(, I = 1, ..., m)根据类别标号值的不同可将S划分为m个子集(, I = 1, ...,m),设是属于类别的样本集,中的样本数,则集合S的Gini指标为
其中是任意样本属于的概率,并用和S估计。当Gini(S)最小为0时,即集合中所有记录属于同一类别时,表示能得到最大的有用信息;当集合中的所有样本对于类别字段均匀分布时,Gini(S)最大,表示能得到最小的有用信息。
如果根据某个属性做划分,将数据集S分成n个子集(, I = 1, ...,m),则分裂后的指数为:
n是子节点的个数,是子节点j处的记录数,s是在节点P处的记录数,提供最小Ginisplit的属性被选为分裂属性。
基尼指数的基本思想就是对于每个属性都要遍历所有可以的分割方法后,若能提供最小的基尼指数,就被选择作为此节点处分裂的标准,无论对于根节点还是子节点。基尼指数最开始是用来测量特征对于分类的杂度,其数值越小,即杂度越小,特征越好;如果采用如下的形式:
则是待测量特征对于分类的纯度,数值越大,即纯度越大,则特征越好,这种形式更有助于体现特征选择权重对分类的影响, 因此这里我们也采用基尼的纯度测量形式来进行文本的特征选择。
1.2 传统的TFIDF算法
TFIDF是向量空间模型中经典的特征值函数,其算法思想是由TF(Term Frequency)与反文档频(IDF: Inverse Document Frequency)两箱的乘积构成,即
TFIDF的主要思想是:反应某个特征词在一篇文章中出现的频率高,并且在其他文章中出现的频率比较少,就人为这个词具有很好的类别区分能力。所以TFIDF种特征词的权重与此票频率成正比,与词在其他文档中的出现的次数成反比。
该算法在计算TF时,只考虑了特征词在单一某个文档中的频率,并没有考虑到所有文档中出现的总体分布情况。这样,那些均匀分布在某个类中但是重要特征词被忽略掉。另外,IDF考虑了特征词在所有文本中分布情况,但是它更倾向于选择比较稀有的词汇。所以如果使用原始的TFIDF算法作为文本特征选择方法,会选出大量的稀有词汇,进而需要额外的更多维度的特征词才能很好地表征每个文本。所以原始的TFIDF用来作为特征选择算法,其分类效果在相对低维度的情况下比较差。
1.3改进的特征选择算法
信息增益的与期望交叉熵相比缺点在于考虑了单词未发生的情况;互信息的缺点在于没有考虑单词频率的作用,将p(w)放在了分子上,然后倾向于发掘稀有单词;期望交叉熵和文本证据权考虑了特征选择两方面的因素,所以效果较好。[]等人在分析了各种特征选择算法的优缺点的基础上,将基尼指数的纯度函数公式改进如下形式:
上述公式中,考虑了单词在类别中出现的情况,而则考虑了单词发生的情况下类别的分布情况,所以改进的基尼指数在特征选择方面具有较好的表现。但是考虑了单词在类别中出现的情况,并没有考虑单词在类别中每一篇文本中出现的频次。所以本文将从这一点入手,对原来的基于纯度的gini指数进行改进,使得其能够不仅反映单词在类别所有文章中出现的次数,而且能够反映出单词对每一篇文章贡献大小。
Fusing Gini Index and Term Frequency for Text Feature Selection