2020-05-13 Genetic Programming With a New Representation to Automatically Learn Features and Evol...

一种新的自动学习特征和进化集合的遗传规划方法


集成学习,特征学习,遗传规划,图像分类,表示

图像分类是机器学习和计算机视觉领域的一个热门课题,但由于图像的高度变异性,它具有很大的挑战性。与单一分类算法相比,采用集成方法求解图像分类可以获得更高的分类性能。然而,要获得一个好的集成方法,一个集成算法中的分量(基)筛子应该是准确和多样的。为了有效地解决图像分类问题,需要对原始像素进行特征提取,将其转化为高层次的信息特征。然而,这个过程通常需要领域知识。本文提出了一种基于遗传编程的进化方法,能够自动地同时学习信息特征,进化出有效的图像分类集合。新方法以原始图像作为输入,并根据进化后的分类器返回类标签的预测。为了实现这一点,我们开发了一个新的个体表示、一个新的函数集和一个新的终端集,使新的方法能够有效地找到最佳解决方案。更重要的是,新方法的解决方案能够从原始图像中提取信息特征,并能自动解决集合的多样性问题。此外,该方法还可以自动选择和优化集成分类算法的参数。对13个不同难度的图像分类数据集进行了性能测试,并与大量有效方法进行了比较。结果表明,新方法在大多数数据集上的分类精度优于竞争性方法。进一步的分析表明,新方法能够进化出精度高、多样性好的解。

集成方法在解决分类问题中得到了广泛的应用[3],[4]。集成由多个基本学习者(分类器)组成,用于解决分类问题[5]。在集成中,每个分类器使用训练数据和常用的分类算法(如决策树(DT)和支持向量机(SVMs))进行训练[3],[6]。然后采用投票法和平均法相结合的方法,对分类器的输出进行组合,以达到较好的预测效果。集成通常比单一分类器在未观察到的数据上获得更好的泛化性能[6]。集成的性能可以定义为E=E-A,其中E表示分类器的泛化误差的平均值,A表示集成的平均模糊度(多样性)[5],[7]。如方程所示,要获得一个好的集成,分类器必须准确多样。在集成构建过程中,分类器的多样性常常被认为是影响集成性能的关键因素[8]。这种多样性表明分类器在集成中获得的误差是不相关的,这是不容易测量的。为了构建一组不同的分类筛选器,已经开发了许多技术,例如bagging和boosting,它们使用不同的数据集来训练集成中的每个分类器[5]、[9]。其他的努力可以在[10]和[11]中看到。然而,多样性问题仍然是集成学习中的一个开放性问题[8]。

利用集成方法解决图像分类问题,一个关键的过程是从图像中提取一组信息特征,因为原始像素值往往是无效的。然后将提取的特征输入到一组分类算法中,以训练集成的分类器[12]。特征提取将图像的低层次原始像素值转化为高层次的信息特征,进行分类判别。然而,由于图像的高变化性和图像数据的高维性,很难从图像中获得具有区分性和不变性的特征。尽管已经提出了许多方法,如局部二值模式(LBPs)[13]、方向梯度直方图(HOGs)[14]和尺度不变特征变换(SIFT)[15],但它们仅限于特定的图像域,在应用于新的域时需要域知识。特征学习技术可以通过从原始图像中自动学习有效的特征来解决这些问题,以达到较高的分类性能。典型作品见[16]和[17]。然而,由于图像分类涉及到很多领域,即人脸图像、纹理图像、场景图像和其他对象图像,因此学习信息特征来处理不同类型的图像分类任务仍然具有挑战性

作为一种进化计算(EC)技术,遗传规划(GP)旨在以程序的形式自动寻找解决特定问题的解决方案[18]。GP被用来构造用于分类的集合,因为每个GP程序都可以是用于二进制或多类分类的分类器[19],例如使用bagging或boosting方法[9]。其他基于GP的集成方法可以在[20]-[22]中看到。然而,由于特征提取的必要性和困难性,大多数方法不能直接用于处理图像分类任务

另一方面,人们提出了许多基于GP的方法来自动学习用于图像分类的特征,如[16]、[17]、[23]和[24]。学习到的特征通常是通过多个层次的转换,即线性和非线性,在基于树的表示中。通常,GP从原始图像构造/学习一个高级特征,并且可以容易地用于二值图像分类,例如在[23]和[24]中。然而,大多数图像分类任务是多类的,一个特征不能有效地解决它们。GP已经被应用于学习图像分类的多个特征,并显示出希望[16],[17]。但大多数方法都局限于特定的图像域,如纹理分类[17]。此外,这些方法只使用一个分类器进行分类。因此,使用集成分类器可以进一步提高它们的分类性能。

利用一种灵活的基于树的表示方法,可以将特征学习和集成学习的过程集成到一棵GP树中,从原始图像中自动演化出有效的图像分类解决方案。我们以前的工作[25]开发了一个使用GP(EGP)进行图像分类的自动集成框架,并在不同类型的图像分类任务上取得了有希望的结果。EGP方法可以使用过滤和池操作来学习特征,并使用这些特征来构建集成的分类器。EGP的主要优点是在整个过程中能够显著地减少领域知识的需求,在进化学习过程中,图像相关算子、分类算法和组合方法的选择是自动进行和优化的。然而,EGP通过滤波和池来学习特征,这对于场景分类等复杂的图像分类可能并不有效。此外,EGP不能自动调整分类算法的参数,这对于不同的图像分类任务是不灵活和有效的。

本文的总体目标是开发一种新的基于GP的有效方法,解决EGP自动学习有效特征和演化图像分类集合的局限性。该方法被称为改进的EGP(IEGP)。为了实现这一目标,IEGP将开发一个新的表示方法,包括输入层、过滤和池层、特征提取层、连接层、分类层、组合层和输出层。每个功能层,也就是说,除了输入和输出层之外,都有许多功能允许IEGP自动演化它们的组合以形成解决方案。每个解决方案都将生成输入图像的类标签的组合预测。该方法将在13个不同难度的数据集上进行评估,包括带有噪声的大型数据集。IEGP的性能将与大量的基准测试方法进行比较。将对IEGP进行深入分析,以显示其有效性。

