卡方检验

基本概念

卡方检验就是统计样本的实际观测值与理论推断值之间的偏离程度,实际观测值与理论推断值之间的偏离程度就决定卡方值的大小,卡方值越大,越不符合;卡方值越小,偏差越小,越趋于符合,若两个值完全相等时,卡方值就为0,表明理论值完全符合。
假设有两个分类变量XY,其值域都是{x1,x2},计算XY之间的相关性需要先建立一个零假说。即两个变量之间不存在关系,理论频数和实际频数之间存在的差异是因为随机误差。然后根据实际频数来计算他们的卡方值。卡方值越大说明造成他们的原因不是因为随机误差,而是XY之间存在一定的相关性,卡方值越大说明相关性越强。

四格表

对于某一个特征x

  类别1 类别2 总计
包含 a b a+b
不包含 c d c+d
总计 a+c b+d a+b+c+d

四格表的卡方校验公式:

X2=(a+b+c+d)(adbc)2(a+b)(c+d)(a+c)(b+d)

如何进行特征选择

如果对于特征x的卡方值小于临界值,则说明该特征,与类别的相关性比较低,视为冗余特征。

TF-IDF

基本概念

TF-IDF(Term Frequency-Inverse Document Frequency)算法是用于评估一个字词在一个文件集合或者语料库中的一份文件的重要程度的一种统计方法。
一个字词的重要程度与它在文件中出现的次数成正比,与它在文件集或者语料库中出现的次数成反比。

构成

TF-IDF算法包括两个部分:词频TF(Term Frequency)和逆向文件频率IDF(Inverse Document Frequency)词频则是代表这个词语在文档中出现的次数。
但是如果单纯的词语出现的次数多少,会导致TF值会根据文件篇幅的大小而变化。为了避免词语在篇幅较长的文件,需要对TF值进行归一化操作。

计算公式

TF的计算公式:

tfij=nijknkj

nij代表着第i个词语在第j篇文章中出现的次数,knkj表示所有词语出现的次数。
IDF的计算公式:
idfi=ln|D||{j:tidj}|

D代表着所有文件的数量,|{j:tidj}|代表文件集或者语料库中所有出现过的该词语的文件数量。
TF-IDF的计算公式为:
tfidf=tfij×idfi

一个词语的TF-IDF的值等于其TF值和IDF的值的乘积。

特征选择

将样本集合中的每一个样本当成是一个文件x=(x1,x2,,xn),将每一个样本的特征当成是文件中的一个词语。
于是就可以把样本集当成文件集来处理
对于某一个特征xi的TF值可以写成:

tfi=k1nk

其中假设样本集合中有k个样本包含此特征,nk为第k个样本包含的特征总数。
对特征xi的IDF值可以写成:
idfi=|D||di|

其中|D|代表样本库中的样本个数,|di|代表着包含此特征的样本个数。
最后计算TF-IDF值,并且按照TF-IDF值对特征进行排序。

RELIEF

基本概念

这是一种针对两分类问题的特征权重计算方法。他根据特征与类别之间的相关性来计算特征的权重,最后保留权重大于一定阈值的特征,取值权重小于一定阈值的特征,从而完成对特征的选择。
Relief算法计算特征和类别之间相关性的方法是考察特征在相同类别的近邻样本与不同类别的近邻样本之间存在的差异程度。当该特征在相同类别的样本中差异较小但是在不同类别的样本中差异较大,说明该特征适合用于这两种类别的分类。

相关计算

假设一个包含n个样本的样本集合T={xi}i=1n,并且每一个样本都包含m个特征,xi={xi1,xi2,,xim},i(1,2,,n)
首先Relief算法会从样本集中随机选择一个样本xi,然后再在相同类别的样本中选择一个与样本xi距离最近的样本xsome,在不同类别的样本中选择一个与样本xi最近的样本xdif,计算样本之间的距离。

dist(xi,xj)=(k=1m(xik,xjk)p)1p

然后根据样本xi与样本xsame和样本xdif在特征t的差异来更新特征t的权重。
wt=wtdiff(t,xi,xsame)/r+diff(t,xj,xdif)/r

其中wt代表着特征t的权重,diff(t,xi,xsame)代表样本xi和样本xsame在特征t上的差异。
其中r为采样次数。
当特征为标量
diff(t,xi,xj)={0=xit=xjt1=xitxjt

当特征为数量

diff(t,xi,xj)=|xit=xjtmax(t)min(t)|

算法具体步骤

更新特征t的权重的方法是使用t的权重减去样本xi与同类样本的差异值diff(t,xi,xsame)/r加上不同样本的差异值diff(t,xi,xdif)其中r为抽样次数,为了避免抽样的随机性,r的取值不能太小。
一些特征选择的方法(I)

相关文章: