Feature Selection Based on Mutual Information:Criteria of Max-Dependency, Max-Relevance,and Min-Redundancy

基于互信息的特征选择:最大依赖、最大相关、最小冗余准则

摘要

特征选择对分类系统有重要意义。本文根据互信息的‘最大统计依赖准则’选择好特征。引入最小冗余最大相关准则(mRMR),结合mRMr和其他复杂特征选择器提出一个两阶段的特征选择算法。与贝叶斯、支持向量机、线性判别分析进行对比分析,在四个数据集上进行对比实验。

特征冗余:特征之间相关性比较大,比如长、宽、面积,面积就是一个冗余特征。

介绍

最佳的表征条件意味着最小的分类错误率。在无监督任务中,最小的错误率需要目标类别在特征子集上有最大统计依赖性。这就是Max-dependency。
最大相关特征选择:选择和目标类别最相关的特征。相关性通常通过关联性和互信息表示,互信息被广泛的用于定义变量的依存关系。
本篇论文讨论基于互信息的特征选择。

互信息(mutual information):信息论里的一种信息度量,可以看成一个随机变量中包含的关于另一个随机变量的信息量,或者说一个随机变量由于另一个随机变量而减少的不确定性。

对于两个随机变量x,y,他们的互信息就是他们的概率密度函数。
在特征选择中,已经广泛认识到,好的特征间的组合不一定会导致良好的分类性能。一些学者已经开始研究通过最小冗余来选择特征。本文提出的mRMR框架最小化冗余并通过一系列冗余和相关直接的度量为离散或连续数据集选择好的特征。
本文关注现有研究没有关注的三个问题:
1.理论分析对第一阶段特征选择mRMR相当于最大依赖,但效率更高。
2.研究了如何将mRMR和其他特征选择方法相结合成为两阶段的特征选择方法。结果表明,mRMR选择出来的特征子集更具有特征性,能够帮助其他特征选择器以低代价选出最优特征子集。
3.通过大量实验验证本文提出算法的效率。

最大依赖,最大相关和最小冗余之间的关系

最大依赖(max-dependency),就是说找一个特征集S,其在目标类c上有最大依赖,(目标类c和特征子集的互信息最大)

如果m=1则很好理解,m>1时采用每次增加一个变量的方法,该变量应当使I(S;c)增加最多。

但存在的问题是多元密度函数的计算比较困难;涉及大量的高维矩阵计算;计算速度慢,在连续变量特征上更加明显。
所以尽管最大依赖特征选择在样本很多,特征很少的情况下能发挥左右,但不适用于高精度、特征较多的分类。
最大相关(max-relevance)准则,是寻找满足(4)的特征,和(2)中的D(S,c)类似,是所有特征和c的互信息的均值

该准则选择的特征可能有比较高的相关性,如果两个特征之间高度相关,移除任一个其类别区分能力不会改变太多。因此引入最小冗余来剔除特征(5):

mRMR就是将最大相关最小冗余结合起来,定义Φ(D,R)
在实际中,通过增量查找来寻找(6)定义的近最优特征。假设已经获得m-1个特征,寻找第m个特征(7)
最优一阶增量搜索(证明了该准则与最大依赖一样)
证明略><

特征选择算法

增量搜索没有确定的问题是特征的个数m如何确定?故提出一个两阶段的特征选择算法,第一阶段使用mRMR增量搜索获得候选特征集,第二阶段用其他的成熟的方法从候选集中选择一个更好的子集。

选择候选特征集

计算大量特征的交叉验证分类误差,并找到相对稳定的小误差范围成为Ω,候选集特征的个数n*就是通过Ω获得的。整个过程分为3步:
1.使用mRMR增量选择法选择n个序列的特征(n为提前设定的比较大的数),使S1⊂ S2 ⊂…Sn-1⊂ Sn.
2.对比n个特征序列确定k的范围,就是Ω,使相应的交叉验证误差error ek始终较小(小均值和小方差)
3.在Ω中找最小的分类误差,e*=min ek。那么候选子集的大小就是e*对应的k值。

