mrmr 最大关联度-最小冗余度 特征选择

在做特征选择时,可能面临两个问题:特征与类别预测有多大相关性,特征之间有多大冗余度。在特征选择中,“最好的m个特征不一定是m个最好的特征”,从相关度与冗余度来看,最好的m个特征是指与分类最相关的特征,但由于最好的m个特征之间可能存在冗余,因此最相关的m个特征并不一定比其他m个特征产生更好的分类准确率。可以看出,特征选择可以分为两个过程:1、怎样度量特征相关性。2、怎样解决特征之间的冗余。
1、互信息
互信息可以度量两个变量x,y之间的相关关系。如下图所示:
这里写图片描述
考虑特征x与分类目标c,计算I(x,c),I(x,c)的大小代表了x与c之间的关联度的大小。从所有特征中选出与c之间互信息最大的m个特征,就可以得到与c最相关的m个特征。
2、最大相关度与最小冗余度
设S表示特征{xi}的集合,|S|=m. 为了选出m个最相关特征,使得S满足如下公式:
这里写图片描述
可见目标是选出m个平均互信息最大的集合S。
S很可能包含相关度很大的特征,也就是说特征之间存在冗余。集合S的冗余度如下式所示:
这里写图片描述
最终目标是求出拥有最大相关度-最小冗余度的集合S,直接优化下式:
这里写图片描述
直观上说D的增大,R的减小都会使得目标函数增大。
假设现在S中已有m-1个特征,现在需要从余下的特征中选择第m个特征,如下式:
这里写图片描述
3、特征选择过程
特征选择的目的是选择出一个具有很好分类效果的精简特征集。为了达到此目的,可以分两步进行:第一步,利用mrmr选出候选特征集;第二步,利用其它方法选出精简特征集。
首先是利用mrmr选出候选特征集,如下图所示:
mrmr 最大关联度-最小冗余度 特征选择_第1张图片
其次是选择精简特征集。通过第一步mrmr选出候选特征集,wrapper方法可以更加快捷的进行精简特征集的筛选。这里首先简单介绍下前向搜索与后向搜索。
1)后向搜索 。 后向搜索每次从现有特征集合中选出一个冗余特征。具体说来,假设当前特征集为Sk,那么计算去除每一个特征后的错误率,这样就会得到k个大小为k-1的特征集,如果这K兹特征集的错误率都大于Sk的错误率,则后向搜索停止,k就是最精简特征集的个数。如果存在子特征集的错误率小于Sk的错误率,则选择错误率最小的子集作为下一步的候选特征集。
2)前向搜索。前向搜索每次从剩余特征中选取一个添加到目标特征集中,使得目标特征集的错误率有所下降。如果添加的特征不能使得目标特征集的错误率下降,则前项选择结束。

[1] Feature Selection Based on Mutual Information:
Criteria of Max-Dependency, Max-Relevance, and Min-Redundancy
Hanchuan Peng, Member, IEEE, Fuhui Long, and Chris Ding

你可能感兴趣的:(特征选择-机器学习,机器学习-特征构建)