FCBF算法解析

FCBF算法是Lei Yu、Huan Liu于2004发表的Efficient Feature Selection via Analysis of Relevance and Redundancy中提出的。文章主要提出应用SU(Smymetrical uncertainty)代替信息增信IG(Information Gain)作为衡量一个特征是否于分类C相关或者是否冗余。

FCBF具体算法实现:

下面以一个实际的例子来解释上面的伪代码:

首先:找到一个和分类C相关的特征子集S_{list}。计算每个特征F_i与分类C之间的SU值,并按照降序排列,当SU_{ic}>\delta(δ是提前设定的阈值),则认为特征是相关特征,加入到S_{list}当中;否则认为是不相关特征。此处得到6各特征F_1, ... ,F_6,依次按照SU_{i,c}值进行降序排列,SU_{1,c}最大,SU_{6,c}最小。

其次:在特征子集S_{list}内剔除冗余特征得到S_{best}。此处是FCBF的核心部分,需要进行详细说明:

1、选择SU_{i,c}值最大的特征F_1S_{list}中的第一个特征)作为主特征;

2、在S_{list}依次选择SU_{i,c}值小于主特征的特征F_2, ... ,F_6,分别比较该特征与第一个特征的SU_{i,1},该特征与分类C之间的SU_{i,c}

3、如果SU_{i,1} \geq SU_{i,c}则证明此特征为冗余特征,在S_{list}中剔除该特征,例如剔除F_2, F_4

4、选择当前S_{list}SU_{i,c}值最大的特征,此处为F_3;(重复步骤1)

5、在S_{list}依次选择SU_{i,c}值小于主特征的特征F_5, F_6,分别比较SU_{i,3}SU_{i,c};(重复步骤2)

6、如果SU_{i,3} \geq SU_{i,c}则证明此特征为冗余特征,在S_{list}中剔除该特征,例如剔除F_6;(重复步骤3)

7、选择F_5作为主特征,选择特征5。

问题1:为什么要采用SU来代替IG

首先了解一下SU(Symmetrical uncertainty)的定义:

SU(X,Y)=2[\frac{IG(X|Y)}{H(X)+H(Y)}]

从定义可以看出SU是信息增益IG归一化的一种形式,当SU=1时,代表X和Y完全相关,就是由X→Y,也可以由Y→X;当SU=0时,可以得到X与Y独立。

由于信息增益IG是一个非归一化的值,其值得范围不确定;另外IG(f_i;f_j)IG(f_i;C)之间由于比较的类型不同,不能直接进行比较。采用SU的好处是,将信息增益归一化,可以直接实现SU_{i,c}SU_{i,j}的比较。

问题2:为什么当\large SU_{j,c}\geq SU_{i,c} 且\large SU_{i,j}\geq SU_{i,c}时特征\large F_i是冗余特征,需要剔除?

首先特征F_j是已经选择的主要特征,此时特征F_i由于其SU值比F_j小,所以与分类C之间F_j有更强的相关性。又由于SU_{i,j}\geq SU_{i,c},则说明,F_iF_j之间的关系是强于F_i与C之间的关系的,则说明F_jF_i的一个近似马尔可夫毯,就是F_i可由F_j来近似表达,由于已经选择了F_j,所以可以不必选择F_i了。

以上只是定性的分析了原理,文章中并未给出具体的证明。

问题3:什么是马尔可夫毯

定义3(特征的Markov毯):给定特征f_i,使特征子集MB_i\subset F(f_i\notin MB_i),当且仅当以下公式满足时,称MB_i是特征f_i的Markov毯。

\textbf{P}(F-MB_i-f_i,C|f_i,MB_i)=\textbf{P}(F-MB_i-f_i,C|MB_i)

意思就是f_i的信息完全由马尔可夫毯MB_i的确定,那么f_i就是冗余信息,在特征选择中可以剔除。

首先对引入Markov blanket(马尔可夫毯)的概念用于定义什么是冗余特征(Redundancy features)。

对于Markov blanket的解析请参照https://blog.csdn.net/jbb0523/article/details/78424522?reload及【何宪. 基于贝叶斯网络的马尔可夫毯发现算法研究[D]. 电子科技大学, 2012.】论文。

简单来说在一个贝叶斯网络中,一个变量的马尔可夫毯就是和其相关得父节点、子节点和配偶节点,该变量的所有信息都包含在其马尔可夫毯内。举个例子就是,如果一个社会当中的人只和自己的亲属有直接关系(贝叶斯网络),那么这个人的信息可以通过其父亲,儿子,和配偶的信息完全确定。

问题4:什么是冗余特征?

定义4(冗余特征):假设G为当前特征的一个子集,如果特征f_i与分类C是弱相关并且在G内可以找到其马尔可夫毯MB_i,那么f_i应该在G中被移除。

结语

FCBF算法的全称是Fast Correlation-Based Filter即快速相关性滤波算法,其快速性到底体现在哪里呢?

拿mRMR算法来说,其计算公式为\max _{x_j\in{X-S_{m-1}}}[I(x_j;c)-\frac{1}{m-1}\sum_{x_i\in S_{m-1}}I(x_i;x_j)],需要分别计算I(x_i,x_j),总共需要计算\frac{m(m-1)}{2}次(其中m为总特征的数量)。其特征复杂度为O(m^2)

而对于FCBF来说,其为一边比较一边删除冗余特征,最好的情况是只选择一个特征时,其时间复杂度为O(m),最坏的情况是所有的特征都被选择,其时间复杂度为O(m^2)。对于维数特别多,选择特征较少的情况FCBF的优势比较明显。

拿上面例子中的6个特征的情况来看,采用mRMR需要计算15次I(x_i,x_j),而FCBF只需计算8次SU_{i,j}

  • 13
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值