我是靠谱客的博主 秀丽鼠标,最近开发中收集的这篇文章主要介绍文本特征选择-互信息,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在做文本挖掘,特别是有监督的学习时,常常需要从文本中提取特征,提取出对学习有价值的分类,而不是把所有的词都用上,因此一些词对分类的作用不大,比如“的、是、在、了”等停用词。这里介绍两种常用的特征选择方法:

互信息

  一个常用的方法是计算文档中的词项t与文档类别c的互信息MI,MI度量的是词的存在与否给类别c带来的信息量,互信息的基本定义如下:

  应用到文本特征选择:

  U、C都是二值随机变量,当文档包含词项t时,U的取值为 et=1 et=1,否则 et=0 et=0;当文档属于类别c时,C的取值 ec=1 ec=1,否则 ec=0 ec=0,用最大似然估计时,上面的概率值都是通过统计文档中词项和类别的数目阿里计算的。于是实际计算公式如下:  

  其中 Nxy Nxy表示 x=et x=et y=ec y=ec情况下对应的文档数目,比如 N10 N10表示包含词项t(此时 et=1 et=1)但不属于类别c(此时 ec=0 ec=0)的; N1.=N10+N11 N1.=N10+N11表示所有包含词项t的文档数目。 N.1=N11+N01 N.1=N11+N01表示所有属于类c的文档数目, N=N00+N01+N10+N11 N=N00+N01+N10+N11表示所有文档数目。

  举例:路透社的语料库Retuters-RCV1的一个类别poultry及词项export。类别和词项的四种组合的文档数如下:  

  计算类别poultry和词export之间的类别的互信息为:  

  我们可以对每一个类计算各个词项与其的互信息,并选取值最大的k个词项,当然有可能两个类会选取相同的特征词,去重一下即可。

  互信息度量的是词项是否被类别包含所带来的信息量,如果某个词项均匀的分布在各个类别,那么 I(U;C)=0 I(U;C)=0,当某词项总是出现在当前类别,而在其他类别中很少出现时, I(U;C) I(U;C)就会比较大。使用互信息能够保留具有信息含量的词项的同时,去掉那些没有信息含量的词项,从而提高正确率。

X2 X2统计量

  在统计学中, X2 X2统计量经常用来检测两个事件的独立性。在特征选择中,两个事件分别指词项的出现与类别的出现,计算公式如下:

  依然是前面的类别poultry及词项export的例子,我们有

  其他的类似计算,得到:  

  

  查卡方的分布表,置信度为0.999的卡方临界值是10.83,也就是当卡方值 X2(D,t,c)>10.83 X2(D,t,c)>10.83时,我们有99.9%的把握,t与c不独立,这里284显然大于10.83,因此我们认为poultry与export不独立,也就是export对poultry是一个强特征。同样我们计算所有词的卡方值,取值最大的前k个词项作为特征词。

  卡方是基于显著统计性来选择特征的,因此他会比MI选出更多的罕见词项,而这些词项对分类并不靠谱。

  虽然卡方和互信息的出发点不同,但它们的准确性却相差不多,因为大部分文本分类问题中,只有很少的强特征,大部分都是弱特征。只要所有的强特征和很多弱特征被选出,那么分类的准确率就不会低。

  另外上面介绍的两种特征选择主要用于文本的分类等用监督学习,而不适宜聚类等无监督学习,因为聚类我们不知道每篇文档属于的类别,也就无从计算互信息和卡方值,这时一般使用TF-IDF作为特征词的选取方法,关于TF-IDF可以参看阮一峰的日志,这里不做总结。

 

  本文内容主要来自:《Introduction to Information Retrieval》


原文:http://www.cnblogs.com/fengfenggirl/p/text_feature_selection.html

最后

以上就是秀丽鼠标为你收集整理的文本特征选择-互信息的全部内容,希望文章能够帮你解决文本特征选择-互信息所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部