新的IEGP方法的特点可以概括为以下五个方面。

1)在IEGP中开发了一种新的多层个体表示方法,使其能够自动地同时学习特征和进化集合,用于图像分类。新的表示有七个具有不同功能的层,这使得它不同于当前GP的多层表示,例如在[16]和[23]中。新的表示允许IEGP从原始图像中生成集合的解决方案,而无需人工干预和领域专业知识。

2) IEGP可以通过多种转换来学习高级特征,即过滤、池、复杂的特征提取函数和连接。所学习的特征对某些变化具有不变性,例如旋转,这可以提高分类性能。

3) IEGP能够自动选择和优化进化集成中分类算法的参数。将随机森林中的树个数(RF)和logistic回归中的正则化参数(LR)作为IEGP的终端,在进化学习过程中进行优化。这导致进化后的集成包含有效和高效的分类器以产生有希望的结果。

4) IEGP可以自动解决集成构建时的多样性问题,其中策略属于输入特征操作和学习参数操作[6]。

5) IEGP的演化解可以很容易地可视化为树,这为目标问题提供了很高的可解释性,即学习什么类型的特征,使用什么分类算法来构建集成,以及为什么它们会产生好的结果。

BACKGROUND AND RELATED WORK

A.  GP and Strongly Typed GP

GP是一种EC技术,能够进化出解决问题的计算机程序[18]。与遗传算法(GAs)相似,GP有一个进化学习过程来搜索最优个体/解。与GAs不同,GP中的每个个体通常由一棵树表示,具有内部节点和末端节点的功能。这种表示需要一种树的生成方法,即满树、生长树和倾斜树的一半和一半来构建初始生成,而子树交叉和子树变异分别用于交叉和变异。

传统的基于树的GP对于处理一种数据类型是有效的,例如常用的函数,+,-,×,和protected%对浮点数进行操作。标准GP树的最终输出也是一个数字。然而,对于某些任务,常常涉及多个数据类型,这就要求GP方法能够处理多个数据类型。为此提出了强类型GP(STGP)[26]。STGP定义每个函数的输入类型和输出类型,并定义每个终端的输出类型。当使用函数和终端构建GP树时,树的每个节点必须遵守类型约束,即节点的参数类型必须等于定义的参数类型。为了满足类型约束并将函数和终端集成到树中,常常需要一个程序结构。在图像数据方面,STGP比GP更受欢迎,因为它可以处理多个数据类型,如数组

B.  Representation of GP on Image Data

Liu等人。[27]开发了一种基于GP的方法,用于从三维序列中自动学习时空表示以进行动作识别。该方法有一个新的树表示,它包含一个输入层、一个过滤层、一个最大池层和一个输出层,用于从三维序列中学习信息特征。在文献[17]中,提出了一种新的纹理描述GP方法,该方法利用一个新的根节点将子节点的输出转换为二进制编码。然后将二进制码转换成十进制数,并以十进制数的直方图作为特征。与其它纹理特征相比,该方法提取的特征具有更好的分类性能。Bianco等人。[28]开发了一种基于GP的同时视频变化检测算法的选择、组合和处理方法。该方法使用变化检测算法作为树中的函数。但是,这些表示是特定于任务的,不能直接用于其他任务。

在从原始像素分类图像的文献中已经发现GP的多层或多层表示。一般的图像分类过程通常包括特征提取、特征选择和分类过程。这些过程可以集成到GP树中,使用多层或多层表示来进化解决方案来同时处理它们。通常,每个功能层都有许多功能可供GP搜索以构建树。阿特金斯等人。[23]开发了用于二值图像分类的多层GP(在[24]中称为3TGP)。3TGP方法有图像过滤层、聚合层和分类层,它们在一棵树中执行图像过滤、区域检测、特征提取、特征构造和分类。Bi等人。[29]提出了一种多层GP方法来实现区域检测,特征提取,特征构造层,同时分类。然而,由于每棵GP树的输出都是一个浮点数,所以这些表示只能有效地解决二值图像分类问题,这自然适合二值分类。因此,很少有人提出用多层次表示的GP进行多类图像分类。邵等。[16] 提出了一种多层表示的多目标GP方法,用于学习由多个过滤和池函数转换的特征。该方法在包括困难场景分类在内的四种不同的图像分类任务中取得了很好的效果。已有的工作表明,利用GP有效地解决图像分类问题,表示是必不可少的。一个好的GP表示可以获得有希望的性能,如在[16]和[17]中。但是,大多数现有表示仅对特定任务有效。当一个新的任务,即集成学习,被集成到GP中时,有必要开发一个新的表示。

C. Image Feature Extraction and Learning

为了从图像中提取信息特征,人们提出了许多有效的特征提取方法。在现有的方法中,最流行的方法包括LBP[13]、SIFT[15]和HOG[14]。LBP[13]是一种简单有效的纹理特征提取方法。标准LBP方法使用通过量化像素与其相邻像素之间的关系计算出的十进制数来标记图像中的每个像素。LBP标签的直方图通常被提取为处理特定任务(如纹理分类[13]、[17])的特征。为了处理某些变化,人们开发了LBP变体,例如统一LBP(uLBP)、完全LBP(CLBP)和局部导数模式(LDP)[1]。SIFT方法[15]是通过从图像中检测关键点,然后从检测到的关键点中提取特征的局部特征描述方法。为了减少计算量,本文提出了一种稠密SIFT方法[30],用以提取整个图像的梯度大小和方向的直方图特征,而不是每个检测到的关键点。HOG方法与SIFT方法相比,能够以不同的方式提取梯度方向的直方图特征。在密集重叠网格中提取梯度方向的局部归一化直方图特征。HOG提取的特征称为形状和外观特征。

