02.神经网络拓扑结构设计方法(2018.07.14)

        神经网络的结构一般为:输入层×隐藏层×输出层,其中输入层节点数等于输入数据的特征维度,输出层节点数等于分类类别数。当给定训练样本后,输入层和输出层节点数便已确定,因此神经网络拓扑结构设计的重点在于隐藏层的层数和节点数的确定。

        隐藏层层数的设计。理论证明单隐藏层的感知器即可拟合所有连续函数,仅当学习不连续函数时,才需要两个或多个隐藏层。因此设计隐藏层层数时,一般先考虑设计单隐藏层,当单个隐藏层节点数很多而网络的训练误差较大时,才考虑增加隐藏层层数。经验表明,采用两个隐藏层时,设计第一层隐藏层节点数多于第二层隐藏层节点数有利于改善网络的性能。

        隐藏层节点数的设计。隐藏层节点的作用是提取输入特征中的隐藏规律,每个节点都赋予一定权重。隐藏层节点数太少,则网络从样本中获取信息的能力就越差,无法反映数据集的规律;隐藏层节点数太多,则网络的拟合能力过强,可能拟合数据集中的噪声部分,导致模型泛化能力变差。确定最佳隐藏层节点数的常用方法是试凑法,即先设置较少的隐藏层节点数进行训练,然后在此基础上逐渐增加节点数,比较每次网络的预测性能,选取性能最好时对应的节点数作为最终值。确定试凑法初始值有以下常用经验公式:

                                                            

        其中m为隐藏层节点数;n为输入层节点数;l为输出层节点数;为1-10之间的常数[1]。且隐藏层节点数一般小于N-1,其中N为训练集样本数。

        除此之外,也可以通过遗传算法[2]、混合Taguchi遗传算法(HTGA)[3]、混合粒子群优化算法(PSO)[4]等智能优化算法来自动确定隐藏层层数和节点数。

Reference

[1] Basheer, I. A., & Hajmeer, M. (2000). Artificial neural networks: fundamentals, computing, design, and application. Journal of Microbiological Methods, 43(1), 3-31.

[2] Lam, H. K., Ling, S. H., Leung, F. H., & Tam, P. K. S. (2001). Tuning of the structure and parameters of neural network using an improved genetic algorithm. In Industrial Electronics Society, 2001. IECON'01. The 27th Annual Conference of the IEEE (Vol. 1, pp. 25-30). IEEE.

[3] Tsai, J. T., Chou, J. H., & Liu, T. K. (2006). Tuning the structure and parameters of a neural network by using hybrid Taguchi-genetic algorithm. IEEE Transactions on Neural Networks, 17(1), 69-80.

[4] Zhang, J. R., Zhang, J., Lok, T. M., & Lyu, M. R. (2007). A hybrid particle swarm optimization–back-propagation algorithm for feedforward neural network training. Applied mathematics and computation, 185(2), 1026-1037.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值