索树中根节点X0代表全部特征的集合x1x2Lx6,每向下一级节点代表从集
合中删除一个特征,节点边上的数字表示在这一级中删除的特征,比如A节点表示删除x2特
征,代表x1x3Lx6,因为最后要保留2个特征,因此树的级数为NM4。每一个
叶节点代表一种组合,比如C节点代表x1x4。
由于可分性判据具有单调性,因此在搜索树中的节点具有这样的性质:每个节点代表的特征集合的可分性判据要大于其后继节点代表的特征集合的可分性判据,比如:
JAJBJC
根据这样的性质,我们就可以有如下的搜索算法。2分支定界算法(不严格)
1搜索从右向左进行,首先设置一个界值B,初始化为B0;
2如果当前节点没有分支,则向下搜索,直到叶节点为止,计算叶节点代表的特征集合的
可分性判据,如果大于界值B,则将B替换为这个判据值,并记录这个特征集合,作
为当前的最优选择;向上回溯,直到有节点有未搜索过的分支为止,按照从右向左的顺序搜索其子节点;3如果当前节点有分支,则计算当前节点代表的特征集合的可分性判据,如果小于界值
B,则中止该节点向下的搜索,因为其子节点的可分性判据已经不可能大于B了。否
则按照从右向左的顺序搜索其子节点。
分支定界算法的计算时间是不确定的,同最优解分支所在位置有关,如果最优解分支在
最右端,并且去掉x1或x2的可分性判据均小于最优解,则搜索时间最短,只需计算3组可
f分性判据;如果每个分支的可分性判据都大于其左端分支的可分性判据,则搜索时间最长,
需计算可分性判据的次数可能15次。
二、次优搜索算法1顺序前进法(Seque
tialForwardSelectio
SFS)
每次从未入选的特征中选择一个特征,使得它与已入选的特征组合到一起所得到的可分
性判据最大,直到特征数增加到M为止。用Xk表示在第k步时的特征集合,搜索算法如
下:
1开始时,X0,从N个特征中选择一个Jxi最大的特征,加入已选特征集,
X1xi;
2在第k步,Xk中包含已经选择的k个特征,对未入选的Nk个特征计算,
JXkUxj,其中j12LNk,并且按照由大到小排序,将可分性判据
最大的特征xl加入Xk,Xk1XkUxl;
3直到所选的特征数等于M为止。
2顺序后退法Seque
tialBackwardSelectio
SBS
同顺序前进法的过程刚好相反,最开始时取X0x1LxN,每次从中剔除一个特征,
使得剩余的特征可分性判据最大。
3增l减r法(lr法)前两种方法可以进一步改进,比如每次不是加入1个特征,而是加入l个特征;或者每
次不是剔除一个特征,而r