43个神经网络--个人总结

//由于大论文需要,将学习神经网络知识,总结。

神经网络学习

1.1、BP神经网络

  • 归一化方法
    最大最小法
    在这里插入图片描述
    平均数方差法
    在这里插入图片描述

  • 隐藏节点数
    最佳隐含层节点数选择可参考如下公式 :
    l<n-1;
    在这里插入图片描述
    式中,n 为输入层节点数以为隐含层节点数; m 为输出层节点数; a 为 0~ 10 之间的常数。在实际问题中,隐含层节点数的选择首先是参考公式来确定节点数的大概范围,然后用试凑法确定最佳的节点数。

  • 训练过程中权值和阀值调整
    附加动量方法
    在这里插入图片描述

  • 学习率修改方法
    概念:BP 神经网络学习率平的取值在〔0,1 ] 之间,学习率?越大,对权值的修改越大,网络学习速度越快。但过大的学习速率 q 将使权值学习过程产生震苦奋,过小的学习概率使网络收敛过慢,权值难以趋于稳定。变学习率方法是指学习概率守在 BP 神经网络进化初期较大,网络收敛迅速,随着学习过程的进行,学习率不断减小 , 网络趋于稳定.变学习率计算公式为在这里插入图片描述
    式中 ,市max 为最大学习率;min为最小学习率 ; t.max为最大选代次数;t 为当前迭代次数 。

1.2、BP神经网络的非线性系统建模

  • BP神经网络工具箱
    所述为MATLAB库,提供神经网络函数

此章节,通过设置BP网络,拟合非线性函数,y=x12+x22
设置输入,2个节点,隐藏5个,输出1个。

  • 多隐层和单隐层
    BP 神经网络由输入层、隐含层和输出层组成,隐含层根据层数又可以分为单隐含层和多隐含层。多隐含层由多个单隐含层组成,同单隐含层相比,多隐含层泛化能力强、预测精度高 ,但是训练时间较长。隐含层层数的选择要从网络精度和训练时间上综合考虑,对于较简单的映射关系,在网络精度达到要求的情况下,可以选择单隐含层,以求加快速度;对于复杂的映射关系,则可以选择多隐含层 ,以期提高网络的预测精度

  • 隐含层节点数
    BP 神 经网络构建时应注意隐含层节点数的选择,如果隐含层含节点数太少, BP 神经 网络不能建立复杂的映射关系,网络预测误差较大 。 但是如果节点数过多,网络学习时间增加,并且可能出现“过拟合”现象,就是训练样本预测准确,但是其他样本预测误差较大 。

  • 训练数据的影响
    神经网络预测的准确性和训练数据的多少有较大的关系,尤其对于一个多输入多输出的网络,如果缺乏足够多的网络训练数据,网络预测值可能存在较大的误差.

数据越多,训练的程序越好,预测就会更准确。

  • 节点转移函数
    节点转移函数,即激活函数,是将上一层节点值传递到下一节点的方法,常用的激活函数有:
    在这里插入图片描述
    其中,从输入层到隐藏层,隐藏层到输出层,都需要经过激活函数传递。
    例如,如果输入到隐藏层传递使用purelin函数,则输入多少,隐藏节点也取多少。
    隐含层和输出层函数的选择对 BP 神经网络预测精度有较大影响。
    一般隐含层节点转移函数选用 logsig 函数或 tansig 函数,输出层节点转移函数选用 tansig 或pureJin 函数,
  • 复杂系统拟合
    对复杂系统的拟合能力由局限性,其有一定幅变限制,对一些跳变过大的系统,不能正确拟合。(个人认为)

1.3、遗传算法优化神经网络

  • 算法原理
    遗传算法优化 BP 神经网络分为 BP 神经网络结构确定、遗传算法优化和 BP 神经网络预测 3 个部分。
    首先,确定网络结构,以确定遗传算法个体长度。
    通过迭代找到最优个体,对网络的各个权值和阀值进行赋值。
    通过测试集,产生输出结果。

本案例中,由于拟合非线性函数有 2 个输入参数、 1 个输出参数,所以设置的 BP 神经网络结构为 2-5-1 ,即输入层有 2 个节点,隐含层有 5 个节点,输出层有 1 个节点,共有 2 × 5+5 × 1 = 15 个权值, 5 + 1=6 个阀值,所以遗传算法个体编码长度为 15 + 6=21 。
其中,遗传算法的适应度函数是,根据个体得到BP网络的初始化阀值和权值,进行训练,然后预测。预测得到的n个节点的误差和,为其适应度。
即个体所带的初始值,得到的网络,最终预测误差越小,这个个体越好。

猜你喜欢

转载自blog.csdn.net/stm32_newlearner/article/details/89007203