2007,TCYB,Scaling Genetic Programming to Large Datasets Using Hierarchical Dynamic Subset Selection


Abstract

使用基于随机或动态子集选择启发法(RSS 或 DSS)的主动学习算法,可以直接解决遗传编程(GP)的计算开销,而无需求助于硬件解决方案。本通信首先介绍一系列分层 DSS 算法:RSS-DSS、级联 RSS-DSS 和平衡块 DSS 算法,其中后者之前尚未介绍过。对四个不平衡的现实世界二元分类问题以及 30 000-500 000 个训练样本进行的广泛基准测试表明,级联算法和平衡块算法都能够降低退化的可能性,同时相对于原始 RSS- 提供分类精度的显着提高。 DSS 算法。此外,与未使用主动学习算法训练的 GP 进行比较表明,分类性能并未受到影响,而训练只需几分钟即可完成,而不是半天。

I. INTRODUCTION

遗传编程(GP)是一种监督机器学习范例,其中同时研究多个候选解决方案(群体)[1]。这种方法为从业者提供了解决成本(适应度)函数设计、信用分配(探索-利用权衡)和表示等主要机器学习问题的独特机会。然而,这种灵活性会带来巨大的计算成本,通常会限制该方法在相对较小的数据集(即最多数千个训练样本)上的应用。这基本上是与评估训练数据集中个体群体的性能和学习算法的随机性相关的成本因素,即需要对不同的初始群体进行多次运行才能确定结果的统计显着性。因此,规范 GP [1] 的典型参数可能意味着在至少 30 次运行中对 4000 名个体进行 50 次迭代,或者总共 600 万次适应度评估,其中每次评估都要求在整个训练数据集中评估误差。每次修改参数时,都会重复整个过程。

在这篇文章中,我们感兴趣的是在不依赖硬件加速的情况下降低评估适应度时计算开销的重要性。该通信研究的基本模型是主动学习的模型。这种范例认识到,随着学习算法生成的模型在每次迭代中都得到改进,为什么不使用模型的性能来指导用于训练的样本的选择。因此,随着模型性能的提高,接受训练的样本数量也减少了。在 GP 的背景下,最广泛使用的主动学习范式是随机子集选择(RSS)和动态子集选择(DSS)[2]。 DSS 框架引入了样本年龄和难度的概念,以偏向出现在 GP 个体实际训练的子集中出现的训练样本的随机选择。最近,引入了 GP 的分层 DSS 主动学习算法的概念,以便将 DSS 方法扩展到非常大的数据集(即超出缓存的数据集)[3]-[5]。

用于主动学习的分层 DSS 方法的一个缺点是小类和大类分布之间的关系是固定的。这可能会导致退化解决方案,其中所有示例都被标记为主要类。在该通信中,提出了一种用于构造训练子集的分层模型,其中类样本的分布不再固定,即平衡块DSS(BB-DSS)算法。此外,还研究了级联模型构建的概念,其中这种方案的计算成本先前已经排除了在 GP 环境下使用这种模型。对大型不平衡现实世界二元分类数据集(30 000-500 000 个训练样本)的广泛基准测试证明了平衡块和级联方案在避免退化解决方案方面的优越性。最终,级联模型提供了最高的精度,而平衡块算法在保持相同的计算成本的同时提供了比原始分层主动学习方案更好的精度。

下面,第二节对相关工作进行了简短的概述。第三节建立了 GP 监督学习的相关背景,并总结了之前和提出的基于 DSS 的主动学习算法。第四节给出了原始分层 RSS-DSS 主动学习算法 [3]-[5] 和本文中提出的 BB-DSS 算法的详细信息。此外,还总结了级联GP方法[6]、[7],这需要分层RSS-DSS方案来保持计算可行性。第五节建立了实验方法,第六节详细介绍了性能。第七节总结了这封信函。

II. RELATED WORK

A. Ensemble Methods

