问题
①基于演化计算的Wrapper特征选择算法在计算量上耗费很大。
②基于PSO演化计算的特征选择算法在演化效率上有显著提高,但是评价过程的时间依旧很长。
贡献
作者提出了一种应用聚类到训练集上的动态代理模型,有助于获取数据集上的特征来使选出的特征更好。
DROP3算法
目的:保留类边界上的实例,去除类内部的实例,构造代理训练集
主要思想:利用KNN算法及排序来去除噪音实例
算法步骤
①先去除训练集上所有KNN算法错误分类的特征
②对于二分类来说,计算每个实例与最近的其它类的实例距离,并排序
③去除上述距离较远的实例
④去除不影响其它实例预测结果的实例
示例
Agglomerative Clustering
目的:解决DROP3算法的问题来构造代理模型(摒弃了KNN算法)
自底向上聚类
首先每个实例自成一类,两个最近的合并为一类,选出每个类的中心实例,加入代理训练集模型。(类的个数等于代理训练集实例大小,用户设置)
动态代理模型
Real fitness: 在原始训练集上的适应度值
Surrogate fitness:在代理模型上的适应度值
目的
由于特征子集每次迭代时都会变,为了保持上述两个值的一致性,要适时地动态调整。
主要步骤
① 利用AGG算法生成多个代理模型
②利用原始训练集计算适应度值,寻找最优适应度值f0的个体X。
③在代理池中计算X的适应度值,得到{f1,f2,...,fm}计算差距最小的|fi-f0|,选择此代理。
④演化开始,每IS次代利用选出的代理模型进行粒子评价与更新,在原始训练集上评价最好的gbest如果gbest没有提升,选择差距|fi-f0|最小的代理。
⑤IS迭代后用原始训练集进行所有粒子评价与更新。