特征选择方法学习笔记(一)

来源:互联网 发布:苹果imac软件下载 编辑:程序博客网 时间:2024/06/05 14:34
     今天开始会持续学习一些state-of-art的特征选择方法,跟大家分享一下学习的心得和这些方法的主要思想,希望能对同志们的工作有所启发。
     首先我们看的是一篇2005年发表在PAMI(IEEE Transactions on Pattern Analysis and Machine Intelligence)上的文章《Feature Selection Based on Mutual Information: Criteria of Max-Dependency, Max-Relevance, and Min-Redundancy》。之所以先看这篇是因为在实验中我首先跟这篇文章中的方法做的比较,发现这个里面提到的mRMR方法鲁棒性较好,在各个数据集上的分类准确率排名都能保持在前列,同时计算时间也较短。这也是我自己的方法首先挑战的对象。
     这篇文章中提出的方法叫“最小冗余最大相关度标准”(mRMR),按照特征选择方法的大类来看应该算是filter的方法。该类方法有个明显的优势就是速度快,但是往往容易忽略特征间的相互影响。文中提出的mRMR方法在一定程度上减小了这种忽略。文章首先用mRMR的方法进行特征选择初步的过滤选出最有表示力的候选特征,然后再结合其他复杂的如wrapper类的方法进行特征选择。这样既可以保证速度又能够提高准确率。文章也从理论上证明了最大相关度和最小冗余方法选取特征是有效、高效的(对证明感兴趣的同志们请参看论文,在此我们就品尝一下这个方法的主要思想)。
     一种最常用的特征选择方法是最大化特征和目标之间的相关度。也就是说选择核目标最相关的特征。但是单纯的对单个好特征的组合未必能达到很好的分类性能。很多文章都指出“the m best features are not the best m features”。大家可以好好理解一下这句好。为什么这么说呢?如果这些好的单个特征都是相关的(冗余)那么他们的组合就有可能比虽然单个不是和目标最相关但是特征相互之间是不相关的(近似正交)特征组合起来分类效果差。只是寻找单个表现比较好的特征来进行组合也是以往filter类算法的通病。这种情况下选出来的特征往往会导致在特别低维的时候效果较好,但是当维数增高时效果就不如别的方法了(低维的时候效果好也没用,因为一般情况下在低维的时候效果再好也比高维时候效果差的精度要低)。本文就是基于这个观点出发,来构造了一种方法,既可以选出单个表示力较好的特征(最大相关度),有可以使得这些单个较好的特征之间相互冗余度最小(最小冗余),这就是mRMR方法的核心思想。
    接着就是如何实现这个思想的工作了,就是纯纯的用数学语言来表述这个问题。换句话说就是找到一个表述特征相似度的特征表达式,再找一个表述特征冗余度的表达式,将他们放在一个公式中解一个最优化的问题就好了。至于定义什么样的表达式来衡量相关度和冗余度,各位就可以根据自己的需求与想法来选择了。这儿贴出文中的公式,供大家参考。



这个公式是用来衡量相似度大小的。



这个公式是用来衡量冗余度大小的。
然后将这两个公式统一到一个目标函数中:






然后解这个目标函数的最优化问题,求得能使其最大的特征子集就行了。
     好了,最后总结一下这个方法,思想就是不光考虑单个特征还考虑了特征间的相互联系。就像我们考虑局部情况的同时要考虑全局的情况。在团队中,个人不能为了贪图自己的利益最大化而损害了整个团队的利益,这样到头来团队没了自己的利益也就彻底没了。想一想,科学中的道理和日常生活中很多道理都是通的,归根到底大家都是由哲学衍生的嘛,大家做研究时不妨尝试将这些道理融入进来,没准一个新的成果就出来了。

0 0
原创粉丝点击