在监督学习的背景下,数据采样算法的重要性已得到广泛认可,尽管其动机是提高错误性能。 Bagging 和 boosting 都是能够改善弱学习器的数据采样算法,因为它们利用了学习算法固有的不稳定性。尽管 GP 不是弱学习器,但使用集成方法已经取得了良好的结果。具体来说,是 Iba,然后是 Paris 等人。将Boosting应用于GP,重点是误差最小化,并且确实发现Boosting极大地提高了GP性能[8]、[9]。他们的重点并不涉及大型数据集,事实上,在提出的方案下使用大型数据集是不可行的。此外,按照最初的定义,bagging 和 boosting 都不能直接解决 GP 适应度评估的计算开销或与处理无法单独放入 RAM 的数据集相关的开销。然而,最近的工作将 GP 的并行实现(即以 Beowulf 集群形式的显式硬件支持)与集成学习结合起来。该技术要求对训练数据进行分区和空间分布,数据集的不同分区出现在 Beowulf 集群的不同节点上。不同的分类器在数据集的不同子集上进行训练,并使用合适的投票方案进行重新组合[10]。

B. Limited Error Fitness (LEF)

使用[11]中的LEF算法,GP个体的适应度与它在进行一定数量的错误分类之前正确分类的有序训练样本集中的数量有关。超过此错误限制后,个人尚未涵盖的任何情况都将被视为错误分类。适应度得分就是错误分类样本的总数;因此,找到差的 GP 个体的适应度比好的 GP 个体更快,从而节省了 CPU 时间。然而,LEF算法为了响应上一代群体的表现,引入了几个参数来控制问题难度的变化[11]。 LEF 对这些参数值的选择很敏感。此外,尽管个体适应度评估很快,但 LEF 被发现需要更多代,进一步影响算法的计算开销。

C. Topology-Based Subset Selection

拉萨尔奇克等人。 [12]开发了一种子集选择方法,该方法收集有关进化搜索期间正在检查的问题结构的信息。此类信息被表示为适应度案例集合上的拓扑,其中拓扑由无向加权图表示。拉萨尔奇克等人。认为这种基于拓扑的选择(TBS)允许动态选择更小、更合适的子集,从而有助于提高 GP 的性能。 TBS 中计算成本最高的任务是拓扑的适应以及需要对图中的边缘值进行排序以在每一代选择子集的要求。这与训练集大小近似成二次方缩放。仅一代内大小为 N 的数据集的边权重排序将约为 O ( N 2 l o g N 2 ) O(N^2 logN^2) O(N2logN2) [12]。

III. GP AND ACTIVE LEARNING

GP 是一种基于新达尔文自然选择和适者生存概念的监督机器学习算法[1]。因此,负责解决信用分配问题的算子采用基于群体的选择算子和遗传激励的搜索算子的形式。该算法本质上是迭代的,首先使用候选解决方案的相对适应性(即训练数据的性能)对候选解决方案群体进行排序(图 1)。选择算子随机选择个体进行繁殖[图1中的步骤3(a)]。随机应用搜索算子来构建出现在下一个群体中的子代[图 1 中的步骤 3©]。此类搜索算子的动机来自遗传学,通常采用突变和交叉的形式。步骤 3(a) 到 3(d) 构成一个训练时期或“锦标赛”,并重复直到满足终止标准,即达到预定义的性能目标或经过固定数量的锦标赛后。

在图 1 中,很明显构建解决方案所需的时间与锦标赛数量和数据集大小成正比。事实上,算法的其他任务上花费的 CPU 时间相对较少,例如初始随机群体的创建和搜索算子的应用。在该通信中,提出在大型数据集上有效训练 GP 的问题至少有两个方面。首先,众所周知,与建立程序适应性或 GP 内循环相关的计算开销[图 1]。 1,步骤3(b)]。传统上,这种开销是通过某种形式的硬件解决方案来解决的。具体示例包括机器语言 [13] 级别的进化,或使用 Beowulf 集群 [10]、[14]、超级计算机 [15] 和现场可编程门阵列 [16] 等系统进行并行适应度评估。其次,还有一个不太被广泛认可的开销,即管理不能单独驻留在 RAM 中的数据集。对于超过一千条记录的数据集,将整个数据集读入缓存可能是不可能的。因此,在每一代中顺序地将整个数据集呈现给每个人[图1]。 1,步骤 3(b)i] 将不会有效利用缓存存储器和存储器层次结构所基于的局部空间和时间访问模式[17]。正如引言中提到的,这些问题将通过认识到任何学习算法只需要查看总数据集的子集来解决,其中用于识别此类示例子集的采样过程也应该与内存层次结构一致的计算平台。

为了解决这些问题,我们建立在 DSS 主动学习算法 [2] 和分层变体 RSS-DSS [3]-[5] 的基础上。这为本文中介绍的 BB-DSS 算法提供了动力。此外,为了提供各种性能权衡的完整情况,还对 RSSDSS 算法 [6]、[7] 的级联变体进行了基准测试。

A. Hierarchical Subset Selection Algorithms

1)分层随机和DSS:对于无法单独容纳在RAM中的非常大的数据集,使用子集选择算法仍然需要多个缓慢的硬盘访问以支持子集的选择。因此,在宋等人的工作中。 [3]、[4],DSS 算法被扩展为子集选择的层次结构,以匹配现代计算机支持的内存层次结构的概念。出于基准测试目的,此对应关系中已重新实现了分层子集选择算法。首先,整个训练数据集被划分为足够小以适合 RAM 的块(图 2,级别 0)。然后以统一概率从分区数据集中选择块,即 RSS。这形成了选择层次结构的第 1 级。选择层次结构的第 2 级使用 DSS 方法从第 1 级识别的块中随机选择样本,并根据样本难度和年龄进行偏差。为每个1级块选择选择多个2级子集。以下,我们将其称为 RSS-DSS 算法。

2)级联GP:主动学习算法(例如RSS-DSS算法)的可用性提供了构建比以前更准确的分类器的机会。为此,使用了最初在神经网络 [18]、[19] 背景下提出的级联相关架构。该方法为逐步构建日益复杂的分类器提供了基础。相对于先前构建的模型,这种方案提供了将每个附加分类器重新聚焦于剩余残差的机会。当然,组成级联的分类器是在整个训练数据集上进行训练的,并且特征集通过每个先前 GP 模型输出的结果进行增强,从而导致原始训练数据集的维度增加。不用说,这种方案只有在利用主动学习算法时才对 GP 可行,在本例中是 RSS-DSS [6]、[7]。

  1. 平衡块 DSS:原始 RSS-DSS 算法的一个潜在缺点是没有尝试明确确保 GP 分类器训练的子集包含类内和类外样本。因此,退化的解决方案很可能会主导整个群体。为此,我们引入BB-DSS算法。该方案的主要动机是组织每个块的内容,使得示例类的分布具有固定的比例,而不必限制于原始类的分布。事实上,在数据集非常不平衡的情况下,相对于原始分布而言,次要类别的代表性过高可能是有利的。为此,BB-DSS 算法首先将训练数据集划分为单独的类(图 3,级别 0)。然后,单独的类被分成与该类的分布相对应的“分区”,以便在块中表示。然后,通过 DSS 算法从每个类别中选择一个分区来定义 1 级块选择。这需要将年龄和难度的概念扩展到每个样本类的划分。现在,分区是随机选择的,并偏向于分区难度和年龄。这自然放松了 RSS-DSS 层次结构所做的假设,即所有块都同样困难 [3]-[5]。所有三种分层子集选择算法的详细描述将在第四节中进行。

IV. ALGORITHM DETAILS

如上所述,我们的主要兴趣在于研究样本二次采样算法,该算法根据学习算法所观察到的样本的“年龄”和“难度”按比例过滤数据集,同时还结合了内存层次结构的概念。为此,第 IV-B–IV-D 节详细介绍了三种分层子集选择技术的方法。然而,我们首先总结了此通信中使用的 GP 的特定类型(有关 GP 的教程级别演示,请参阅[21]),尽管任何通用形式的 GP 都足够了[第 IV-A 节]。

A. Linearly Structured GP

在该对应关系中,GP表示采用线性结构的形式,以下称为L-GP[13]、[20]、[21]。也就是说,个体不是用 Koza [1] 的工作中流行的树状结构来表达个体,而是被表达为按顺序执行的指令的线性列表。因此,个体的执行模仿了通常与简单寄存器机相关的程序执行过程。指令根据修改通用寄存器{R[0],…,R[k]}、存储器和程序计数器的内容的操作码和操作数来定义。程序执行完成后,从预定义的寄存器中获取程序的输出。

选择算子采用稳态锦标赛的形式 [Fig. 1, Step 3(a)]。这意味着,我们不是尝试使用轮盘赌和适应度比例选择 [1] 在每一“代”建立一个全新的种群,而是选择一个规模小得多的个体子集 T(锦标赛的规模)。只有这些个体的适应度才会被评估,其中最好的 T/2 个体通过应用搜索​​算子来生育孩子。这些孩子取代了原始群体中与锦标赛中表现最差的 T/2 个体相对应的个体。这种稳态方案已被证明比基于代的选择算子具有更高的接管率,并且已应用于 L-GP [13]、[21]、[22] 和 GA 环境 [23]。