这不还就是枚举的感觉,,

进一步选择特征子集

为更好的论证mRMR可以选择比较好的候选特征,采用封装器wrappers来搜索更简单的特征子集。
一个wrapper是一个特征选择器,包括一个最小化分类误差的分类器。通常,wrapper可以在该计算复杂度、低泛化能力的情况下,产生比较好的分类精度。这与mRMR不同,他们如无法直接优化分类误差。

mRMR或者最大相关性也被称为过滤器,是基于统计的筛选方法,复杂度比wrapper的低,而且筛选出来的特征“泛化”性能较好,可以适用于大部分分类器。个人理解是不同分类器选择的特征有针对分类器类型的偏好,而基于统计的选择方法不存在这种问题。

在第一阶段使用mRMR特征选择方法,以找到最小的候选特征集,这可以使得第二阶段wrapper花费的代价较小。
本文选择的两种分类wrapper,后向选择和前向选择。
1.后向选择就是每次从候选特征集里面剔除一个特征计算分类误差,对比ek-1和ek的值,对于k个特征,可想而知有k种剔除的可能,那就每一个可能都计算对应的ek-1,显然ek-1不变或者变小就说明对应的特征可以去除,但如果误差变大则不可以剔除,如果所有特征对应的ek-1的值都变大的时候,说明所有特征都是对分类有积极作用的,程序即终止。
如果存在特征极大的减少了分类误差,将其单独选为一个特征集,如果这样的值在同一轮中存在多个,则随机选一个。(这里不懂,为何要单选出来,直接剔除不就可以了吗)
2.前向选择就是以增量的方法来选择最简洁的特征,首先选一个特征,计算k个分类误差,选择分类误差最小的那个特征,如此反复,直到,新增的特征开始加大分类误差的时候终止。注意,本文在新增加的特征都不改变分类误差(不增加也不减少)的时候依然继续,因为作者希望找到尽可能多的特征,但是这个特征最终不会被选择,eg.如果分类误差是[10,8,4,4,4,7]的时候,在第五个特征的时候停止,但是只选择前三个特征。

更具有特征性的特征空间(RM-characteristic)

对于两个都包含n个特征的特征集 Sn1,Sn2,和分类器Γ,如果分类器再Sn1上的分类误差更小的话,就说Sn1是更具有特征性的特征集,这个概念还可以进一步推广到Sn1,Sn2的子集上,假设有特征选择方法F,对于Sn1有:S11⊂S21⊂…⊂Sk1⊂…⊂Sn-11⊂Sn1,对于Sn2有:S12⊂S22⊂…⊂Sk2⊂…⊂Sn-12⊂Sn2,如果对于任意k∈Ω,Sk1上的分类误差连续的小于Sk2,就说在Ω=[klower,kupper](1<=klower<kupper<=n)上,Sn1比Sn2更有递归特征性(recursively more characteristic即RM-characteristic)。
确定Sn1,Sn2哪一个是最优特征集,不能仅仅依赖其特定大小子集上的分类误差。最好的方法是在合理的Ω范围内,观察哪一个特征集有RM-characteristic。在极端例子里,令Ω=[1,n],有两个特征选择方法F1,F2,如果说通过F1获得的特征子集比F2划分的特征子集有RM-characteristic,我们则说F1特征选择方法优于F2

接下来展开了基于RM-characteristic的mRMR和最大相关方法的对比。同时在序列和非序列特征上进行。
1.直接对比了mRMR序列特征集和最大相关序列特征集。用两种方法获得S1⊂S2⊂…⊂Sk⊂…⊂Sn-1⊂Sn,并分别计算分类误差,如果说对于大部分k∈[1,n],mRMR划分的子集上的误差都小于最大相关的,我们就说对于序列特征mRMR的方法优于最大相关方法。
2.对于非序列特征,在第二阶段用不同的wrappers验证了,mRMR产生的候选子集是否优于最大相关方法。具体略
3.对于wrappers,考虑了很多不同分类器,用mRMR和最大相关选择了大小相同的候选特征集,然后用wrappers进行进一步的特征选择,并对比其分类误差。如果所有的结果都表明mRMR的特征选择方法是RM-characteristic的,我们就说mRMR是一种更好的特征选择方法。
4.对于两个特征集Sn1,Sn2,如果Sn1比Sn2具有RM-characteristic,则这这两个数据集上对比分类误差是令人信服的。
显然,对于拥有相同特征数目额特征空间,wrappers在RM-characteristic上的效率会更高。所以说,通过提高特征的特征性减少预先选择的特征,这是有利wrapper运行代价更低啊,