与特征提取方法相比,特征学习方法能够自动、动态地学习更多的信息性、有意义的特征,以解决特定的任务。卷积神经网络(CNN)是这类网络的典型应用,它通过多层非线性变换学习图像特征。李和龚[31]在学习过程中,通过对训练样本进行权重分配,提出了一种自适应CNN(SPCN),以增强CNNs的学习鲁棒性。已经开发了几种cnn变体,如散射卷积网络(ScatNet)[32]和主成分分析网络(PCANet)[33],其中使用不同的方式生成卷积滤波器。在文献[34]中,提出了一种用于图像分类的前向卷积概念神经网络(FCCNN)。Rifai等人采用了压缩式自动编码器(CAE)。[35]用于数字识别。

在此过程中,采用了基于EC的方法,以获得解决特定任务的有效特征。Fu等人。[36]开发了一种基于GP的方法来进化能够从图像中检测边缘特征的解决方案。Albukhanajer等人。[37]应用进化多目标算法优化跟踪变换中的函数,以提取鲁棒不变的图像特征用于目标分类。Wei和Tang[38]开发了一种基于遗传算法的学习对象识别的概念形状表示方法。对形状轮廓进行预处理,提取重要信息并编码到基因中,使遗传算法能够搜索出最优的形状轮廓。Mistry等人。[1] 提出了一种微GA嵌入粒子群优化算法(PSO),对提取的水平和垂直邻域像素比较LBP(hvnLBP)特征进行优化,用于人脸表情分类。

D. Ensemble Methods for Classification

集成方法已广泛应用于机器学习中的分类任务。Nag和Pal[39]提出了一种同时进行特征选择和集成进化的多目标GP算法。该算法将多类分类问题分解为多个二值分类任务,并为每个任务创建一个GP程序集。文献[3]对类不平衡问题的集成方法进行了详细的综述,主要方法包括成本敏感的boosting方法、booting方法、bagging方法和混合方法。Yu等人。[4] 提出了一种基于特征选择的半监督分类框架。在集成中,每个分类器都在一个由特征选择方法选择的子空间上进行训练。

采用集成方法进行图像分类通常需要不同的设计,因为在一般的分类器训练过程之前,需要特征提取过程从原始图像中提取有意义的特征。Dittimi和Suen[12]使用CNN提取图像特征,并使用PCA降低特征的维数。然后选择不同的基础学习者,如RF、DT和SVMs,对其进行特征训练。最后,结合这些分类器进行预测。

基于EC的集成方法很少被提出来解决图像分类问题。Majid等人。[40]提出了一种基于GP的方法,从正面人脸图像中寻找性别分类的支持向量机分类器的最优组合(合集)。该方法比使用不同核函数的单个支持向量机分类器取得了更好的效果。可以找到其他基于GP或EC的方法来解决分类问题,但不能解决图像分类问题,例如[20]和[39]。据我们所知,[25]首先介绍了一个基于GP的图像分类自动集成学习框架。与文献[39]提出的需要人工提取图像特征的方法不同,该方法可以自动、同时地从图像中学习特征并建立集合。然而,文献[25]中的方法在大型图像分类数据集上表现出较差的性能,这可能是由于所学习的特征不有效。此外,该方法不能自动选择分类算法的参数,对不同的图像分类任务不灵活,效率不高。因此,本文对文献[25]中的EGP方法进行了很好的改进,开发了新的个体表示、新的功能集和新的终端集,自动学习有意义的特征,并为分类算法选择合适的参数,建立了用于图像分类的集合。

NEW APPROACH

传统的图像分类集成方法的一般过程如图1所示。整个过程包括特征提取、基础学习者/分类器选择、训练和组合[12]。为了改善各个过程之间的联系,本文提出了IEGP,以自动地同时学习信息特征,并进化出有效的图像分类集合。如图1所示,IEGP解决方案的输入是图像,输出是类标签。所有的过程,例如特征提取和基础学习者选择都在一个IEGP解决方案/程序中。为此,在IEGP中开发了一种新的个体表达、新的功能集和新的终端集。本节将描述IEGP的这三个重要组件。然后概述了IEGP在图像分类中的总体算法。

A. Novel Individual Representation

GP有一个基于树的表示,这是已知的进化解的可变长度。IEGP的单独表示基于STGP[26],其中每个函数都有输入和输出类型,每个终端都有输出类型。为了定义类型约束,开发了一个新的程序结构,如图2所示。新的程序结构有输入、过滤和池、特征提取、连接、分类、组合和输出层。除了输入和输出,每一层都有不同的功能。输入层表示IEGP系统的输入,例如终端。过滤和池层具有过滤和池功能,对图像进行操作。特征提取层利用现有的特征提取方法从图像中提取信息特征。连接层将其子节点生成的特征连接到特征向量中。过滤和汇集、特征提取和连接层属于特征学习过程,即从原始图像中学习信息特征。学习到的特征可以直接输入到任何分类算法中进行分类。因此,分类层与连接层连接。分类层具有多种分类功能,可用于利用所学特征训练分类器。组合层具有多个组合函数来组合分类函数的输出。分类和组合层属于集成学习过程,在集成学习过程中,对分类函数进行选择和训练,并对分类器的输出进行组合。最后,输出层对组合层产生的输出执行多个表决,以获得类标签的组合预测。

与文献[25]中EGP的程序结构相比,IEGP的新程序结构多了一层,即特征提取层。EGP学习到的特征来自于过滤和池操作,这些操作可能对变化(例如缩放和旋转)不具有鲁棒性。为了提高学习特征的有效性,在过滤池层和连接层之间插入特征提取层。特征提取层利用三种成熟的方法,即LBP、SIFT和HOG,从图像中提取不变性和信息性特征,这将在第III-B节中介绍。

IEGP的示例解决方案如图2所示,以进一步演示新的表示。图2示出了不同的层具有不同的功能,这将在下面的章节中介绍。在特征学习层,即滤波和池层、特征提取层和与图像相关的算子,如LoG1、HOG和SIFT,被采用。分类层具有SVM、RF、LR等函数,与EGP相比有新的附加叶节点。这些叶节点是分类函数的重要参数。在组合层中,使用新的组合函数,例如Comb3,以灵活的方式组合预测的类标签。因此,图2中的示例程序的输出是支持向量机、RF和LR分类器的组合输出。

1) 集成多样性:

有四种常用的策略来增强集成的多样性[6]:1)数据样本操作;2)输入特征操作;3)学习参数操作;4)输出表示操作。IEGP进化出的集成能够自动解决多样性问题,其中的策略是输入特征操作和学习参数操作。新的程序结构允许在进化的程序中,不同的分类功能具有不同的树分支,如图2所示的示例程序。不同的带函数的树分支可以产生不同的特征,形成分类函数的输入,这就是输入特征的操作策略。分类函数的参数作为IEGP的终端来开发,使得IEGP能够在进化学习过程中对参数进行自动微调。这是学习参数的操作。此外,新的程序结构允许IEGP进化相同或不同分类器的集成,这比其他具有固定分类器的集成方法(如文[6])更灵活。

2) 表示的灵活性:新的程序结构使IEGP能够进化具有不同树大小(节点)和深度的程序。在新的表示中,输入层和输出层的树深度固定为1。特征提取层将图像转换为特征,这是不可逆的数据转换,因此该层的深度为1。类似地,分类层的深度是1,其中输入被转换为类标签。其余各层,即过滤池层、连接层和组合层,都具有灵活的树深度,这表明树深度可以根据问题自动调整。这保持了IEGP所开发解决方案的灵活性。另一点是,筛选和池层对于特定任务可能不是必需的。因此,过滤和池层被开发为一个灵活的层,这表明它可能在进化的IEGP程序中,也可能不在进化的IEGP程序中。如图2中的示例程序所示,输入X_序列可以直接输入到特征提取函数uLBP和HOG中,而无需任何滤波和池操作。

B. New Function Set

新的函数集有许多用于不同目的的不同函数。每一层的功能总结见表一。这些功能的介绍是从底层到顶层的。

1) 过滤和池函数:

过滤和池功能在数组上操作。它们将多个图像作为输入,并对每个图像执行相应的操作。过滤功能保持输出图像的大小与输入大小一致。池函数通过从图像的一个小窗口中对最大值进行子采样来减小图像的大小。在IEGP中,过滤和池函数与EGP中的相同[25]。Gau是由二维高斯函数Gau(x,y)=(1/2πσ2)exp[-[(x2+y2)/2σ2]]生成的高斯滤波器,其中标准偏差σ是IEGP的一个终端。GauD表示高斯函数的导数,其标准偏差σ分别沿x轴和y轴按(o1,o2)的顺序排列。这三个参数是IEGP的终端。Gabor函数的核是根据Gabor(x,y)=Gau(x,y)*sin[(2π(cosθx+sinθy))/λ+Ψ]生成的。频率f(1/λ)和方向θ作为IEGP的终端。Lap是Laplacian滤波器,常用于检测平坦区域。在Laplacian产生的结果是噪声的情况下,利用高斯滤波器的Laplacian对Laplacian产生的图像进行卷积。LoG1和LoG2是高斯滤波器的Laplacian,其中高斯函数的σ分别为1和2。SobelX、SobelY和Sobel对图像进行边缘检测。HOG-F和LBP-F生成具有信息特征的HOG和LBP图像。通过分别返回每个3×3滑动窗口的中值、平均值、最小值和最大值,Med、Mean、Min和Max卷积图像。Sqrt返回每个像素值的Sqrt根,如果像素值为负,则通过返回1进行保护。W-加法和W-Sub以两幅图像和两个权重作为输入,计算图像的加权和或减法。在输入图像有不同大小的情况下,这两个函数在左上角重叠两个图像并将其剪切为具有相同大小的和或减。如果像素值为负,ReLU返回0;否则,它返回像素值。

2) 特征提取函数:

将三种常用的特征提取方法uLBP[13]、HOG[14]和SIFT[15]作为IEGP的功能开发出来。这些函数将输入图像转换为一组有效特征,这些特征对某些变化是不变的。uLBP函数提取LBP图像的59个直方图特征。在uLBP中,镭被设置为1.5,邻域数被设置为8[13]。HOG函数从HOG图像中提取每个4×4网格的平均值,形成特征向量。HOG方法的参数与[14]中的参数相同。SIFT函数通过将图像作为关键点为每个图像生成128个特征[30]。值得注意的是,这三个函数产生了不同数量的特征。

3) 连接函数:

IEGP中的连接函数不同于EGP方法中的连接函数[25]。FeaCon2、FeaCon3和FeaCon4函数分别通过串联将两个、三个和四个向量转换为向量。连接函数可以将特征提取函数或连接函数作为其子节点,表示每个连接函数产生一个特征组合。

4) 分类函数:

任何常用的分类算法都可以作为IEGP分类层的功能开发。为了缩小搜索空间,先前的EGP方法[25]采用了六种分类算法,即LR、k近邻(KNN)、支持向量机、RF、极随机树(ERF)和AdaBoost。然而,由于KNN是一种基于实例的方法,并且在训练数据较大时计算量较大,因此在IEGP中没有使用KNN函数。AdaBoost方法在图像分类方面的性能较差[25],因此它被从函数集中移除。因此,IEGP只使用四个分类函数。它们是LR、SVM、RF和ERF,包括线性分类法和基于树的分类法。注意,RF和ERF是集成方法,IEGP方法可以构建集成。

以往的EGP方法对分类函数的参数进行了修正,对不同任务的求解效率不高。因此,将LR、支持向量机、RF和ERF的关键参数作为IEGP的终端,使它们的值在进化过程中自动生成或优化。这些关键参数及其范围在第III-C节中介绍。

5) 组合函数:

以前的EGP方法[25]多次进行投票,计算量大。为了解决这个问题,IEGP开发了三个新的功能,以有效地组合分类器。函数是Comb3、Comb5和Comb7,它们以3、5和7类标签作为输入,并将这些标签连接起来形成输出。这些函数可以是GP树的根节点或内部节点,GP树表示组合分类器的不同方式,如图3所示。在图3的左示例(集成1)中,Comb3函数用作根节点。Comb3的输入分别是SVM的1、RF的1和LR的0。Comb3函数组合这些输入并返回110。在图3的右检查例(集成2)中,Comb3是内部节点,Comb5是根节点。来自SVM、RF、Comb3、ERF和LR节点的Comb3输出为012,Comb5输出为31001221。在从根节点获得输出之后,进行多个投票以产生实例/图像的预测类标签。如图3所示,集成1的最终输出(类标签)是1(来自110),集成2的最终输出(类标签)是1(来自3101221)。

C. New Terminal Set

终端集表示IEGP系统的输入。表二列出了IEGP的终端及其范围。X嫒train={Xi}Ni=1表示N个输入训练图像,Y嫒train={Yi}Ni=1表示N个图像的类标签。在Xútrain中,Xi表示尺寸为M×L的图像,其中图像中的像素值在[0,1]的范围内。在Yúu列中,Yi是表示类标签的整数。σ、o1、o2、θ、n1、n2、k1和k2终端是滤波和池层中特定功能的参数,它们的值分别在常用范围内[25]。


分类功能的重要参数被设计为IEGP的终端。参数为C、NT和MD,C端为整数,与分类函数LR和支持向量机的惩罚项/参数有关。C的范围被设置为[-2,5][43],从而得到{10-2,10-1,…]范围内的惩罚项/参数(10C)。,104,105}。根据文献[6],DTs的个数和最大树深是RF和ERF的两个重要参数。因此,它们被发展为终端NT和MD。NT的值在[50,500]的范围内(步长为10),MD的值在[10,100]的范围内(步长为10)。NT和MD的最大值根据[6]中的设置。为了降低计算成本,需要为RF和ERF找到更小的NT和MD。此外,为了避免IEGP的搜索空间过大,使用了10步。

D. Overall Algorithm

通过新的程序结构、新的功能集和新的终端集,IEGP可以自动学习用于图像分类的特征和集合。算法1描述了IEGP的总体算法。总体算法(包括训练和测试过程)的流程图如图4所示。

IEGP方法首先使用混合法(the ramped half-and-half method)随机初始化总体P0。P0中的每个个体都由适应度函数进行评价。在进化学习过程中(g代),利用精英、子树交叉和子树变异算子建立新的种群Pg,并对新的种群Pg进行评价。当g等于最大代数时,进化学习过程停止,并返回最佳个体(集成)作为输出。

在进化学习过程中,使用子树缓存方法来减少评估时间,因为已知GP对图像数据的计算代价很高[44]。缓存选项卡用于存储个人及其适应度值。在第0代中,Cache_表用适应值存储P0。在g代,Cache_表存储了上一代的最佳个体和g-1代的所有个体[44]。为了在g(g>1)处计算单个o,在Cache_表中进行搜索,以检查o之前是否计算过。如果o在Cache_表中,则fitness值直接分配给o,否则,使用fitness函数计算o。一般来说,任何个体都可以存储在Cache_Table中,但是应该考虑个体的搜索时间和评估时间之间的折衷。因此,在IEGP中,Cache_Table的大小被设置为5×Np(Np是总体大小),这与[25]中的相同。

1) 训练过程及适应度函数:在IEGP的训练过程中,将训练数据X~u训练和Y~u训练输入IEGP系统。因为每个IEGP树/个体中的分类函数都有一个训练过程。在IEGP的训练过程中,我们采用交叉验证(X_训练和Y_训练)来建立和评估分类器。对于进化的IEGP树中的每个分类函数,每次使用k-1组训练分类器,剩余的一个组用于测试分类器。记录一个组的预测类标签。此过程重复k次以获取X_列中每个实例的预测类标签。根据[6],k的值被设置为3。然后,来自不同节点的预测类标签(分类函数)被组合函数组合并由多个投票表决,以形成输出Y}u预测。

IEGP的适应度函数是分类精度,即正确分类的图像数占训练集中图像总数的百分比。在IEGP中,根据Y_预测和Y_训练计算分类精度。

2) 测试过程:测试过程是评估一个不可见数据集上的最佳IEGP树。在这一过程中,最优IEGP树中的分类算法使用转换后的X~u列和Y~u列进行训练,无需交叉验证(X~u列被IEGP树中的某些节点转换为特征)。然后将IEGP树作为训练分类器的集合应用于未观测数据X_检验,得到类标签。基于类标签,计算并报告测试集的精度。

IV. EXPERIMENT DESIGN

为了证明新方法的有效性,进行了大量的实验。本节介绍了实验的详细设计

A. Datasets

为了验证该方法的有效性,实验中使用了13个不同难度的著名基准数据集。这9个数据集与[25]中使用的数据集相同。在这9个数据集的基础上,采用4个新的训练和测试数据集进行实验。因此,在实验中,使用了13个数据集,分别是FEIñ1[45]、FEIñ2[45]、JAFFE[46]、ORL[47]、KTH(KTH-TIPS2)[48]、FS(13个自然场景类别)[49]、MB(mnist basic)[50]、MRD(mnist rot)[50]、MBR(mnist back rand)[50]、MBI(mnist back image)[50]、矩形[50]、RI(矩形图像)[50]和凸(凸集)[50]。这些数据集包括各种各样的图像分类任务,即面部表情分类:FEI-1、FEI-2和JAFFE;面部识别:ORL;纹理分类:KTH;场景分类:FS;对象分类:MB、MRD、MBR、MBI、矩形、RI和凸面。在目标分类任务中,包含不同的图像变化,如MBR和RI中的随机背景、MRD中的旋转和MBI中的附加图像背景。图像分类任务的多样性和图像的变化是选择这些基准数据集的两个主要考虑因素,可以用来综合研究该方法在不同类型的图像分类任务上的性能。

