您的位置:首页 > Web前端

Feature Selection for Classification: A Review(二)

2017-06-15 21:34 459 查看

1.前言

本文主要讨论对flat 特征的特征选择方法,flat feature 即特征被假设为都是独立的特征,主要从三个模型——filter模型,wrapper模型和embeded模型下手进行讨论。

2.filte model

得益于flat特征的特性,filter模型不使用任何分类算法来评价特征,典型的的filter算法分为两步,第一步,将特征根据某一种特定的标准进行排序,特征可以是单变量的也可以是多变量的,在单变量的情况下,每个特征在特征空间都是独立的被排序,而多变量是用某种批量的方式进行的特征评估(因此可以很自然的处理冗余的特征);第二步,评估分数比较高的特征被选择作为特征子集。在过去的几十年间,下面的性能指标被用于filter model,比如Fisher score,mutual information,reliefF。

Fisher Score:高质量的特征应该给在同一类的实例(instance)分配相似的值,而不同类中的实例分配不同的值。按照这种直观上的理解,对于第i个特征Si的fisher score的计算方式如下Si=∑Kj=1nj(μij−μi)2∑Kj=1nj(ρij)2

其中μij和ρij 分别是特征i在第j类中的平均值和方差值,nj 是类j中实例的数目,μi 是特征i的平均值。

基于互信息的方法:由于互信息的计算有效性以及可解释性,信息增益是最流型的特征选择方法之一。它被用来测量特征和标签之间的依赖性。特征fi和类C之间的信息增益的计算方法如下所示:

IG(fi,C)=H(fi)−H(fi|C)

其中H(Fi) 是特征fi的熵值,H(fi|C) 是类C下的fi的熵值:

H(fi)=−∑jp(xj)log2(p(xj))H(fi|C)=−∑kp(ck)∑jp(xj|ck)log2(p(xj|ck))

这里的信息增益反应的是类别对特征fi提供的信息的多少。

H(fi)是经验熵,如果fi的值分布的越均匀,那么H(fi)的值就越高,越高越好;

H(fi|C)反应的是经验条件熵,它反应的是类别C的分布情况对特征fi的数值分布情况的影响,越低就越说明类别c的值和特征fi的值分布分越一致。

因此IG(fi,c)越高就说明特征fi越重要。

在信息增益中,如果特征有着很高的信息增益,那么该特征是相关的,在这种情况下,特征是以单变量的方式被选择的,因此,信息增益不能解决冗余特征的问题。

基于互信息的FCBF方法为解决识别相关特征同时识别出相关特征中的冗余特征,并且测量出feature-feature和feature-class之间的相关性而提出来的一种方法。首先,它给定一个阈值ρ, FCBC首先选择特征S的集合,如果SU>ρ , 那么特征S则和类有着高相关性,SU是对称不确定性,具体定义如下:

SU(fi,C)=2IG(fi,C)H(fi)+H(C)=2H(fi)−H(fi|C)H(fi)+H(C)

如果SU(fi,ck)>=ρ 并且不存在fj(fj∈Sj,j≠i) 使得SU(fj,fi)≥SU(fi,ck), 那么 fi被称为主要的特征;如果SU(fj,fi)≥SU(fi,ck) , 那么称fj是fi的冗余特征。 冗余特征的集合记做S(pi) , 并且进一步的分为S+(pi) 和S−(pi), 他们分别表示SU(j,ck)>SU(i,ck) 和 SU(j,ck)≤SU(i,ck) 的情况。最后,FCBC使用在S(pi), S+(pi) 和S−(pi) 上的启发式的方法去掉冗余的特征,然后留下和类相关的特征。FCBC提供了一种在特征选择上去掉特征冗余的有效方法。

最小冗余最大相关(mRmR)也是一种互信息的选择特征的方法,最小化冗余度的公式定义如下:

For Discrete Features: minWI,WI=1|S|2∑i,j∈SI(i,j) ,

For Continuous Features: minWc,Wc=1|S|2∑i,j∈SC(i,j)

其中I(i,j) 和 C(i,j) 分别是fi和fj的互信息以及相关性系数。最大化相关性对于离散特征和连续特征分别定义如下:

For Discrete Features: maxVI,VI=1|S|2∑i∈SI(h,i) ,

For Continuous Features: maxVc,Vc=1|S|2∑iF(i,h)

其中h是目标类F(i,h) 是F统计。

ReliefF : relief方法以及它的多类扩展方法reliefF是从不同的类中抽出分开的实例中选择特征,假定l实例是从数据中随机抽出的样本,那么第i个特征Si的分数被Relief定义成

Si=12∑k=1ld(Xik−XiMk)−d(Xik−XiHk)

其中d(.)是距离函数,Mk 是在同一个类中的离xk最近的第i个特征的值。Hk 是在不同类中的离xk最近的第i个特征的值。

3.Wrapper models

filter模型最主要的缺点是它完全忽略了选择的特征自己在具体分类器上的性能。最优的特征子集应该是依赖于分类器的具体偏差和启发的,基于这个假设,wrapper模型利用具体的分类器来评价选择的特征的好坏,并且提供了一种简单有力的方式来解决特征选择的方式,给定一个预定义的分类器,典型的wrapper模型的步骤如下所示:

1)搜索特征的子集;

2)通过分类器的性能评价选择的特征子集;

3)重复上面两步的步骤直到需要的要求已经达到了。

wrapper model的框架如下所示:



搜索特征的过程是一个很耗时的过程,搜索m个特征的搜索空间为O(2m) , 这是一个NP难问题,有许多的搜索策略可以使用包括hill-climbing,best-first, branch-and-bound,遗传算法等等。

Wrapper model相比于filter model有着更好的预测精度,但是wrapper model比filter model更费时间。并且预测精度不可避免的会偏向于预定义的分类器的精度。

4.Embedded models

filter model选择独立于分类器的特征,避免了在wrapper model中的交叉验证步骤,因此filter model计算效率高,然而,它没有将分类器的偏差考虑进去,比如,使用Relief测量的相关的特征子集不适用于Naive-Bayes, 因为很多情况下,Naive-Bayes需要去掉相关特征才能提高分类性能。

Wrapper model 充分的利用了预定义的分类器的优势,但是他们不得不为了评价特征子集的质量运行分类器很多次,这是一个非常耗时间的。

Embedded model将特征选择嵌入到分类器构造的过程中,它具有wrapper model能够和分类器进行相互交流的优点,也具有filter model相比于wrapper model少得多的计算时间。

有三种类型的embedded 方法,第一种是剪枝的方法,首先使用所有的特征去训练模型,然后逐步尝试着减少一些特征,并且保持模型的性能也不会变;第二种是模型内部含有一些特征选择机制,比如ID3,C4.5;第三种是给目标函数加正则,目标函数是最小化错误率。由于正则化模型的良好性能,它引发了广泛的关注。

这里考虑线性分类器w,所以有

w^=minwc(w,X)+α∗penalty(w)

c(.)是分类目标函数,penalty(w)是正则化因此,α 是正则化参数,用来衡量c(.)和penaty的重要性的。一般c(.)包括二次损失比如least squares,hinge loss比如l1-svm以及logistic 损失。

quadratic loss:c(w,X)=∑i=1n(yi−wTxi)2

Hinge loss:c(w,X)=∑i=1nmax(0,1−yiwTxi)

Logistic loss:c(w,X)=∑i=1nlog(1+exp(−yi(wTxi+b))

正则化因子包括

Lasso 正则化:

penalty(w)=∑i=1m|wi|

l1正则化的一个重要属性是它可以生成w的确切0系数,也就是说,如果生成了0系数,那么这个特征就被消除了。

adaptive Lasso:

penalty(w)=∑i=1m1bi|wi|

lasso正则化可能会产生很大的系数,因此,它是不理想的,adaptive lasso采用了权值调整。

bridge 正则化:

penalty(w)=∑i=1n|wi|r,0<=r<=1

???

Elastic net正则化:

实际上,只有很少的特征才会高相关,在这种情况下,Lasso倾向于只选择相关特征中的一个。为了解决特征中的高相关,elastic net正则化被提出来,

penalty(w)=∑i=1n|wi|r+(∑i=1nw2i)λ,0<=r<=1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  机器学习
相关文章推荐