基于训练集动态代理模型的PSO特征选择算法

问题

①基于演化计算的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迭代后用原始训练集进行所有粒子评价与更新。

伪代码

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注