表三列出了13个数据集的详细信息。为了简化,所有的数据集都被编号。将数据集1-6的图像调整大小或转换为灰度图像,以降低计算成本。5–7显示了13个数据集的几个示例图像。数据集1-6按一定比例分割,形成训练集和测试集。根据数据集的大小设置比例,得到一个均衡的训练集。每类数据集1-6的训练图像数量如表3的括号所示。相比之下,数据集7-13是公共数据集,具有表3所列的独立训练和测试集,可直接用于实验。

Benchmark Methods

大量有效的算法被用作比较的基准方法,以证明IEGP的有效性。由于数据集7-13具有公共训练和测试集,因此文献中报告的测试精度可直接用于比较,而无需重新实施方法。我们从数据集7-13的相关参考资料中收集了这些结果。因此,数据集7-13上有19种比较方法,即SVM+RBF[50]、SVM+Poly[50]、SAE-3[35]、DAE-b-3[35]、CAE-2[35]、SPAE[51]、RBM-3[35]、ScatNet-2[32]、[33]、RANNET-2[33]、PCANet-2(softmax)[33]、LDANet-2[33]、NNet[50]、SAA-3[50]、FCCNN[34]、FCCNN(含BT)[34]、SPCN[31]、EGP[25]和EvoCNN[52]。需要注意的是,这些方法大多是基于神经网络的方法,并且在一些方法中进行了参数整定,以获得良好的分类性能。

对于数据集1-6,我们使用13种不同的基准方法进行比较。这13种基准方法包括传统的图像分类方法,其目的是全面研究IEGP是否能够学习信息特征并进化出有效的图像分类集合。这些基准方法是使用原始像素的六种分类算法,即SVM、KNN、LR、RF、AdaBoost和ERF,使用不同特征的四种SVM方法,即uLBP+SVM、LBP+SVM、HOG+SVM和SIFT+SVM,两种CNN,即CNN-5和CNN-8,以及之前的EGP方法[25]。支持向量机、KNN、LR、RF、AdaBoost和ERF方法以原始像素为输入,训练分类器进行分类。uLBP+SVM、LBP+SVM、HOG+SVM和SIFT+SVM方法分别使用uLBP、LBP、HOG和SIFT特征作为输入,并使用这些特征训练分类器。两种CNN方法有不同的体系结构,即5层(CNN-5)和8层(CNN-8)。关于这些方法的更多细节见[25]。

C. Parameter Settings

IEGP的参数设置是GP社区中常用的设置,与EGP[25],[53]的参数设置相同。种群规模为100,最大世代数为50代。精英率为0.01,交叉率为0.8,突变率为0.19。在进化学习过程中,使用规模为7的锦标赛选择来选择个体进行变异和交叉。树的深度在2到8之间。在IEGP中,类型约束的优先级高于深度约束,因此在某些情况下树的深度可能超过8。请注意,我们在不同的数据集上为IEGP使用相同的参数设置,尽管调整/优化参数可以提高其性能。

IEGP的实现是在Python中使用DEAP(Python中的分布式进化算法)[54]包。IEGP中分类算法和基准方法的实现基于scikit learn pack-age[55]和Keras package[56]。请注意,这些分类算法的其他参数(优化的参数除外)是scikit learn for simplification中的默认设置。[25]中描述了数据集1-6上基准方法的参数设置。IEGP在每个数据集上的实验独立运行了30次,并在测试集上测试了每次运行的最佳树

RESULTS AND DISCUSSION

本节讨论并分析了所提出的IEGP方法和包括EGP方法在内的基准方法在13个数据集上的分类性能。

A. Classification Accuracy on Datasets 1–6

分类结果,即最大精度(Max),平均精度,表四列出了用IEGP法和水准点法对6个数据集进行30次运行的标准差(平均值±标准偏差)。用5%显著性水平的Wilcoxon秩和检验将IEGP法与基准法进行比较,以显示差异的显著性。表4中的符号“+”、“-”和“=”表示IEGP明显优于、明显低于或类似于基准方法。每个表的最后一行汇总了显著性测试的总体结果。各数据集的最佳精度和平均精度在表四中用粗体突出显示。

表四显示,所提出的IEGP方法在面部表情分类任务feiu1和feiu2上的性能明显优于或类似于任何基准方法。IEGP在这两个数据集上找到了100%的最佳精度。虽然RF在FEIú1上的平均精度最高,EGP在FEIú2上的平均精度最高,但IEGP与EGP或RF在两个数据集上的性能没有显著差异,表明IEGP在两个二值分类数据集上的性能与最佳方法相似。

表4中对JAFFE和ORL数据集的分类结果表明,IEGP比JAFFE上的8种方法和ORL上的任何一种基准方法都取得了显著的效果。JAFFE是一个有七种表情的面部表情分类任务,在那里学习信息特征是困难的。IEGP可以比JAFFE上的大多数基准方法获得可比的性能。在ORL数据集上,IEGP明显优于任何基准方法。ORL是一个40类的人脸识别任务,训练图像数量很少,这对一些需要大量训练实例的方法来说是一个挑战,如CNN-5和CNN-8。IEGP在ORL上发现了100%的最佳准确率和98.29%的最佳平均准确率,表明IEGP在少量训练实例的数据集上的有效性。

