特征选择relief算法介绍

特征选择的基础了解:
特征选择过程一般包括:特征子集产生过程,评价函数,停止准则,验证过程。

1 特征子集选择过程
根据搜索过程的方法的不同,可以将特征选择分为穷举、启发式、随机几种方法。以上几种方法不改变特征的原始属性,而有些方法通过对特征进行空间变换,去除相关性。比如PCA、傅立叶变换、小波变换等。

2 每种评价函数各有优劣,所以需要根据实际情况进行选择。根据不同的评价准则,可以分为:过滤器(Filter)模型、封装器(wrapper)模型以及混合模型。过滤器模型是将特征选择作为一个预处理过程,利用数据的内在特性对选取的特征子集进行评价,独立于学习算法。而封装器模型则将后续学习算法的结果作为特征评价准则的一部分根据评价函数的不同(与采用的分类方法是否关联),可以将特征选择分为独立性准则、关联性度量。

3 停止准则是与评价函数相关的,当评价函数值达到某个阈值后就可停止搜索。比如对于独立性准则,可以选择样本间平均间距最大;对于关联性度量,可以选择使得分类器的准确召回最高作为准则。

4 度量测试数据集上验证选出来的特征子集的有效性。最好采取与前期选择方法不相关的度量方法,这样可以减少其间的耦合。

Relief为一系列算法,它包括最早提出的Relief以及后来拓展的ReliefF和RReliefF,其中RReliefF算法是针对目标属性为连续值的回归问题提出的,下面仅介绍一下针对分类问题的Relief和ReliefF算法。

Relief算法最早由Kira提出,最初局限于两类数据的分类问题。Relief算法是一种特征权重算法(Feature weighting algorithms),根据各个特征和类别的相关性赋予特征不同的权重,权重小于某个阈值的特征将被移除。

Relief算法中特征和类别的相关性是基于特征对近距离样本的区分能力。算法从训练集D中随机选择一个样本R,然后从和R同类的样本中寻找最近邻样本H,称为Near Hit,从和R不同类的样本中寻找最近邻样本M,称为NearMiss,然后根据以下规则更新每个特征的权重:如果R和Near Hit在某个特征上的距离小于R和Near Miss上的距离,则说明该特征对区分同类和不同类的最近邻是有益的,则增加该特征的权重;反之,如果R和Near Hit在某个特征的距离大于R和Near Miss上的距离,说明该特征对区分同类和不同类的最近邻起负面作用,则降低该特征的权重。以上过程重复m次,最后得到各特征的平均权重。特征的权重越大,表示该特征的分类能力越强,反之,表示该特征分类能力越弱。Relief算法的运行时间随着样本的抽样次数m和原始特征个数N的增加线性增加,因而运行效率非常高。具体算法如下所示:

特征选择relief算法介绍
由于Relief算法比较简单,但运行效率高,并且结果也比较令人满意,因此得到广泛应用,但是其局限性在于只能处理两类别数据,因此1994年Kononeill对其进行了扩展,得到了Relief-F作算法,可以处理多类别问题。该算法用于处理目标属性为连续值的回归问题。ReliefF算法在处理多类问题时,每次从训练样本集中随机取出一个样本R,然后从和R同类的样本集中找出R的k个近邻样本(near Hits),从每个R的不同类的样本集中均找出k个近邻样本(near Misses),然后更新每个特征的权重,如下式所示:

特征选择relief算法介绍
特征选择relief算法介绍
Relief系列算法运行效率高,对数据类型没有限制,属于一种特征权重算法,算法会赋予所有和类别相关性高的特征较高的权重,所以算法的局限性在于不能有效的去除冗余特征。

相关文章: