information gain & FCBF
在信息领域熵(Entropy)是一个很重要的概念。被用来衡量一个随机变量出现的期望值,第一如下
Information gain 则定义如下
同样的类似于chi square , information gain 也被用来衡量特征与类别之间的独立性的。所以这种方法可以被用于特征选择中来,选择IG较大的几个特征。
但是这种方法显然没有考虑到特征 与特征之间的冗余性。
FCBF
为了要衡量特征与特征之间的关系,Lei Yu 提出了FCBF (Fast correlation based filter solution)算法
首先我们来研究一下information gain 的一个小性质
这个可以通过来解决。
所以可以给予IG 来衡量特征之间的关系以为它对于两个特征之间是对称的,但是如果要对所有的特征,它的这种对称性亦然显得力不从心,因为对于有较多个取值的特征,IG的值会比较大。
所以引入 symmetrical uncertainty
这样他的取值就归一化了,而且补偿了IG取值偏向拥有较多取值特征的缺点。取1 表示两个特征完全相关,取0 表示独立
显然SU 是一种更好的衡量两个变量相关性的方法。
现在问题是,
1 ,如何定义一个特征与类别是相关的
2 , 如何定义一个特征是冗余的
对于问题1 , 可以定义一个阈值如果
我们认为该特征与类别是相关的
对于问题2 ,可以转换为,如果两个特征之间的相关性达到什么样的程度,我去需要认为其中的一个是冗余的,并且去掉它,显然被去掉的是与类别想关性较小的特征。
对于冗余,可以这样定义,如果两个特征之间的相关性比这些特征与类别之间的先惯性还要高的话,我们认为是冗余的,因为这样的话一个特征对令一个特征的依赖性甚至比它对类别的依赖性还要大,应该被剔除掉。
定义了相关和冗余,FCFB的伪代码
Input :
Output:
- Begin
- for i= 1 to N
- calculate
for
;
- If
- append
to
;
- end
- order
in descending
value;
= getFisrtElement(
);
- do begin
-
;
-
if
-
do begin
-
-
if
-
remove
from
-
-
else
-
-
end until
-
;
-
end until
-
;
-
end