为了减少交叉算子的行为破坏性,交叉点的位置保持不变[22]。一个个体是用许多页来描述的,其中每页都有相同数量的指令。交叉仅限于两个父母之间交换单页。此外,引入了动态改变页面大小的机制,从而避免了与初始化时先验选择每页特定数量的指令相关的问题。

变异算子有两种形式。在第一种情况下,“变异”算子以均匀概率选择一条指令进行修改,并用指令集中的不同指令替换它。第二个变异算子“交换”旨在提供序列修改。为此,在同一个体中以均匀的概率选择两条指令并交换它们的位置。交换运算符背后的动机是程序中指令的执行顺序对解决方案有重大影响。因此,程序可能具有正确的指令组合,但以错误的顺序指定。

上述对交叉运算符操作的限制意味着一旦初始化,个体的长度(页数乘以每页指令数)就永远不会改变。因此,群体在允许的程序长度范围内初始化(本对应中的[8,…,256])。

B. RSS-DSS Algorithm

训练样本分层抽样的基本公式将问题分为三个级别(图 2)。 0 级将训练集划分为一系列相等的块。块驻留在内存中,并以统一概率或 RSS 随机选择(图 2)。 DSS 对所选块的样本进行随机采样,并偏向于选择更困难或较旧的样本 [2]–[5]。图 4 概述了 GP 学习算法、步骤 2 和 3(b)ii 到 3(b)v(以斜体突出显示)之间的一般关系,以及分层主动学习算法的通用形式。

在 RSS-DSS 算法的情况下,在第 1 级以均匀概率 (RSS) 选择样本块 [Step 3(a)]。然后通过 DSS 在第 2 级对这组样本进行二次采样 [Step 3(b)i],以形成实际执行适合度评估的样本集。 DSS 参数的更新发生在 Step 3(b)iii(示例难度)和 Step 3(b)vi(示例年龄)。然后针对不同的锦标赛个人和子集组成迭代该过程。当达到从当前块获取的 DSS 子样本的停止标准时,更新块误差 [Step 3©]。具体来说,随着“块”误差的减少,每个块的 DSS 迭代次数减少,从而导致相应的计算加速 [2]-[5]。通过评估 DSS [Step 3(b)] 中表现最好的个体的误差来近似块误差,但针对当前块中的所有样本。

显然,块是以均匀概率(级别 1)选择的,而子集是在级别 2 上选择的,偏向于更困难或最不频繁选择的(块)示例。该模型隐含的假设是所有块都同样困难,并且在训练期间每个块存在足够的次要(主要)类样本分布。此外,该算法还假设每个块的类样本的分布是固定的。这些假设是用于支持高效内存访问模型的基于块的模型的自然结果。

C. Cascaded GP Algorithm

级联架构(以下简称 CasGP [6]、[7])采用了由级联相关神经网络架构 [18] 推广并由 Litmann 和 Ritter [19] 进一步研究的方案。图 5 总结了基本过程。模型是通过每个模型中最佳个体的输出来增量构建的,从而增强了数据集 [Fig. 5, Step 1(b)]。因此,模型 m 接收一个样本,该样本由原始特征加上同一样本上 m−1 个先前模型的输出组成(即,最终解决方案由最多 3 个独立 GP 模型的“级联”组成)。当然,主动学习算法是必要的,以确保该方法的计算可行性 [Fig. 5, Step 1(a)]。为此,采用了 RSS-DSS 算法,与原始 CasGP 算法一致[6]、[7]。此外,还会记录哪个模型(即层)使训练误差最小化。也就是说,考虑到 GP 的随机性,不能保证跨模型性能的单调改进。因此,使用训练期间表现最佳的模型来评估测试集性能 [图 5 步骤 1© ]。

D. BB-DSS Algorithm

解决数据分布不均匀问题的一种方法可能是对数据进行分层,使得每个一级块具有与原始数据相同的分布[5]。不幸的是,当样本类非常稀有时,该方案也会失败,因为稀有样本仍然很少遇到。这里采用的方法是始终以固定比例在 1 级块中表示 0 类和 1 类样本。通过这种方式,无论数据集的原始大小和分布如何,都可以始终表示这两个类。这种方法称为 BB-DSS 算法。

