留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

深层感知器结构设计的逐层主成分分析方法

李玉鑑 杨红丽 刘兆英

李玉鑑, 杨红丽, 刘兆英. 深层感知器结构设计的逐层主成分分析方法[J]. 机械工程学报, 2017, 43(2): 230-236. doi: 10.11936/bjutxb2016040024
引用本文: 李玉鑑, 杨红丽, 刘兆英. 深层感知器结构设计的逐层主成分分析方法[J]. 机械工程学报, 2017, 43(2): 230-236. doi: 10.11936/bjutxb2016040024
LI Yujian, YANG Hongli, LIU Zhaoying. Deep Perception Structure Design Via Layer-wise Principal Component Analysis[J]. JOURNAL OF MECHANICAL ENGINEERING, 2017, 43(2): 230-236. doi: 10.11936/bjutxb2016040024
Citation: LI Yujian, YANG Hongli, LIU Zhaoying. Deep Perception Structure Design Via Layer-wise Principal Component Analysis[J]. JOURNAL OF MECHANICAL ENGINEERING, 2017, 43(2): 230-236. doi: 10.11936/bjutxb2016040024

深层感知器结构设计的逐层主成分分析方法

doi: 10.11936/bjutxb2016040024
基金项目: 国家自然科学基金资助项目(61175004);高等学校博士学科点专项科研资助项目(20121103110029);中国博士后科学基金资助项目(2015M580952)
详细信息
    作者简介:

    作者简介: 李玉鑑(1968—), 男, 教授, 主要从事模式识别、图像处理、机器学习、数据挖掘方面的研究, E-mail:liyujian@bjut.edu.cn

  • 中图分类号: TP391

Deep Perception Structure Design Via Layer-wise Principal Component Analysis

  • 摘要: 为了解决深层感知器的结构设计问题,提出了一种逐层主成分分析方法. 该方法根据训练数据集的分布特点,在适当控制信息损失的条件下,可以有效地确定每层神经元的个数. 首先,依据样本维数和标签类数分别确定输入层和输出层神经元的个数;然后,对训练样本集进行主成分分析,利用降维后的维数确定第2层神经元的个数;最后,在确定其他层神经元的个数时,将上一次降维后的样本经过非线性激活函数作用,再进行主成分分析,得到降维后的样本维数即为该层神经元的个数. 在MNIST手写字数据集上的实验结果表明:该方法有助于简化深层感知器的结构,在减少参数个数、缩短收敛时间和降低训练难度等方面均具有优越性.

     

  • 自2006年Hinton等[1-2]提出深度学习的概念之后,深层神经网络开始逐步成为机器学习领域一个新的重要研究方向. 深层神经网络是一种多层非线性结构,具有强大的特征表达能力和对复杂函数的建模能力,已经在许多重要领域,例如图像处理、语音处理和自然语言处理等方面[3-9],均取得振奋人心的进展,获得众多学者的高度关注和认可.

    深层感知器是相对支持向量机(support vector machine,SVM )[10-11]、提升方法(boosting)[12]、最大熵方法[13]等浅层结构而言的,主要指隐含层个数大于1的多层感知器,是一种非常重要的前向神经网络[14-17]. 用神经网络对同样的数据进行建模,在神经元总数大致相同时,深层结构比浅层结构往往能产生更准确、紧凑的模型. 理论研究表明,某些函数在用K层网络模型表达时,结构相对简单,但用K-1层模型表达时,需要的计算单元会指数级增加[18]. 深层感知器可以更好地对数据特征进行层级表达,是目前最接近人脑的智能学习方法. 传统的多层感知器在应用时通常只采用一个隐含层,是因为当隐含层数增加时,随机初始化很容易导致梯度消失或梯度“爆炸”现象的出现[19],从而使网络的训练很难收敛. Hinton等提出深度学习的方法,采用受限玻尔兹曼机进行预训练,可以有效地初始化各层的权值和偏置,从而大大加快网络的训练速度,同时可以取得很好的训练效果. 然而,他们并没有给出一种有效设计深层感知器结构的方法.

    深层感知器的结构对其成功应用具有重要意义. 这里的结构主要指神经网络的层数和每层神经元的个数. 由于网络的输入层和输出层神经元个数一般容易通过训练样本的维数和实际问题的性质来确定,因此设计深层感知器结构的关键问题是确定网络的层数和每个隐含层神经元的个数. 合理的深层感知器结构,一方面包含的神经元总个数要相对较少,另一方面又要能够充分逼近表达数据的内在模型. 总体规模相对较小的网络,包含的参数个数也相对较少,通常只需要较少的训练数据和迭代次数就能获得比较准确的估值,既有助于防止过拟合现象的出现,又易于产生较强的泛化能力.

    深层感知器的结构一般需要人工确定. 由于缺乏经验确定的结构,一方面,可能有较大的冗余,导致隐含层个数过多或每层神经元个数过大,超过数据内在模型所需的自由度. 这样的结构无形中增加了不必要的训练参数,增大了网络的训练难度,而且在数据量不足的时候容易造成过拟合现象[20-22]. 即使训练样本足够多,由于较大的网络结构参数较多,网络的训练也相对困难,收敛速度较慢. 另一方面,该结构可能太小,不足以表达数据的内在模型,导致训练误差很难下降,以致网络无法产生良好的泛化能力.

    因此,根据训练数据自适应地设计深层感知器的结构,是一件非常必要的工作. 对深层感知器来说,传统的结构设计方法大致分为两大类[20,23-24],分别是剪枝法和增长法. 剪枝法的思想是先构建一个结构冗余的网络并训练,然后按照一定的规则去除某些认为无用的神经元及其连接权值,再继续训练并不断重复这个过程直至达到网络的最优结构. 剪枝法被认为是优化网络结构的有效方法,常用的剪枝法又可以分为灵敏度法[25-27]、惩罚项法[28-29]、交互作用算法[30-31]、遗传算法[32]以及其他的一些改进算法[33-35]. 与剪枝法的过程正好相反,增长法[36]从一个简单的网络开始训练,并不断增加神经元的个数和连接权值直到网络取得良好的推广能力. 常用的增长法分为Upstart算法[37]、Cascade Correlation法[38]以及其他增长法等[39-41]. 但是这2类方法都存在很大的缺点,不能完全满足网络结构设计的要求[20,42]. 首先,剪枝法预先设定较大的结构,给网络的初始训练带来很大困难,需要耗费大量的计算时间;其次,增长法从一个非常简单的网络开始训练,初始阶段网络节点个数非常少,不足以表达数据的内在模型,训练误差很难下降;再者,不管是剪枝法还是增长法,都很难确定何时终止才能找到合理的网络结构. 这2种方法在本质上都是通过不断改变神经元个数和连接权值调整网络的结构,并不是一种直接而快速的方法. 在设计思想上,相比于人工依靠经验调整的方法并没有太大的改进.

    综上所述,目前对于如何确定深层感知器结构的问题还没有得到很好解决. 针对现有网络结构设计方法的缺陷和不足,本文提出了一种利用逐层主成分分析确定深层感知器结构的方法. 该方法可以根据训练数据集的分布特点,在适当控制信息损失的条件下逐层进行主成分分析,自适应地确定每个隐含层神经元的个数,从而有效避免了人工设定隐含层神经元个数的盲目性. 此外,逐层主成分分析方法产生的网络结构具有神经元个数逐层递减的特点,有助于避免维数“爆炸”的问题,同时提高网络的训练速度,促进深层感知器的推广应用.

    主成分分析(principal component analysis,PCA)是一种无监督的数据降维方法[43-44],其核心思想是在给定信息损失的条件下,通过线性组合的方式将高维数据投影到较低维空间,在压缩原始数据维数的同时保留原始数据最主要的特征. 主成分分析方法在图像处理、语音处理、自然语言处理中有着广泛的应用[44]. 例如,在人脸识别中,可以利用主成分分析方法有效降低人脸图像的信息冗余度,在信息损失很小的条件下获得人脸图像的低维表示[45].

    主成分分析方法的具体计算过程如下:

    1) 输入d维样本集X={X1,X2,…,XN}.

    2) 计算样本均值 X ¯ =1/N n = 1 N Xn.

    3) 计算样本集X的协方差矩阵

    S= 1 N n = 1 N (Xn- X ¯ ) ( X n - X ¯ ) T , 1≤nN

    4) 计算协方差矩阵S从大到小排序的特征根λ1,λ2,…,λd及相应的特征向量ξ1,ξ2,…,ξd.

    5) 设定阈值μ>0,选取最小的m值,使得前m个最大特征根满足累计贡献率δm= i = 1 m λ i i = 1 d λ i μ.

    6) 利用前m个最大特征根对应的单位化特征向量ξ1,ξ2,…,ξm生成投影矩阵

    M= ( ξ 1 , ξ 2 , , ξ m ) T ,M∈Rm×d

    7) 对样本集X进行投影得到降维后的样本集

    X*=MX

    在实际应用时,通常主成分分析方法累计贡献率的阈值μ≥80%,以确保降维后的数据能够保留原始数据中的绝大部分信息. 为了方便起见,本文定义主成分分析函数PCA(X,μ)=X*,用于下文简化算法的描述.

    本文利用主成分分析的思想,提出了一种设计深层感知器结构的有效方法,称为逐层主成分分析方法. 下面将详细描述深层感知器的数学模型和逐层主成分分析方法确定深层感知器结构的具体过程.

    深层感知器是一种具有多层非线性结构的神经网络模型,包括1个输入层、多个隐含层和1个输出层,其中相邻层神经元之间进行全连接. 深层感知器的结构如图1所示.

    图  1  深层感知器结构图
    Figure  1.  Deep perception structure

    图1中,n代表网络的层数,L1是输入层,L2~Ln-1是隐含层,Ln是输出层. Nl代表第l层神经元的个数. 神经元的激活函数f(·)为sigm函数. w ij ( l ) 代表第(l-1)层第j个神经单元与第l层第i个神经单元的连接权值, b i ( l ) 是第l层第i个神经单元的偏置. o i ( l ) 表示第l层第i个单元的输出值, O i ( l ) 表示第l层第i个神经元的输入. 如果输入用x1,x2,…,xn表示,则深层感知器的详细计算过程为

    o i 1 = x i , l = 1 O i ( l ) = j = 1 N l w ji ( l ) o j ( l - 1 ) + b i ( l ) , 2 l n o i ( l ) = f ( O i ( l ) )

    在给定训练样本集、网络层数和累计贡献率的阈值时,确定深层感知器结构的过程如下:首先输入层和输出层神经元的个数分别由训练样本的维数和标签类的个数确定;然后,对样本集进行主成分分析,第2层神经元的个数就是降维后样本集的维数;最后,在确定其他层神经元的个数时,将上一次降维后的样本集经过非线性激活函数作用,再进行主成分分析,得到降维后的样本集的维数即为该层神经元的个数,从而确定深层感知器的结构.

    算法1逐层主成分分析(layer-wise PCA,LPCA)详细描述了在网络层数确定时设计深层感知器结构的过程. 为了方便算法表示,设d维样本集X={X1,X2,…,XN},X∈Rd×N,C表示样本集的类别标签个数,函数getDim(·)用于获取样本的维数.

    算法1 LPCA

    输入 训练集X={X1,X2,…,XN},n,C,μ

    输出 网络结构net={N1,N2,…,Nn}

    1) 确定输入层神经元的个数N1,N1=d

    2) 确定第2层神经元的个数N2

    X 1 * =PCA(X,μ),N2=getDim( X 1 * )

    3) 确定第3层到第(n-1)层神经元的个数

    N3,N4,…,Nn-1

    For i=3,4,…,n-1

    X i - 1 * =PCA(f( X i - 2 * ),μ)

    Ni=getDim( X i - 1 * )

    End For

    4) 确定输出层神经元个数 Nn=C

    5) 输出深层感知器结构 net={N1,N2,…,Nn}

    如果事先不能准确确定深层感知器的网络层数,还可以人为设定网络最大层数n(一般n≤10),然后使用增长式逐层主成分分析(growing LPCA,GLPCA)自动确定网络层数和结构. 增长式逐层主成分分析是算法1的扩展,其详细描述见算法2,其中net=LPCA(X,n,C,μ)表示通过调用算法1得到的网络结构.

    算法2 GLPCA

    输入 训练集X={X1,X2,…,XN},n,C,μ

    输出 net={N1,N2,…,Nn},参数及结果

    1) 设定网络最大层数n

    2)For i=3,4,…,n

    neti=LPCA(X,i,C,μ)

    充分训练网络neti,保存参数及结果

    End For

    3)输出结果最优的网络结构及参数

    本文使用的实验数据集是MNIST手写数字[46],该数据集主要由Google实验室的Cortes和纽约大学柯朗研究所的Lécun等所建,在深层神经网络的性能评测中有广泛应用. 其中训练数据集包含60000个手写数字,测试数据集包含10000个手写数字,每个手写数字的维数为28×28=784. MNIST手写数字共分为10类,分别是数字0~9.

    本文的实验平台是一台联想微机,处理器为Intel(R) Core(TM) i5-4590,内存为8G,操作系统为64位Windows,编程环境为MATLAB 2015b. 实验内容包括2部分,第1部分是通过逐层主成分分析确定深层感知器的结构并和Hinton等的实验进行对比;第2部分是通过增长式逐层主成分分析确定网络层数和结构.

    4.2.1 LPCA结构设计实验

    为了说明逐层主成分分析的有效性和优越性,本文利用该方法分别设计了5层和6层感知器结构784-388-352-325-105和784-388-352-325-302-10,与Hinton等[1,47]设计的5层感知器结构784-500-500-2000-10进行了对比. 实验时首先设定阈值μ=99.5%,网络层数n=5、6,根据逐层主成分分析在MNIST手写数据集上确定相应层数的深层感知器结构;然后利用受限玻尔兹曼机(restricted Boltzmann machine, RBM)对网络各层的权值和偏置进行预训练,再将训练好的权值和偏置作为深层感知机的初始训练参数;最后用共轭梯度算法对网络进行微调训练. 其中Hinton等的实验采用完全相同的预训练和微调方法对MNIST手写数字进行训练和测试,相关数据和结果如表1所示.

    表  1  对比实验数据和结果
    Table  1.  Data and results of comparison experiments
    实验 Hinton实验 逐层主成分分析实验
    网络层数 5 5 6
    网络结构 784-500-500-2000-10 784-388-352-325-10 784-388-352-325-302-10
    神经元总个数 3794 1859 2161
    参数个数 1.67×106 5.59×105 6.58×105
    收敛时间/h(相同机器训练) 10.218 2.121 2.300
    测试集错误率/% 1.20、1.14 1.15 1.09
    ①在文献[1]中,Hiton实验的测试集错误率达到1.20%;②在文献[45]中,微调时通过对整个网络使用共轭梯度下降算法使错误率达到1.14%.
    下载: 导出CSV 
    | 显示表格

    表1可以看出,与Hinton实验相比,通过逐层主成分分析确定5层深层感知器结构所需的神经元总个数减少1935,训练参数减少了1个数量级,收敛时间缩短了将近8h,节约了80%的时间,同时获得了近似的错误率. 实验数据表明在网络层数相同时,该方法设计的网络结构在减少神经元个数、参数个数和收敛时间等方面均具有明显优势,同时可以大致保持相同的错误率. 值得一提的是,通过逐层主成分分析确定的6层感知器结构784-388-352-325-302-10,虽然网络的层数比Hinton实验的网络层数增加1层,但是神经元总个数和参数个数都有所减少,而且网络收敛只需2.300h,测试错误率便降至1.09%,进一步验证了该方法的优越性.

    4.2.2 GLPCA结构设计实验

    当网络层数未知时,可以利用GLPCA设计深层感知器的结构. 因为MNIST数据集相对简单,所以在实验中预设网络最大层数n=8,其中网络的训练方法如实验4.2.1. 所得实验相关数据及结果如表2所示. 随着迭代次数的增加,表2中不同层数的深层感知器对训练集和测试集识别的错误率变化曲线如图2所示.

    表  2  实验相关数据及结果
    Table  2.  Experiment data and results
    网络层数 深层感知器结构 训练错误率达到0 训练网络收敛 测试错误率/%
    迭代次数 时间/h 迭代次数 时间/h 网络收敛 迭代过程中最低
    3 784-388-10 32 0.497 129 2.514 1.58 1.51
    4 784-388-352-10 39 0.538 105 2.132 1.39 1.29
    5 784-388-352-325-10 28 0.463 63 2.121 1.15 1.11
    6 784-388-352-325-302-10 27 0.724 54 2.300 1.09 1.06
    7 784-388-352-325-302-282-10 28 1.074 48 2.415 1.15 1.14
    8 784-388-352-325-302-282-264-10 25 2.303 48 4.834 1.19 1.15
    下载: 导出CSV 
    | 显示表格
    图  2  GLPCA确定的不同层数网络结构及相应的训练和测试错误率
    Figure  2.  Training and test error of networks with various structures designed by GLPCA

    表2图2中可以看出,利用GLPCA设计的不同层数的深层感知器结构,随着网络层数的增加,网络收敛所需要的迭代次数依次减少,随着网络参数增多收敛时间有上升趋势. 训练过程大概需要25~39次迭代,花费0.463~2.303h就可以将训练错误率降为0;网络收敛大致需要48~129次迭代,耗时2.121~4.834h,测试错误率就可以达到1.09%~1.58%,而迭代过程中出现的最低错误率为1.06%~1.51%. 仔细分析实验结果发现,当网络层数为3、4层时分别需要129和105次迭代,消耗2.514和2.132h才能收敛,测试错误率分别为1.58%和1.39%;当网络层数为5~7层时,只需要迭代48~63次,耗时在2h左右,网络就可以收敛并将错误率降至1.09%~1.15%,而且迭代中最低错误率达到1.06%,可以看出5~7层的网络在迭代次数、收敛时间和错误率方面都优于3、4层的网络. 当网络层数增加至8层时,网络收敛所需的时间大幅度增加,这意味着如果网络层数较深,网络的训练难度可能突然提高,但仍然可以收敛并保持良好的效果. 总体上,这些不同结构的深层感知器,对MNIST数据集都可以达到较好的识别效果,其中最优的结构为一个6层网络784-388-352-325-302-10,测试错误率在收敛时可以降至1.09%. 因此,利用GLPCA算法有助于根据数据集的特点自适应地确定良好的深层感知器结构.

    1) 本论文针对深层感知器的结构设计问题,提出了逐层主成分分析方法,该方法可以快速有效地确定各层神经元的个数.

    2) 在MNIST手写数字集上,使用本文方法可以在保持错误率的同时简化网络结构.

    3) 实验结果表明,与传统方法相比,该方法有助于避免深层感知器结构设计的随机性、盲目性和不稳定性,能够大大减少训练参数,缩短收敛时间,降低训练难度,并取得令人满意的预期效果,从而为深层感知器的结构设计和具体应用提供一种重要的参考思路.

    The authors have declared that no competing interests exist.
  • 图  深层感知器结构图

    Figure  1.  Deep perception structure

    图  GLPCA确定的不同层数网络结构及相应的训练和测试错误率

    Figure  2.  Training and test error of networks with various structures designed by GLPCA

    表  1  对比实验数据和结果

    Table  1.   Data and results of comparison experiments

    实验 Hinton实验 逐层主成分分析实验
    网络层数 5 5 6
    网络结构 784-500-500-2000-10 784-388-352-325-10 784-388-352-325-302-10
    神经元总个数 3794 1859 2161
    参数个数 1.67×106 5.59×105 6.58×105
    收敛时间/h(相同机器训练) 10.218 2.121 2.300
    测试集错误率/% 1.20、1.14 1.15 1.09
    ①在文献[1]中,Hiton实验的测试集错误率达到1.20%;②在文献[45]中,微调时通过对整个网络使用共轭梯度下降算法使错误率达到1.14%.
    下载: 导出CSV

    表  2  实验相关数据及结果

    Table  2.   Experiment data and results

    网络层数 深层感知器结构 训练错误率达到0 训练网络收敛 测试错误率/%
    迭代次数 时间/h 迭代次数 时间/h 网络收敛 迭代过程中最低
    3 784-388-10 32 0.497 129 2.514 1.58 1.51
    4 784-388-352-10 39 0.538 105 2.132 1.39 1.29
    5 784-388-352-325-10 28 0.463 63 2.121 1.15 1.11
    6 784-388-352-325-302-10 27 0.724 54 2.300 1.09 1.06
    7 784-388-352-325-302-282-10 28 1.074 48 2.415 1.15 1.14
    8 784-388-352-325-302-282-264-10 25 2.303 48 4.834 1.19 1.15
    下载: 导出CSV
  • [1] HINTON G E, SALAKHUTDINOV R R.Reducing the dimensionality of data with neural networks[J]. Science, 2006, 313(5786): 504-507.
    [2] HINTON G E, OSINDERO S, TEH Y W.A fast learning algorithm for deep belief nets[J]. Neural Computation, 2006, 18(7): 1527-54.
    [3] KRIZHEVSKY A, SUTSKEVER I, HINTON G E.Imagenet classification with deep convolutional neural networks[J]. Advances in Neural Information Processing Systems, 2012, 25(2): 2012.
    [4] FARABET C, COUPRIE C, NAJMAN L, et al.Learning hierarchical features for scene labeling[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2013, 35(8): 1915-29.
    [5] HINTON G E, LI D, DONG Y, et al.Deep neural networks for acoustic modeling in speech recognition[J]. IEEE Signal Processing Magazine, 2012, 29(6): 82-97.
    [6] COLLOBERT R, WESTON J, BOTTOU L, et al.Natural language processing (almost) from scratch[J]. Journal of Machine Learning Research, 2011, 12(1): 2493-2537.
    [7] MIKOLOV T, DEORAS A, POVEY D, et al.Strategies for training large scale neural network language models[C]//2011 IEEE Workshop on Automatic Speech Recognition and Understanding (ASRU). Washington D C: IEEE, 2011: 196-201.
    [8] MAIRESSE F, YOUNG S.Stochastic language generation in dialogue using factored language models[J]. Computational Linguistics, 2014, 40(4): 763-799.
    [9] SARIKAYA K, HINTON G E, DEORAS A.Application of deep belief networks for natural language understanding[J]. IEEE/ACM Transactions on Audio Speech & Language Processing, 2014, 22(4): 778-784.
    [10] NOBLE W S.What is a support vector machine?[J]. Nature Biotechnology, 2006, 24(12): 1565-1567.
    [11] CHAPELLE O.Training a support vector machine in the primal[J]. Neural Computation, 2007, 19(5): 1155-78.
    [12] SCHAPIRE R E.A brief introduction to boosting[J]. Ijcai, 2010, 14(2): 377-380.
    [13] PHILLIPS S J, ANDERSON R P, SCHAPIRE R E.Maximum entropy modeling of species geographic distributions[J]. Ecological Modelling, 2006, 190(3): 231-259.
    [14] KUSAKUNNIRAN W, WU Q, ZHANG J, et al.Cross-view and multi-view gait recognitions based on view transformation model using multi-layer perceptron[J]. Pattern Recognition Letters, 2012, 33(7): 882-889.
    [15] SUN K, HUANG S H, WONG S H, et al.Design and application of a variable selection method for multilayer perceptron neural network with LASSO[J]. IEEE Transactions on Neural Networks and Learning Systems, 2016, 99: 1-11.
    [16] HINTON G E.Learning multiple layers of representation[J]. Trends in Cognitive Sciences, 2007, 11(11): 428-34.
    [17] SCHÖLKOPF B, PLATT J, HOFMANN T. Greedy layer-wise training of deep networks[J]. Advances in Neural Information Processing Systems, 2007, 19: 153-160.
    [18] HÅSTAD J, GOLDMANN M. On the power of small-depth threshold circuits[J]. Computational Complexity, 1990, 1(2): 610-618
    [19] KOLEN J, KREMER S.Gradiant flow in recurrent nets: the difficulty of learning long-term dependencies[J]. 2003, 28(2): 237-243.
    [20] GEORGE B, MICHAEL G.Feed-forward neural networks: Why network size is so important[J]. IEEE Potentials, 1994, 13(4): 27-31.
    [21] REED R.Pruning algorithms-a survey[J]. IEEE Transactions on Neural Networks, 1993, 4(5): 740-747.
    [22] YANG Z J, SHI Z K.Architecture optimization for neural networks[J]. Computer Engineering and Applications, 2004, 40(25): 52-54.(in Chinese)
    [23] COSTA MABRAGA APDE MENEZES B R. Constructive and pruning methods for neural network designVII Brazilian Symposium on Neural Networks, 2002. Washington D C: IEEE20024954

    COSTA M A, BRAGA A P, DE MENEZES B R. Constructive and pruning methods for neural network design[C]//VII Brazilian Symposium on Neural Networks, 2002. Washington D C: IEEE, 2002: 49-54.

    [24] STATHAKIS D.How many hidden layers and nodes?[J]. International Journal of Remote Sensing, 2009, 30(8): 2133-2147.
    [25] MOZER M C, SMOLENSKY P.Skeletonization: a technique for trimming the fat from a network via relevance assessment[C]//Neural Information Processing Systems 1. San Francisco: Morgan Kaufmann Publishers Inc, 1989: 107-115.
    [26] CUN Y L, DENKER J S, SOLLA S A.Optimal brain damage[C]//Advances in neural information processing systems 2. San Francisco: Morgan Kaufmann Publishers Inc, 1990: 598-605.
    [27] MRAZOVA I, REITERMANOVA Z.A new sensitivity-based pruning technique for feed-forward neural networks that improves generalization[C]//International Joint Conference on Neural Networks. Washington D C: IEEE, 2011: 2143-2150.
    [28] HINAMOTO T, HAMANAKA T, MAEKAWA S, et al.Generalizing smoothness constraints from discrete samples[J]. Neural Computation, 2008, 2(2): 188-197.
    [29] HUBERMAN B B, WEIGEND A, RUMELHART D.Back-propagation, weight-elimination and time series prediction[C]//Proc of 1990 Connectionist Models Summer School. San Francisco: Morgan Kaufmann Publishers Inc, 1990: 105-116.
    [30] SIETSMA J, DOW R J F. Creating artificial neural networks that generalize[J]. Neural Networks, 1991, 4(1): 67-79.
    [31] SIETSMA J, DOW R J F. Neural net pruning-why and how[C]//IEEE International Conference on Neural Networks, 1988. Washington D C: IEEE, 1988: 325-333.
    [32] LEUNG F F, LAM H K, LING S H, et al.Tuning of the structure and parameters of a neural network using an improved genetic algorithm[J]. IEEE Transactions on Neural Networks, 2003, 14(1): 79-88.
    [33] YEUNG D S, ZENG X Q.Hidden neuron pruning for multilayer perceptrons using a sensitivity measure[C]//International Conference on Machine Learning and Cybernetics, 2002. Washington D C: IEEE, 2002: 1751-1757.
    [34] FNAIECH F, FNAIECH N, NAJIM M.A new feedforward neural network hidden layer neuron pruning algorithm[C]//IEEE International Conference on Acoustics. Washington D C: IEEE, 2001: 1277-1280.
    [35] PUKRITTAYAKAMEE A, HAGAN M, RAFF L, et al.A network pruning algorithm for combined function and derivative approximation[C]//IEEE-INNS-ENNS International Joint Conference on Neural Networks Neural Networks. Washington D C: IEEE, 2009: 2553-2560.
    [36] SHARMA S K, CHANDRA P.Constructive neural networks: a review[J]. International Journal of Engineering Science & Technology, 2010, 2(12): 7847-7855.
    [37] FREAN M.The upstart algorithm: a method for constructing and training feedforward neural networks[J]. Neural Computation, 2008, 2(2): 198-209.
    [38] FAHLMAN S E, LEBIERE C.The cascade-correlation learning architecture[J]. Advances in Neural Information Processing Systems, 1997, 2(6): 524-532.
    [39] TSOI A C, HAGENBUCHNER M, MICHELI A.Building MLP networks by construction[C]//IEEE-INNS-ENNS International Joint Conference on Neural Networks. Washington D C: IEEE, 2000: 4549-4549.
    [40] ISLAM M M, SATTAR M A, AMIN M F, et al.A new adaptive merging and growing algorithm for designing artificial neural networks[J]. IEEE Transactions on Systems Man & Cybernetics Part B Cybernetics, 2009, 39(3): 705-722.
    [41] SRIDHAR S S, PONNAVAIKKO M.Improved adaptive learning algorithm for constructive neural networks[J]. International Journal of Computer and Electrical Engineering, 2011, 3(1): 30-36.
    [42] FAN J N, WANG Z L, QIAN F.Reseacrh progress structural design of hidden layer in BP artificial neural networks[J].(in Chinese)
    [43] ABDI H, WILLIAMS L J.Principal component analysis[J]. Wiley Interdisciplinary Reviews Computational Statistics, 2010, 2(4): 433-459.
    [44] SHLENS J.A tutorial on principal component analysis[J]. Eprint Arxiv, 2014, 58(3): 219-226.
    [45] YANG J, ZHANG D, FRANGI A F, et al.Two-dimensional PCA: a new approach to appearance-based face representation and recognition[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2004, 26(1): 131-7.
    [46] LÉCUN Y, CORTES C, BURGES C J C. The MNIST database of handwritten digits[EB/OL].[2016-06-10]. http://yann.lecun.com/exdb/mnist. http://yann.lecun.com/exdb/mnist
    [47] HINTON G E, SALAKHUTDINOV R R.Supporting online material for reducing the dimensionality of data with neural networks[J].Science, 2006(28): 313-504.
  • 加载中
图(2) / 表(2)
计量
  • 文章访问数:  172
  • HTML全文浏览量:  40
  • PDF下载量:  0
  • 被引次数: 0
出版历程
  • 收稿日期:  2016-04-08
  • 网络出版日期:  2022-09-13
  • 刊出日期:  2017-02-01

目录

/

返回文章
返回