前面已提到特征选择在这里的含意是指,由原有D维特征所组成的特征空间中选出若干个特征,组成描述样本的新特征空间,即从原有的D维空间选取一个d维子空间(d<D),在该子空间中进行模式识别。为此有两个问题要解决,一个是选择特性的标准,也就是选择前面讨论过的可分离性判据,以这些判据为准则,使所选择的d维子空间具有最大的可分离性。这个问题在前述章节中已讨论过,这里不再具体讨论。另一个问题是要找出较好的特征选择方法,以在允许的时间内选择出一组最优的特征。所谓最优的特征组,就是要找到合适的特征的组合。如果从逐个特征配组进行性能比较的话,即穷举的算法,特征配组的数量可能极大,组合配置的数目按下式计算

如果D=100,d=10,则q的数量级就是1013,即使D=20,d=10,则q也可达184756种。如果将所有可能的特征配组列举出来,按某选定的可分离性判据进行计算,从中择优,其计算量之大是可想而知的。
那末如何解决这个问题呢?有人曾以为如果将每维特征单独计算可分离性判据,并按其大小排队,如
然后直接选用前d个特征构成新的特征空间,也许可以得到最优的可分离性。如果能这样做,特征选择的问题就比较简单了。然而问题在于,即使所有特征都互相独立,除了一些特殊情况外,一般用前d个最有效的特征组合成的特征组并非是最优的d维特征组。因此采用这种方法并不能保证得到最优的特征组合,而需要寻找搜索最优特征组的合适方法。由于任何非穷举的算法都不能确保所得结果是最优的,因此要得最优解,就必需采用穷举法,只是在搜索技术上采用一些技巧,使计算量有可能降低。下面我们将讨论一种最优特征搜索法,还要讨论一些次优解的算法。
在所有算法中,又可分为“自上而下”与“自下而上”两大类。所谓“自上而下”是指,从D维特征开始,逐步将其中某些特征删除,直到剩下所要求的d维特征为止。而“自下而上”则是从零维特征空间开始,逐个地从D维持征中选择特征,直至达到预定的维数指标为止。在选择的过程中,“自上而下”算法做到筛选剩下的特征组在每一步上都是最优的,而“自下而上”则在每一步都生成最优的特征空间。
4.8.1 最优搜索算法
此节不做基本要求
至今能得到最优解的唯一快速算法是“分支定界”算法,它属于“自上而下”算法,但是具有回溯功能,可使所有可能的特征组合都被考虑到。其核心问题是通过合理组合搜索过程,可以避免一些计算而仍能得到最优的结果。其关键是利用了判据的单调性。单调性在上一节中已提到过。在这里表示为:
如果特征存在包含关系:

则有
称该判据具有单调性。前面讨论过的 ,以及基于概率距离的判据JD,JC,JB都满足上述关系。
下面我们结合一个从D=6的六维特征空间选择d=2的二维最优子空间的例子,说明该算法的原理以及如何利用判据的单调性减少计算量。设原D维空间有六个特征表示成
{x1,x2,x3,x4,x5} |