BB-DSS 算法的第一阶段是对原始数据集进行分层,并选择 0 类和 1 类样本的所需比例出现在 1 级平衡块中。一旦选择了一个比率,例如 25/75(块类别 1 的 25% 和块类别 0 的 75%),分层数据集中的类别 1 和类别 0 样本就可以划分为多个分区(图 1)。 3、0级)。例如,块大小为 1000,块分区比率为 25/75,则需要 250 个样本的 1 类分区和 750 个样本的 0 类分区。现在可以通过从每个类中选择一个分区并组合两个分区来创建块(图 3,级别 1)。此外,1类和0类分区的数量不必相等。最终效果是每个“块”都是动态构造的,并且由一组具有预定义类别比例的样本组成,与初始数据分布无关。

  1. 分区选择:通过扩展 DSS 算法来选择分区以包含在(级别 1)块中,即通过分区难度和年龄的概念来进行选择。具体地,分区年龄仅采用计数的形式,最不频繁选择的分区具有较高的选择概率。分区难度与分区相关示例的难度成正比。同样,最困难的分区将有更高的选择概率。

与上述模型一致,选择分区 i 来表示其在 1 级块中的类别的概率 [Fig. 4, Step 3(a)] 采用以下形式:
在这里插入图片描述

其中 diff 是固定百分比难度权重,age 是年龄权重百分比,或者,age =(1 − diff), P a r t d i f f ( i ) Part_{diff}(i) Partdiff(i) P a r t a g e ( i ) Part_{age}(i) Partage(i) 分别是分区 i 的分区难度和年龄,j 索引所有分区在 class 上。

在初始化时,每个分区的年龄为1,并且具有最差情况难度。因此,分区选择最初将是统一的。分区的年龄是该分区的分区选择数,自上次选择分区以来,分区 P a r t d i f f ( i ) Part_{diff}(i) Partdiff(i) 的难度采取指数加权运行平均的形式,因此跨分区选择持久并且对任何一个分区上的性能是鲁棒的。自然地,分区难度用先前的值初始化,或者
在这里插入图片描述
一旦初始化,划分难度从每个评估的范例接收增量更新 [Fig. 4, Step 3(b)iiiA]
在这里插入图片描述

当在当前块上执行最后一次循环时,记录分区难度,这为分区下次出现在块中时的初始化做好了准备,或者
在这里插入图片描述

其中 t t t索引与分区i相关联的当前子集中的所有样本, e x e m p l a r d i f f ( t ) exemplar_{diff}(t) exemplardiff(t) 是样本t的难度,并且α是在这种情况下设置为0.1的常数(0 <α< 1)。

2)子集采样限制:现在有必要定义在层次结构的第2级执行的子集选择的数量 [Fig. 4,
Step 3(b)]。为此,使用上次评估每个分区时的错误。令Ep表示分区p的错误率,如通过评估程序在块中的所有样本上具有最佳子集错误所定义的 [Fig. 4, Step 3©]。一个级别1块的前一个实例,其中分区是一个参与者,由ip索引。现在,子集选择的数量与组成块的每个分区上的先前性能成比例地定义。因此,当前块上的子集选择SubsetLimit的数量为
在这里插入图片描述

其中 I m a x I_{max} Imax是每个块允许的子集选择的最大数量,并且 E p E_p Ep被归一化为单位间隔,因此因子为“2”。当组成块的两个分区都返回最大错误时(即,SubsetLimit = I m a x I_{max} Imax。以这种方式定义子集选择的数量允许GP减少先前发现产生低错误率的分区上的训练轮数,从而减少计算开销。

3)块采样限制或全局停止标准:现在需要一种方法来确定所做的1级块选择的数量 [Fig. 4, Step 3]。与用于建立分区难度更新的方法类似,再次使用指数加权移动平均值
在这里插入图片描述
该误差在2级循环结束时更新 [Fig. 4, Step 3©],其中β是常数(设置为0.1),并且ErrDiff是包括1级块的训练分区之前和之后的误差的绝对差:
在这里插入图片描述
在1级块上完成训练之后,平均类误差(6)的绝对差提供梯度(8)。将该梯度与预定义的阈值 ξ \xi ξ进行比较,以表征当前块上的收敛是否已经发生:
在这里插入图片描述
此外,通过要求在连续的1级块选择中满足块停止标准,在这种情况下为15,我们为平衡块算法提供了总体停止标准 [Fig. 4,
Step 3]。相应的块收敛阈值λ被设置为0.0025,其中索引i表示连续块选择的计数。最后,假设有两个类(即,分区),我们还要求停止准则对两个类都成立。