表4中对KTH和FS数据集的分类结果表明,IEGP比包括EGP方法在内的任何一种基准方法都取得了显著的效果。KTH数据集具有纹理图像,FS数据集具有自然场景图像。支持向量机、KNN、LR、RF和AdaBoost方法对这两个数据集的分类精度都很低,说明用原始像素对这两个数据集进行分类是不有效的。然而,简单的特征提取并不能提高准确率,因为uLBP+SVM、LBP+SVM、HOG+SVM和SIFT+SVM方法的准确率也很低。IEGP具有自动学习特征和进化集成分类的特点,在KTH和FS两个数据集上分别取得了98.48%和92.45%的最大准确率。重要的是,IEGP在KTH和FS上的平均准确率分别提高了13.72%和28.56%。结果表明,IEGP在纹理分类和场景分类中都是非常有效的。

表五总结了在六个数据集上比较不同基准方法的显著性检验的总体结果。IEGP在33个比较(案例A)中取得了明显好于6个原始像素分类算法的效果,这表明IEGP可以学习信息特征以实现有效的图像分类。与使用uLBP、LBP、SIFT和HOG特征作为支持向量机输入的四种方法(在案例B中)相比,IEGP取得了明显的优于或相似的结果。结果表明,IEGP通过学习信息特征和进化集合进行分类,比四种方法更有效。与CNN-5和CNN-8(案例C)相比,IEGP仅在一次比较中获得显著的差结果,这表明IEGP比简单的CNN方法更有效。与CNN方法相比,IEGP的主要优点是演化解的长度和深度灵活。IEGP不需要预先定义模型/解决方案结构(复杂性),因为它能够在进化学习过程中找到合适的模型。IEGP的表现明显优于或类似于EGP(在案例D中)。与EGP方法相比,IEGP方法具有新的表示形式、新的函数集和新的终端集,可以学习更有效的特征,找到更适合的分类算法和合适的参数,形成分类集合

B. Classification Accuracy on Datasets 7–13


表六列出了数据集7-13的分类准确度百分比。在这些数据集上,采用19种方法进行比较,结果从相应的参考文献中收集。请注意,这19种方法中的某些方法在某些数据集上可能没有结果,例如RI、矩形和凸面。在表VI中,每列显示一个数据集上所有这些方法的结果。IEGP得到的结果列在表的底部。因为大多数基准测试方法只报告了这些数据集的最佳结果,所以我们使用最佳结果将IEGP与它们进行比较。在表六中,符号“+”表示IEGP比相应的基准方法获得更好的精度。表VI的最后两行总结了IEGP在所有这些基准方法中的排名结果。

表六显示,IEGP在矩形和凸形两个数据集上的分类结果比任何基准方法都好。在MB、MRD和RI数据集上,IEGP的最佳精度在所有方法中排名第二,这表明只有一种方法比IEGP在三种数据集中的任何一种获得更好的精度。在剩余的两个数据集上,即MBR和MBI,IEGP的最佳精度在所有方法中排名第三,这表明只有两个方法在这两个数据集上的精度优于IEGP。重要的是,IEGP在凸面上的精度提高了2.45%。IEGP在矩形数据集上达到了100%的精度,尽管它只比基准方法的最佳结果高出0.01%。请注意,这些基准测试方法已经在这些数据集上进行了广泛的探索,因此,即使精度提高1%,也很难实现。

在MB上,除了LDANet-2之外,IEGP方法比18个基准方法中的任何一个都获得更好(或相同)的结果。IEGP的最大准确度为98.82%,略低于LDANet-2的98.95%。虽然IEGP在MB上取得的结果比LDANet-2差,但在其他六个数据集上取得了更好的结果。MB的三个变体,即MRD、MBR和MBI,通过添加变化因子(包括旋转和背景变化)比MB更难实现。在MRD上,IEGP比除EvoCNN外的任何18种基准方法获得更好(或相同)的结果。在MBR和MBI上,IEGP优于18种基准方法中的任何一种,除了基于CNN的SPCN和EvoCNN方法。在这两个数据集上,SPCN比IEGP更有效,但在其他四个数据集上效果较差。特别是IEGP对MRD的准确率达到94.28%,远高于SPCN的90.19%。EvoCNN是一种最先进的基于CNN的方法,通过自动进化CNN的架构。与EvoCNN相比,IEGP在困难数据集MBR和MBI上的效果较差,而在MB、矩形和凸数据集上的效果较好(相同)。这表明IEGP作为一种纯GP方法在图像分类中是有效的和有前途的。在矩形数据集上,IEGP达到100%的精度。RI作为矩形的变体更为困难。除EvoCNN外,IEGP在RI上的所有方法中获得了最佳的准确性。但EvoCNN和IEGP在RI上的最佳结果差别很小,分别为94.97%(EvoCNN)和94.88%(IEGP)。在凸数据集上,IEGP得到了98.26%的最佳精度,比EvoCNN的精度高3%

与EGP相比,IEGP对大规模数据集的分类更为有效。在MB、矩形和凸三种数据集上,IEGP取得了比EGP更好的结果。重要的是,IEGP在凸面上的最大精度为98.26%,比EGP高4%。为了进一步比较EGP和IEGP,图8示出了EGP和IEGP在MB、矩形和凸面数据集上的训练精度和测试精度的分布。从这个图中可以清楚地看出,IEGP在三个数据集上的准确度和中位数都远高于EGP。这表明IEGP比EGP具有更好的性能。此外,IEGP得到的结果比EGP得到的结果更加聚类,说明IEGP比EGP更稳定。结果表明,IEGP通过新的图像表示和新的图像分类函数集,显著地改进了EGP方法。

FURTHER ANALYSIS


VI.进一步分析

本节通过IEGP分析进化树/解决方案,以进一步理解提取的特征以及在进化集成方法中构建的用于图像分类分类器。

A.示例解决方案可视化Visualization of Example Solutions