额,就是特征选择的意义?降低实际工程的计算复杂度or时间复杂度??

在实际情况下不太可能获得Ω中所有k值的ek,所以设定一个参数ρ (0<=ρ<=1 ),ρ =0.9就是说有90%的k被考虑,实验证明这并不会降低RM-characteristic的说服力。

实施问题

两个问题
1.连续和离散数据的互信息计算
2.介绍实验用的多种分类器

互信息计算

离散的比较好计算如式(1),连续变量的互信息如何计算,一种方法是将连续数据离散化,但如何进行合理的离散化尚不清晰,另一种方法是使用密度估计方法来近似I(x;y)。此前已开展相关工作。
对变量x有N个样本,密度函数为
其中δ(.)是Parzn 窗口函数,x(i)是第i个样本,h是窗口宽度。Parzn证明在给定合适δ(.)和h的情况下,当N趋近于无穷大时,p^(x)是可以近似为真实密度函数p(x)的。通常,δ(.)选择高斯窗口

z=x-x(i),d是x的维度,Σ是z的协方差。当d=1的时候(17)是边缘密度的估计,d=2时(17)用于双变量x,y的密度函数p(x,y),这实际是x,y的联合密度。为了鲁棒的估计,对d>=2,Σ常用其对角元(diagonal component)近似。

分类器

朴素贝叶斯NB
支持向量机SVM
主成分分析LDA

实验

在两个离散和两个连续数据集上进行实验。

数据集

如下图

mRMR和最大依赖对比(选择特征的cost对比)

对比两者的算法复杂度和特征分类的准确性。
离散数据集上最大依赖有优势,但在连续数据集上,分别计算两者选择50个特征的cost,mRMR极大优于最大依赖。

特征分类准确性对比


可以看出mRMR是优于最大依赖的。
为什么当特征数量较多时,mRMR生于最大依赖?因为,在高维空间中,互信息的估计比在低维空间的更可靠,尤其是在数据样本的数量相对接近特征的结合状态的数量时,在连续特征上,这种现象更明显。

mRMR和最大相关选择候选特征的对比

这两种方法的复杂度差不多,mRMR略高一丢丢,不计,这里关注两者的特征分类准确率。

简洁特征选择的对比

这里介绍mRMR和最大相关选择了相同数目的候选特征之后,mRMR选择的特征集是否更具有RM-characteristic.候选特征的数目设为50。
使用后向和前向的wrappers来选择最优子集,如果mRMR选出的候选特征更具有RM-characteristic的化,他的分类精度应该更高。
图5,结果显然mRMR好的,wrappers在mRMR的候选特征集上选出了刚好的特征子集,注意到(a)(b)上18个特征之后wrappers终止了,只是因为新增特征已经开始增大分类误差了。

下图是最终结果(应该是简洁特征集选出来之后,各个分类器的分类误差)

总结

证明了mRMR选择的候选特征在多种分类器上都有很好的泛化性能,且对于大规模的特征、变量选择更有用
mRMR是倾向于选择那种高相关,低冗余的特征。

(6)不是mRMR的唯一形式,也可以修改为系数形式等,

思考:这种方法比较适用于大规模的特征选择,那小规模的的选择能不能通过调整mRMR的方法获得,或者别的什么方法的,

互信息的估计在高维空间可信度更高

Feature Selection Based on Mutual Information:Criteria of Max-Dependency, Max-Relevance,and Min-Redu相关推荐

  1. 文章解读:Feature selection based on FDA and F-score for multi-class classification

    原文出处 F-score是一种简单的特征选择技术,但它只适用于两个类. 文中提出了一种基于Fisher判别分析(FDA)和F-score的新颖特征排序方法,表示为FDAF评分,考虑了多维特征空间中类的 ...

  2. Mutual Information

    今天挺paper reading的时候,听到了最大化互信息,还不清楚互信息是个什么东东,google了一下,从 http://en.wikipedia.org/wiki/Mutual_informat ...

  3. R语言基于信息价值IV(Information Value)和证据权重WOE(Weights of Evidence)进行特征筛选(feature selection)

    R语言基于信息价值IV(Information Value)和证据权重WOE(Weights of Evidence)进行特征筛选(feature selection) 对一个学习任务来说,给定属性集 ...

  4. Feature Selection Techniques

    Table of Contents 1  Feature Selection Techniques特征选择技术 1.1  Agenda 1.2  Introduction to Feature Sel ...

  5. Feature Engineering 特征工程 4. Feature Selection

    文章目录 1. Univariate Feature Selection 单变量特征选择 2. L1 regularization L1正则 learn from https://www.kaggle ...

  6. 单变量特征选择:Univariate feature selection

    sklearn中的单变量特征选择 单变量的特征选择是通过基于一些单变量的统计度量方法来选择最好的特征,比如卡方检测等.Scikit-learn 将单变量特征选择的学习器作为实现了 transform方 ...

  7. A feature selection method via analysis of relevance, redundancy, and interaction

    mutual information feature selection, MIFS:互信息特征选择 Smymetrical uncertainty, SU Fast Correlation-Basd ...

  8. Feature Selection: A Data Perspective --阅读笔记2 传统数据的特征选择算法

    论文的前一部分 FEATURE SELECTION ON CONVENTIONAL DATA Similarity based Methods Laplacian Score SPEC FEATURE ...

  9. Java机器学习库ML之二Feature Selection(特征选择)

    机器学习中训练模型的前提必备工作就是特征选择,起到降维和降低计算开销的目的,当然在获取尽可能小的特征子集的同时,应不显著降低分类精度.不影响类分布.保持特征子集的稳定适应性强等. ML库提供了特征选择 ...

最新文章

  1. ThreadLocal的使用方法
  2. 广东省生态土壤所孙蔚旻团队FEMS: 砷锑污染土壤剖面的微生物世界
  3. mybatis3:Invalid bound statement (not found)
  4. python判断对错题_python 初学者错题本
  5. php跳转404_php伪静态.htaccess实现403,404跳转
  6. [zz]jQuery.extend 函数详解
  7. Castle.MircoKernel Class Diagram - Part I
  8. c语言学生对老师的评教系统,学生对老师的评价
  9. 物理内存充足,但是为什么用代码总申请不到内存呢?
  10. php 依赖注入 数据库切换_通俗易懂理解PHP依赖注入容器
  11. 方正字体中英文对照表
  12. windows7 C盘清理(图解)
  13. c++设计某小型公司的 employee(人员)类
  14. 13.MD5对用户密码进行加密
  15. 为中国的孩子制造安全的校车
  16. 谷歌Mediapipe运行环境配置
  17. CSS外边距合并和CSS清除浮动
  18. 欢迎加新浪微博: weibo.com/zhengkarl
  19. SpringBoot中的html页面访问不到js,css等静态资源问题解决方案
  20. 老闪创业那些事儿(38)——小龙的离职面谈

热门文章

  1. OFDM专题之子载波间干扰问题(二)
  2. 通信系统之信道(二)
  3. C_数据结构_链式二叉树
  4. Bytom BIP-32协议和BIP-44协议解读
  5. [2018年工作重点规划]二.max脚本加强编写能力
  6. 5.6 Spring与Struts 2整合应用
  7. Asp.Net微型服务器使用次数统计
  8. 网络hack工具介绍
  9. FPGA跨时钟域处理的三大方法
  10. 浅析_tmain()与main()的区别