V. EXPERIMENTAL METHODOLOGY

A. Experimental Setup

正如在介绍中所示,这封信的主要兴趣是调查家庭ofDSS主动学习算法用于应用GP到大型数据集。为此,实验报告使用四个大的二进制分类数据集:KDD’99入侵检测数据集(10%KDD '99数据集用于训练,而校正的KDD’99数据集用于测试),取自第五届ACM SIGKDD知识发现和数据挖掘竞赛(1999)[24]; Adult数据集,Census Income数据集和Shuttle数据集,都来自UCI机器学习库[25],[26]。四个数据集的分布和大小见表I。Shuttle数据集最初是一个多类分类问题,通过将第1类样本标记为阴性,将所有剩余类标记为阳性样本,将其转换为二元分类问题。此外,在KDD’99数据集的情况下,我们只对分类正常行为(即,异常检测),因此也将该数据集简化为二进制分类问题。人口普查数据集特别不平衡,未成年人占5.76%,而最平衡的数据集是成人,24.7%代表未成年人。

GP范式所采用的随机基础提供了一种机制,用于研究给定相同搜索状态的不同决策。与确定性机器学习算法不同,重要的是要确定解决方案不是由于随机机会,这意味着运行至少要进行30次不同的初始化[27]。它们的区别仅在于它们选择用于初始化种群的随机种子,所有其他参数保持不变。此外,考虑到类不平衡的重要性,记录返回的退化解决方案的数量,并报告剩余运行的性能指标。

由每个分类器提供的输出采用区间(-1,1)上的真实的值的形式。这种方案提供了量化与分类器行为相关联的分离程度的基础,而不是仅仅依赖于正确分类的样本的计数。为此,每个分类器都基于sigmoid包装器函数,将原始GP输出(GPout)映射到所需的间隔
在这里插入图片描述
其中使用和平方误差适应度函数来建立适应度,该适应度函数是在当前子集中的所有“P”个训练样本上估计的
在这里插入图片描述
对于CasGP算法,先前观察到这样的适应度函数的性能明显优于替代包装器适应度函数对的横截面[6],并且匹配明确设计用于促进级联层之间的适应度共享的适应度函数的性能[7]。

训练是在配备1 GB RAM的双G4 1.33 GHz Mac服务器上进行的。GP运行的最佳个体程序通过在训练数据集上运行群体中的所有程序并通过选择使训练错误率最小化的程序来确定。记录来自30次GP运行中的每一次的最佳个体的表现,包括训练时间(分钟)、训练数据集上的错误率和错误率以及测试数据集上的检测率(DR)和假阳性率(FPR)。DR和FPR估计如下:

在这里插入图片描述

B. Instruction Set

GP指令采用双地址格式,其中提供多达16个内部寄存器,多达64个输入,8个操作码和一个表示常数(0-255)的8位整数字段[22]。两个模式位在三种指令类型之一之间切换:具有内部寄存器引用的操作码、具有输入引用的操作码和具有整数常量的目标寄存器。扩展到包括进一步的输入或内部寄存器仅仅增加了相关联的指令字段的大小。表II列出了所有GP运行的通用参数设置。

C. BB-DSS Partition Parameterization

为了比较RSS-DSS、CasGP和BBDSS算法的结果,研究了BB-DSS算法在1级块中0类样本与1类样本的比率方面的参数化。T测试,这是在四个分类问题中的每一个上的20/80和37.5/62.5的分区比的性能指标上估计的,结果显示无显著差异。然而,实验表明,对于不平衡的数据集,与原始数据分布相比,增加1级块中最少代表的类样本的分布是有益的。根据这一观察,当使用BB-DSS算法进行以下实验时,选择37.5/62.5的划分比进行比较。

VI. RESULTS

A. Adult Dataset

表III总结了各种指标的培训和测试性能。总体而言,很明显,RSS-DSS和CasGP算法都更加强调FP率最小化;而BB-DSS通常强调DR的最大化。在与成人数据集相关的主要/次要类样本的分布下,这种BB-DSS策略导致整体错误率较低。此外,CasGP算法的性能更加一致,强调了从多个分类器增量构建解决方案的好处

B. Census Dataset

再次,CasGP算法在训练和测试数据集上都具有最低的中值错误率(表IV)。另一方面,RSS-DSS算法在测试数据集上很少达到优于约5.66%的退化错误率(退化错误率可以通过将每个样本标记为主要类别的解决方案来实现)。BB-DSS算法在错误率方面具有最紧密的四分位数,并且具有中值,尽管比RSS-DSS算法更好,不接近CasGP算法。CasGP和BBDSS算法之间的训练和测试错误率的T检验分别返回 8.57 × 1 0 − 5 8.57 × 10^{−5} 8.57×105 4.97 × 1 0 − 4 4.97 × 10^{−4} 4.97×104的p值。因此,在训练和测试条件下,结果在95%置信区间下具有统计学独立性。总之,对于人口普查数据集,由于改进的DR分布,CasGP和BB-DSS算法导致比RSS-DSS算法更好的测试错误率。然而,CasGP算法似乎也受益于更好的FP分布,从而导致人口普查数据集上的总体错误率比BB-DSS算法更好。

C. Shuttle Dataset

表V总结了Shuttle数据集的性能。CasGP和BB-DSS算法在中值错误率和一致性方面都明显优于RSS-DSS算法。对于该数据集,CasGP算法在训练数据集上具有最佳中值错误率,尽管这并没有转化为测试数据集上的最佳中值错误率,测试数据集由BB-DSS算法返回。CasGP算法在训练和测试错误率方面是最一致的算法。所有三种算法都显示出非常高的中值DR,其中BB-DSS算法具有最高的中值DR,而CasGP算法是最一致的中值DR(表V)。在FPR方面,RSS-DSS算法再次表现最差,CasGP和BB-DSS算法在中值FPR方面具有竞争力,BB-DSS算法是最一致的。

在Shuttle数据集上,BB-DSS算法优于RSS-DSS算法。此外,CasGP算法似乎没有改善BB-DSS算法所获得的结果。这导致BB-DSS算法为Shuttle数据集提供了最佳分类器。

D. KDD’99 Dataset

表VI总结了KDD’99数据集的性能。与Shuttle数据集一样,尽管CasGP算法在训练数据集上具有最低的中值错误率,但BB-DSS算法具有最低的中值测试错误率。BB-DSS和RSSDSS之间测试错误率的t检验给出给予的p值为5.71 × 10−4,BB-DSS和CasGP之间的p值为6.50 × 10−13,这表明算法结果之间存在显著的统计差异。此外,RSS-DSS算法在中值测试错误率方面与CasGP算法具有竞争力。对于训练和测试,CasGP和BB-DSS算法比RSS-DSS算法更一致。

尽管CasGP算法在训练数据集上具有最低的中值错误率,BB-DSS算法在KDD’99数据集上提供了三种算法中最好的分类器,具有最低的中值测试数据集错误率和最低的中值FPR,与RSS-DSS相比,t检验返回的p值为2.82 × 10−2,与CasGP相比为1.47 × 10−3,这再次具有统计学显著性。此外,BB-DSS具有最高的中位DR,与CasGP相比具有统计学显著性,t检验返回的p值为3.57 × 10−8。考虑到训练和测试性能之间的差异,CasGP可能过度学习了训练数据,而与BB-DSS算法相关的基于分区的停止标准可能会降低这种可能性。

E. Run Times and Degenerate Solution Frequencies

表VII显示了BB-DSS算法在Adult、Census和Shuttle数据集上的四分位运行时间,以及RSS-DSS、CasGP和BB-DSS算法在KDD’99数据集上的运行时间。在KDD’99数据集上,CasGP算法的训练成本显然最高。然而,造成这种情况的一个因素与其说是GP,不如说是用于在每次向级联添加新分类器时向训练数据附加额外“特征”的例程(当前例程使用Perl脚本)。BB-DSS算法在Shuttle数据集上非常有效,其中主动学习算法和早期停止标准的组合导致中位训练时间几乎是Adult数据集的两倍,尽管Shuttle数据集中有13,000多个样本。

表VIII列出了每个GP算法在四个数据集上找到的退化解的总数。RSS-DSS和BB-DSS算法似乎对不平衡的人口普查数据集有特别的困难;然而,BB-DSS算法在避免退化解决方案方面比RSS-DSS更一致(在更多数据集上更低的退化计数)。

CasGP算法在避免退化解方面显然是最好的。我们将此归因于在多个层上重复错误细化的过程,而不是RSS-DSS和BB-DSS算法所采取的一次性学习方法。此外,级联中可能存在的退化模型可以通过稍后在架构中添加的模型进行校正,因此未反映在表VIII中。

F. Canonical Tree GP Without Active Learning

结果也获得了成人数据集的树GP实现(而不是线性GP),不使用分层子集选择。具体来说,结果是使用lilGP获得的,这是原始树结构GP的有效的基于C的实现[28]。使用4000个个体的群体,并且将交叉、繁殖和突变概率分别设置为90%、10%和0%(即,Koza的经典GP)。函数集仅限于算术运算符的情况,如上面的结果所示。考虑了三种情况:第一种使用节点限制256;第二种使用节点限制1024;第三种使用节点限制4096。后一节点限制对应于具有16层的CasGP解决方案的情况(每层具有256个指令限制)。模拟在具有1.25 GHz G4处理器和1 GB RAM的iMac台式计算机上进行。对于每种情况,进行10次lilGP运行,并且具有最低训练错误率的运行的结果示于表IX中。错误率以百分比表示,训练时间以小时表示。大量的计算开销限制了每个lilGP配置运行的次数为10次

由表IX提供的比较表明,具有分层子集选择的GP算法提供与规范GP竞争的准确性。在运行时间方面,与标准GP算法所需的15小时及以上相比,BB-DSS结果的中位数不到5分钟(见表VII)。因此,GP主动学习算法家族能够成功地减少运行时间,同时保持与在整个数据集上训练的基于规范树的GP的竞争力。

VII. CONCLUSION

这种对应基准的DSS算法的家庭下建立的GP范式的大型不平衡的数据集,而不求助于硬件特定的加速扩展的二进制分类器。支持这一观点的主要观察是,并非所有的榜样都是平等的。因此,随着当前解决方案的改进,区分(GP)学习者的表现的相关性示例的数量也减少。两个分类法用于确定适当的范例,年龄和难度。年龄可以确保以前正确分类的样本不会被遗忘,而难度用于提供关于样本被错误分类的频率的反馈, 通过引入训练数据块的概念来支持非常大的数据集,其中一个块足够小,可以单独驻留在缓存中。

该分层模型的三个配方被认为是:RSS-DSS算法,CasGP算法,和BB-DSS算法。基线RSS-DSS算法假设训练样本和块之间的先验关系,仅利用DSS算法相对于固定的块内容来选择合适的训练子集。CasGP算法使用RSS-DSS算法为构建GP分类器的级联提供基础,直到预定义的层数。然而,构建CasGP模型的串行性质确实意味着总体训练时间超过了RSS-DSS和平衡块算法,但仍然比规范GP快得多。

所提出的平衡块算法的结果是在一个模型,是基于一个单一的分类器,但介绍了一个更复杂的方法,在建立块比原来的RSS-DSS算法。这使得块和随后的DSS过程能够增加小类的表示,同时还将范例难度和年龄的概念带到原始数据集(RSS-DSS和CasGP都假设块选择的概率均匀)。因此,平衡块算法能够接近CasGP算法的分类性能,同时保持原始RSS-DSS算法的计算加速(即,单个分类器模型)。实现这一目标的关键是BB-DSS算法的基于分区的停止标准,这能够成功避免对所考虑的两个数据集的过度学习。因此,平衡块和级联架构的自然扩展将是用BB-DSS算法替换CasGP中的RSS-DSS算法。

References

Curry R, Lichodzijewski P, Heywood M I. Scaling genetic programming to large datasets using hierarchical dynamic subset selection[J]. IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), 2007, 37(4): 1065-1073.

@article{curry2007scaling,
  title={Scaling genetic programming to large datasets using hierarchical dynamic subset selection},
  author={Curry, Robert and Lichodzijewski, Peter and Heywood, Malcolm I},
  journal={IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics)},
  volume={37},
  number={4},
  pages={1065--1073},
  year={2007},
  publisher={IEEE}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值