1)MRD上的示例解决方案:由于IEGP在MRD数据集上获得了最佳结果,因此最好的程序/解决方案是从MRD中选择进行分析和可视化。最佳解决方案如图9所示。该解决方案在MRD训练集上达到93.8%的准确度,在测试集上达到94.28%的准确度。注意,示例解决方案用于测试,以便将X_train节点替换为Images节点,并删除Y_train节点进行简化。从图9可以清楚地看到,示例解决方案是三个具有不同参数的ERF分类器的集合。左分类器和右分类器具有450DT,最大树深度为60,而中分类器具有450 DT,最大树深度为30。很明显,示例解决方案是一个集成的集成。

如图所示,很明显,三个分类器是使用不同的特征进行训练的。第一个分支使用的功能是128个SIFT特征和59个uLBP特征的组合。在使用SIFT和uLBP提取特征之前,将使用Sqrt函数或Gau函数(标准偏差为1)处理每个图像。第二分支使用经过相应转换(例如Sqrt,Max,Gau和MaxP)后从图像提取的256(128×2)个SIFT特征。第三分支使用128个SIFT特征和59个uLBP特征进行分类。在特征提取之前,使用Sqrt函数和Gau函数对图像进行缩放和平滑。SIFT和uLBP函数将处理后的图像转换为特征,然后将这些特征输入到分类函数中。通过这种分析,很明显,每个分支在进行相应的过滤或合并操作后都会从图像中提取各种数量和类型的特征,并使用这些特征构建不同的分类器。这表明示例解决方案中每个分类器的输入都是不同的,这增强了集合中分类器的多样性。

2)MBR上的示例解决方案:MBR数据集上的示例解决方案如图10所示。该解决方案在训练集上的准确度达到93.38%,在测试集上达到93.21%的准确度。与图9中的解决方案不同,其中集合中的分类器是通过相同的分类算法训练的,此示例解决方案是三个通过不同分类算法训练的分类器的集合。这表明IEGP可以演化出相同或不同分类器的集成,这对于解决不同任务非常灵活。在图10的集合中,第一个分类器是ERF,具有480个DT,最大树深度为90。第二个分类器是SVM,惩罚参数的值为10^-1。第三个分类器是LR,惩罚参数的值为10。从图10中可以看出,这三个分类器是在其子分支中使用不同特征提取函数提取的特征进行训练的。从该数据集中提取的特征是SIFT特征和HOG特征的组合。同时,在特征提取之前,采用了不同的过滤功能来处理图像。 因此,三个分类器的不同输入进一步增强了所构建集合的多样性。

B.对示例解决方案的进一步分析Further Analysis of Example Solutions

为了进一步分析图9和图10中的示例集合的性能,我们分别在MRD和MBR的测试集上计算示例集合中每个分类器的准确性。表VII列出了通过示例集成获得的结果(第二行)和每个分类器在9和10(第三至第五行)中圈出的分支中获得的结果。另外,我们使用原始像素作为输入来训练三种分类算法,这些算法用于构建图9和10中的示例集合。并使用简单多数投票建立训练好的分类器的新集成。VII的最后两行列出了通过该集成获得的结果。图9中的集合在MRD的测试集上达到94.28%的精度,图10中的集合在MBR的测试集上达到93.21%的精度,这比三个单一分类器或使用原始像素的集合中的任何一个都要好,如表VII所示。将示例与单个分类器进行比较,我们可以发现,使用投票功能将这三个分类器组合在一起可以提高分类的准确性。原因可能是IEGP在进化过程中自动选择分类函数以构建整体,从而导致分类器的良好组合。这表明IEGP可以找到比单个分类器更好的整体性能。比较图9和10中的示例集合和在表VII的最后两行列出了新的集成,很明显,特征提取对于改善分类性能是必要且重要的。使用原始像素构建的分类器集合在MRD上仅达到88.51%,在MBR上仅达到66.04%,远低于IEGP发现的集合。这表明IEGP所学习的功能比原始像素更具判别力,并且可以进一步提高集成的性能。这表明使用提议的IEGP方法学习有效功能的目标之一已成功实现。

总而言之,进一步的分析表明,IEGP发现的集成通过使用不同的特征来建立分类器以形成集成而具有很高的多样性。分析表明,IEGP可以找到使用相同或不同分类算法训练的分类器的集合。分析还表明,IEGP可以找到分类器的良好集合,以实现比单个分类器更高的泛化性能。 此外,与用于分类图像的原始像素相比,IEGP所学习的特征更具区分性。





conclusion:

本文的目标是开发一种新的基于GP的方法来自动学习有效的特征并进化集合用于图像分类。通过开发具有新的个体表示、新的函数集和新的终端集的IEGP方法,成功地实现了这个目标。通过新的多层表示,IEGP方法可以学习信息特征并进化出各种分类算法的集合。进化集成中的分类算法参数可以在进化过程中自动优化/调整。利用基于树的柔性表示方法,IEGP自动解决了信号群的多样性问题。此外,集合演化解具有灵活的长度或深度,适合于处理不同类型的图像分类任务。

对13个不同难度的图像分类数据集,包括人脸表情分类、人脸识别、场景分类、纹理分类和对象分类,测试了IEGP的性能。对比结果表明,IEGP比传统的使用预抽取特征或原始像素的方法更有效。在大规模数据集(即数据集7-13)中,IEGP比所有基准方法在两个数据集上取得了更好的结果,在三个数据集上排名第二,在其余两个数据集上排名第三。与以往的EGP方法相比,IEGP在小规模数据集上取得了更好或相似的结果,在大规模数据集上取得了更好的结果。通过对EGP和IEGP在训练和测试结果分布方面的比较,表明IEGP比EGP取得了更好、更稳定的结果。

本文展示了GP在图像分类中学习特征和进化集合的潜力。然而,在计算机视觉中,有许多任务,如视频分析和遥感图像分类。可以开发新的基于GP的方法来处理这些任务。

你可能感兴趣的:(2020-05-13 Genetic Programming With a New Representation to Automatically Learn Features and Evol...)