赞
踩
今天,来学习文本的特征属性选择,在机器学习中,特征属性的选择通常关系到训练结果的可靠性,一个好的
特征属性通常能起到满意的分类效果。凡是特征选择,总是在将特征的重要程度量化后再进行选择,而如何量
化特征的重要性,就成了各种方法间最大的不同。接下来就介绍如何有效地进行文本的特征属性选择。
Contents
1. TF-IDF与特征属性选择
2. 信息增益与特征属性选择
3. 卡方检验与特征属性选择
4. 互信息与特征属性选择
文本分类作为一种有效的信息检索和信息过滤的关键技术,能按预定义的类别将待分类的文本进行归类。文本
分类中常用到向量空间模型(VSM),然而高维的向量空间模型严重影响了计算机的处理速度,因此需要对文
本的向量进行降维,那么就需要对文本进行特征属性选择。
目前在文本分类领域中常用的文本特征属性选择算法有:TF-IDF,信息增益,卡方检验,互信息等。
1. TF-IDF与特征属性选择
TF即词频(Term Frequency),表示词条在某个文档d中出现的频率。
IDF即逆向文件频率(Inverse Document Frequency),如果包含词条t的文档越少,那么IDF值
越大,则说明词条t具有很好的类别区分能力。
TF-IDF算法的主要思想是:如果某个词或短语在某一篇文章中的出现频率TF越高,而且在其它文章中很
少出现,那么认为此词或者短语具有很好的类别区分能力,适合用来分类。举个例子
假设某篇文档的总词语数为100个,而“蜜蜂”出现了5次,那么“蜜蜂”的词频就是0.05。如果“蜜蜂”这个
词在100份文档中出现,而文档总数为1000000,那么逆向文件频率就是log10(1000000/100)=4。最
后TF-IDF的值为0.05 * 4 = 0.2。具体公式如下
当然在统计之前必须要过滤掉文档中的停用词。当然TF-IDF的精确度有时候可能不太高,它仍有不足之处,
单纯地认为文本频率越小的单词就越重要,而文本频率越大的单词就越无用,显然这并不完全正确。
接下来就可以用上面所学的TF-IDF来对文本进行特征属性选择了。计算出文档中每个词的TF-IDF的值,然
后按照降序排列,取前面的几个词作为特征属性。这里由于只取前K大的,有比较优秀的算法。
在文本分类中单纯地用TF-IDF来判断一个特征属性是否具有区分度是不够的,原因主要有如下两个
(1)没有考虑特征词在类间的分布
如果一个特征词在各个类之间分布都比较均匀,那么这样的词对分类没有任何贡献;而如果一个特征
词集中分布在某个类中,在其它类中都出现但是出现的频率很小很小,那么这个词能很好地代表这个
类的特征属性,但是TF-IDF不能很好地区别这两种情况。
(2)没有考虑特征词在类内部文档中的分布
在类内部文档中,如果特征词均匀分布在其中,那么这个特征词能够很好地代表这个类的特征,如果
只在几篇文档中出现,那么不能够代表这个类的特征。
2. 信息增益与特征属性选择
关于信息增益的概念,在之前的《决策树之ID3算法》中已经说过。在信息增益中,重要的衡量标准就是
看这个特征能够为分类系统带来多少信息,带来的信息越多,那么该特征就越重要。
通过信息增益选择的特征属性只能考察一个特征对整个系统的贡献,而不能具体到某个类别上,这就使得
它只能做全局特征选择,即所有的类使用相同的特征集合。
3. 卡方检验与特征属性选择
卡方检验是数理统计中一种常用的检验两个变量是否独立的方法。在卡方检验中使用特征与类别间的关联
性来进行量化,关联性越强,特征属性得分就越高,该特征越应该被保留。
卡方检验最基本的思想是观察实际值和理论值的偏差来确定理论的正确性。通常先假设两个变量确实是独
立的,然后观察实际值与理论值的偏差程度,如果偏差足够小,那么就认为这两个变量确实是独立的,否
则偏差很大,那么就认为这两个变量是相关的。
在文本特征属性选择阶段,一般用“词t与类别c不相关”作出假设,计算出的卡方值越大,说明假设偏离就
越大,假设越不正确。文本特征属性选择过程为:计算每个词与类别c的卡方值,然后排序取前K大的即可。
接下来,就来学习如何计算卡方值。
假设个样本的观测值分别为,它们的均值(期望)为,那么卡方值计算如下
如果计算出的值与事先设定的阀值进行比较,如果小于阀值,则原假设成立,否则原假设不成立。
在文本特征选择阶段,我们关心的是一个词t与一个类别c之间是否独立,如果独立,则词t对类别c完全
没有表征作用。下面以一个例子来推导文本特征选择中卡方值得计算公式
假设现在有N篇文档,其中有M篇是关于体育的,我们想知道词“篮球”与类别“体育”的相关性。接下来设
包含“篮球”且属于“体育”类别的文档数为A
包含“篮球”但不属于“体育”类别的文档数为B
不包含“篮球”但属于“体育”类别的文档数为C
不包含“篮球”也不属于“体育”类别的文档数为D
即得到如下表格
那么,很明显有A + B + C + D = N,A + C = M。假设词“篮球”与“体育”不相关,那么“篮球”这
个词在所有的文档中以等概率的形式出现,这个概率值接近
而属于“体育”类的文章数为A + C,在这些文档中,应该有
篇文章包含“篮球”这个词,这是假设条件下的理论值,而实际值从表格中可以看出是A,那么偏差为
同理,可以计算出
那么继续得到
而对于同一类别文档中的所有词来说,N = A + B + C + D,M = A + C,N - M = B + D这
三个值不变,那么只需要计算如下值,然后从大到小取前K大的就行了。
卡方检验也有缺陷,因为A和B在统计词t在文章中出没出现过,却不管词t在文档中出现了几次,这
样的话会对低频词有所偏袒,甚至会出现有些情况,一个词在一类文章的每篇文档中都只出现了一次,
其卡方值却大过了在该类文章99%的文档中出现了10次的词,其实后面的词才是更具代表性的,但只
因为它出现的文档数比前面的词少了“1”,特征选择的时候就可能筛掉后面的词而保留了前者。这就
是开方检验著名的“低频词缺陷“。因此开方检验也经常同其他因素如词频综合考虑来扬长避短。
4. 互信息与特征属性选择
接下来,开始学习互信息与特征选择,其实互信息相比前面几种特征属性选择方法来说,效果是最差
的。互信息是事件A和事件B发生相关联而提供的信息量,在处理分类问题提取特征的时候就可以用互
信息来衡量某个特征和特定类别的相关性,如果信息量越大,那么特征和这个类别的相关性越大。反
之也是成立的。计算方法如下
低词频对于互信息的影响还是蛮大的,一个词如果频次不够多,但是又主要出现在某个类别里,那么就
会出现较高的互信息,从而给筛选带来噪音。所以为了避免出现这种情况可以采用先对词按照词频排序
取然后按照互信息大小进行排序,然后再选择自己想要的词,这样就能比较好的解决这个问题。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。