任务三-特征选择

TF-IDF原理

tf-idf(英语:term frequency–inverse document frequency)是一种用于信息检索与文本挖掘的常用加权技术。tf-idf是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。tf-idf加权的各种形式常被搜索引擎应用,作为文件与用户查询之间相关程度的度量或评级。除了tf-idf以外,互联网上的搜索引擎还会使用基于链接分析的评级方法,以确定文件在搜索结果中出现的顺序。

在一份给定的文件里,词频(term frequency,tf)指的是某一个给定的词语在该文件中出现的频率。这个数字是对词数(term count)的归一化,以防止它偏向长的文件。(同一个词语在长文件里可能会比短文件有更高的词数,而不管该词语重要与否。)对于在某一特定文件里的词语 $t_{i}$ 来说,它的重要性可表示为:

以上式子中 是该词在文件 中的出现次数,而分母则是在文件 中所有字词的出现次数之和。
逆向文件频率(inverse document frequency,idf)是一个词语普遍重要性的度量。某一特定词语的idf,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取以10为底的对数得到:

其中
$|\mathrm{D}|$ : 语料库中的文件总数

包含词语 的文件数目(即 的文件数目)

如果词语不在数据中,就导致分母为零,因此一般情况下使用

然后

某一特定文件内的高词语频率,以及该词语在整个文件集合中的低文件频率,可以产生出高权重的tf-idf。因此,tf-idf倾向于过滤掉常见的词语,保留重要的词语。

文本矩阵化,使用词袋模型,以TF-IDF特征值为权重。(可以使用Python中TfidfTransformer库)

互信息的原理

概率论信息论中,两个随机变量互信息(Mutual Information,简称MI)或转移信息(transinformation)是变量间相互依赖性的量度。不同于相关系数,互信息并不局限于实值随机变量,它更加一般且决定着联合分布 p(X,Y) 和分解的边缘分布的乘积 p(X)p(Y) 的相似程度。互信息是点间互信息(PMI)的期望值。互信息最常用的单位bit

一般地,两个离散随机变量 XY 的互信息可以定义为:

其中 p(x,y) 是 XY联合概率分布函数,而 $p(x)$ 和 $p(x)$ 分别是 XY边缘概率分布函数。

连续随机变量的情形下,求和被替换成了二重定积分

其中 p(x,y) 当前是 XY 的联合概率密度函数,而 $p(x)$ 和 $p(x)$ 分别是 XY 的边缘概率密度函数。

如果对数以 2 为基底,互信息的单位是bit

直观上,互信息度量 XY 共享的信息:它度量知道这两个变量其中一个,对另一个不确定度减少的程度。例如,如果 XY 相互独立,则知道 X 不对 Y 提供任何信息,反之亦然,所以它们的互信息为零。在另一个极端,如果 XY 的一个确定性函数,且 Y 也是 X 的一个确定性函数,那么传递的所有信息被 XY 共享:知道 X 决定 Y 的值,反之亦然。因此,在此情形互信息与 Y(或 X)单独包含的不确定度相同,称作 Y(或 X)的。而且,这个互信息与 X 的熵和 Y 的熵相同。(这种情形的一个非常特殊的情况是当 XY 为相同随机变量时。)

互信息是 XY联合分布相对于假定 XY 独立情况下的联合分布之间的内在依赖性。 于是互信息以下面方式度量依赖性:I(X; Y) = 0 当且仅当 XY 为独立随机变量。从一个方向很容易看出:当 XY 独立时,p(x,y) = p(x) p(y),因此:

此外,互信息是非负的(即 I(X;Y) ≥ 0; 见下文),而且是对称的(即 I(X;Y) = I(Y;X))。

使用第二步生成的特征矩阵,利用互信息进行特征筛选。

参考

文本挖掘预处理之TF-IDF:文本挖掘预处理之TF-IDF - 刘建平Pinard - 博客园

使用不同的方法计算TF-IDF值:使用不同的方法计算TF-IDF值 - 简书

sklearn-点互信息和互信息:sklearn:点互信息和互信息 - 专注计算机体系结构 - CSDN博客

如何进行特征选择(理论篇)机器学习你会遇到的“坑”:如何进行特征选择(理论篇)机器学习你会遇到的“坑”

iOSDevLog wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!