常用特征选择方法
常用特征选择方法:
本文为自身学习笔记参考了如下博文及论文
http://www.blogjava.net/zhenandaci/archive/2009/03/24/261701.html
http://blog.sina.com.cn/s/blog_6622f5c30101datu.html
http://www.jos.org.cn/html/2014/3/4517.htm
1.文档频率(TF-IDF)
主要思想是:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。TFIDF实际上是:TF * IDF,TF词频(Term Frequency),IDF逆向文件频率(Inverse Document Frequency)。TF表示词条在文档d中出现的频率。IDF的主要思想是:如果包含词条t的文档越少,也就是n越小,IDF越大,则说明词条t具有很好的类别区分能力。
(1)
其中 表示文本 中第 个词项的词频, 表示第 个词项在文本 中出现的次数,而 则表示文本 中所有词项的和。
(2)
其中 表示词项 的逆向文件频率。 表示预料库中的文件总数, 表示包含词项 的文件数加1防止发生除数为0的情况。
2.信息增益(Information Gain)
该方法主要是通过评估词项能够给分类带来多少的信息量,带来的信息量越大,说明该词项越重要。
首先是信息量(即熵)的定义:对一个变量X,他可能的取值为n种,分别是 , ,…., 每一种取值的概率是 , ,… ,那么X的信息量(熵)就定义为:
(3)
其表示的意思就是一个变量变化越多其携带的信息量就越大。
对于文本分类系统而言,其分类的类别C,它可能的取值是C1,C2,….Cn ,每个类别出现概率是P(C1), P(C2),…, P(Cn)。则此时分类系统的熵就可以表示为:
(4)
对于一个特征项,它不固定和固定给系统带来的信息量的差值就是这个特征信息增益。
先看第一种不固定,很好理解也就是在计算分类系统的信息量时我们是不知道特征项的值的等同于在计算分类系统信息量时没有关于特征项的先验概率。所以对于特征项不固定时分类系统的信息量就是公式(4)所示。
再看第二种固定,首先将特征项固定存在一个问题,如果一个特征项的取值有多种那么将其固定到哪一个值上呢。答案是每一种可能都要固定一下,计算n个值,然后取均值才是条件熵。而取均值也不是简单的加一加然后除以n,而是要用每个值出现的概率来算平均(简单理解,就是一个值出现的可能性比较大,固定在它上面时算出来的信息量占的比重就要多一些)。那么特征项固定时分类系统的熵就是:
对于文本分类而言特征项的值只有两种,一种该词出现,另一种该词不出现。因此公式(5)就可以简化为
(6)
因此特征T给系统带来的信息增益就可以写成系统原本的熵与固定特征T后的条件熵之差:
(7)
信息增益率:特征信息增益与自身携带信息量之比
(8)
缺点:信息增益智能考察特征对整个系统的贡献,而不能具体到某个类别上。
3.卡方统计( statistic)
对于分类问题,这种方法主要考察词项 t 和类型 l 间的独立性.若独立,则说明 t 对文档是否划分为类型 1缺乏判断力.
卡方检验最基本的思想就是通过观察实际值与理论值的偏差来确定理论的正确与否。具体做的时候常常先假设两个变量确实是独立的(“原假设”),然后观察实际值(观察值)与理论值(这个理论值是指“如果两者确实独立”的情况下应该有的值)的偏差程度,如果偏差足够小,我们就认为误差是很自然的样本误差,是测量手段不够精确导致或者偶然发生的,两者确确实实是独立的,此时就接受原假设;如果偏差大到一定程度,使得这样的误差不太可能是偶然产生或者测量不精确所致,我们就认为两者实际上是相关的,即否定原假设,而接受备择假设。
理论值为E,实际值为x,偏差程度的计算公式为:
(9)
在文本分类的特征选择阶段,一般使用“词t与类别c不相关”来做原假设,计算出的开方值越大,说明对原假设的偏离越大,我们越倾向于认为原假设的反面情况是正确的即词t与类别c相关。选择的过程为每个词计算它与类别c的开方值,从大到小排个序(此时开方值越大越相关),取前k个就可以。
例如,N篇文档,分类有体育和非体育,考察特征词“篮球”与类别“体育”的相关性。
我们有四个观察值可以使用:
1.包含“篮球”且属于“体育”类别的文档数 命名为A
2.包含“篮球”但不属于“体育”类别的文档数 命名为B
3.不包含“篮球”但却属于“体育”类别的文档数 命名为C
4.既不包含“篮球”也不属于“体育”类别的文档数 命名为D
特征选择 |
1.属于“体育” |
2.不属于“体育” |
总计 |
1.包含“篮球” |
A |
B |
A+B |
2.不包含“篮球” |
C |
D |
C+D |
总数 |
A+C |
B+D |
N |
我们知道如果篮球与体育不相关那么篮球这个词出现在N篇文档中的概率是一样的,也就等于属于体育类文档包含篮球这个词的概率。
所以A的理论值应为:
(10)
差值:
(11)
另外三种情况与上面类似。最后篮球与体育的开方值:
(12)
缺点:它统计文档中是否出现词t,却不管t在该文档中出现了几次,这会使得他对低频词有所偏袒(因为它夸大了低频词的作用)。甚至会出现有些情况,一个词在一类文章的每篇文档中都只出现了一次,其开方值却大过了在该类文章99%的文档中出现了10次的词,其实后面的词才是更具代表性的,但只因为它出现的文档数比前面的词少了“1”,特征选择的时候就可能筛掉后面的词而保留了前者。这就是开方检验著名的“低频词缺陷“。因此开方检验也经常同其他因素如词频综合考虑来扬长避短。
4.互信息(MI)
与卡方统计不同,互信息统计的是特征t与类型标签c之间的紧密程度。
则t与c的互信息如下:
(13)
使用上面的例子计算篮球这个词与体育的互信息。
特征选择 |
1.属于“体育” |
2.不属于“体育” |
总计 |
1.包含“篮球” |
A |
B |
A+B |
2.不包含“篮球” |
C |
D |
C+D |
总数 |
A+C |
B+D |
N |
计算如下:
(14)
缺点:由其公式我们可以看出文本分类中互信息是忽略负相关特征的即不考虑 对类别c的影响。