|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
* j% n: f- A& W* ?4 P/ d% n6 K
在做特征选择时,可能面临两个问题:特征与类别预测有多大相关性,特征之间有多大冗余度。在特征选择中,“最好的m个特征不一定是m个最好的特征”,从相关度与冗余度来看,最好的m个特征是指与分类最相关的特征,但由于最好的m个特征之间可能存在冗余,因此最相关的m个特征并不一定比其他m个特征产生更好的分类准确率。可以看出,特征选择可以分为两个过程:1、怎样度量特征相关性。2、怎样解决特征之间的冗余。! r6 e/ L3 z) g
8 r5 J, ]5 u& N6 p4 I/ M0 R$ p
互信息, F, y/ Y/ i! @1 L' f0 A# O$ X8 h
1 i# m7 E5 l; C! Z
" C- I; K, l c0 \; T, A& i7 R互信息可以度量两个变量x,y之间的相关关系。如下图所示:/ |3 z+ y# U+ |* p5 `- {- B U
! L" Y9 ?! P+ [% Q2 |% v
7 ~6 \# I* O: K( E, c: u
m/ ?% ?- o" k% |) s考虑特征x与分类目标c,计算I(x,c),I(x,c)的大小代表了x与c之间的关联度的大小。从所有特征中选出与c之间互信息最大的m个特征,就可以得到与c最相关的m个特征。
- Q/ ]6 j: ~+ l0 M1 F7 R2 {9 ]. _$ Q0 }4 W
最大相关度与最小冗余度
$ E2 C7 \1 o! e# H; w% k
) y+ D% ~% L% H' o2 Z& o- R设S表示特征{xi}的集合,|S|=m. 为了选出m个最相关特征,使得S满足如下公式:$ A- f" a6 ?$ `; ?- H4 ?" }
# K$ {% u' c! X5 v* Y
! ^9 A1 q& y: R& u% L* W1 g6 S' w& [; R: c: W: M8 `# P1 O8 F" h
可见目标是选出m个平均互信息最大的集合S。
; ?8 D4 a% `- v0 e9 r, oS很可能包含相关度很大的特征,也就是说特征之间存在冗余。集合S的冗余度如下式所示:
* Q) _6 M* y. V5 b* _5 X) k( q8 W
5 A7 ~4 _( n$ k* P7 q a
8 B% r, c" G' D9 i
1 n9 ]# l, y3 X0 A: [最终目标是求出拥有最大相关度-最小冗余度的集合S,直接优化下式:
0 a+ n' n) }, @8 Z8 W! ]9 c; v% S5 H6 f
% [1 L/ c- O. L! ]; |1 l. E
$ p% u5 A' @2 M! o" ^
直观上说D的增大,R的减小都会使得目标函数增大。
) T+ O* Z4 K4 f4 D A6 g7 T假设现在S中已有m-1个特征,现在需要从余下的特征中选择第m个特征。
% h J# Y9 u" a
O6 X( [3 V) G" B) Y7 j) E% Y v0 n$ Y
2 Y7 `' C3 n: d- D# G
( w: t8 {' t2 A+ k& S特征选择过程3 d; M! ^' w+ K; a) i9 m
# `4 H& q* y! x5 p7 k x- m9 M b( U
特征选择的目的是选择出一个具有很好分类效果的精简特征集。为了达到此目的,可以分两步进行:第一步,利用mrmr选出候选特征集;第二步,利用其它方法选出精简特征集。
) R. y- t: f* {" y' w" F2 k* u2 @; [/ J0 T; R
3 h: t9 w2 Y4 K$ S! v主要步骤:; I- | v- o) H% g) ~
; P, I2 v0 }+ b S$ d0 ~- 将数据进行处理转换的过程(注:为了计算两个特征的联合分布和边缘分布,需要将数据归一化到[0,255]之间,并且将每一维特征使用合理的数据结构进行存储)
- 计算特征之间、特征与响应变量之间的分布及互信息
- 对特征进行mrmr得分,并进行排序
, ~/ f8 n; n5 w4 H5 } + W' S2 a; x J# W/ S9 [/ V
|
|