一、简介
神经网络中的核心处理部分是节点,同时在神经网络中,处理单元通常按层次分布于神经网络的输入层、隐层和输出层中,因此分别称之为输入节点、隐节点和输出节点。
二、人工神经网络的搭建
在上图中,输入层有至四个节点,隐层有两个节点,输出层仅有一个节点,节点与节点之间有着各自对应的连接权重,经过层层递进,得到最终的输出结果。
加法器
加法器非常好理解,假设节点接受的输入用向量表示,节点输出的结果用0表示,节点与上层连接的连接权重用表示,且节点的偏差用表示。在第j个节点上的加法器[公式]则定义为:
激活函数这块比较容易理解,主要有两大类:
1、[0,1]阶跃函数
2、(0,1)型Sigmoid函数
激活函数的作用就是将之前加法器输出的函数值进行相应转换,或转为[公式]型,或映射到[公式]取值范围内。
建立神经网络的一般步骤
1、数据的标准化处理
在人工神经网络中,无论是分类问题还是回归问题,输入变量的取值一般要求在0~1之间,否则输入变量的不同数量级别将会对连接权重的确定、加法器的计算和最终的预测产生较大的干扰。为此,需要对原始数据集进行标准化处理,消除量纲带来的影响。
2. 网络结构的确定
在神经网络中,隐层的层数与节点个数决定了整个模型的复杂度,这里涉及到一个预测准确度与复杂度的权衡,层数节点数较少时模型结构简单,但预测准确度较低;层数节点数较多时尽管预测准确度会较高,但模型可能会过于复杂,并影响计算效率(特别是在大数据集下)。
理论上,虽然多层网络能够获得更精准的分析结果,但若非实际需要的话,使用两个以上的隐层会使问题的解决变得更为复杂。所以,如果直观上数据集本身与要解决的问题不是很复杂的话,我们可以优先设置一个隐层,并从当前模型的预测结果出发来考虑是否需要更多的隐层。
在隐节点的个数设定上,目前暂时没有权威的确定准则。通常情况下,问题越复杂,需要的隐节点也就越多,但隐节点过多又会导致过拟合问题。因此,节点个数不可能在模型建立之前就确定下来,我们可以先给出一个粗略的网络结构,然后在模型训练过程中逐步进行调整。
3、 连接权重的确定
神经网络建立的过程,也就是采用合适的网络结构,探索输入输出变量间复杂关系的过程,并在此基础上应用于对新样本的预测。那么在这个过程中,神经网络就需要对已有的数据进行反复分析与学习,掌握输入输出变量间的数量关系规律,并将其体现在连接权重上。因此,当我们确定好第二步中的网络结构后,构建模型的核心任务就是确定连接权重[公式],步骤如下:
第一:初始化连接权重向量W
一般连接权重向量W的初始值默认为一组随机数,且需要服从均值为0,取值在-0.5~0.5之间的均匀分布。
第二:计算各处理单元的加法器与激活函数值,得到样本的预测值
第三:比较预测值与实际值,计算预测误差,根据预测误差重新调整各连接权重
上述的过程是一个不断向样本学习的过程,我们的目的自然是为了获得较高的预测准确度和较小的预测误差,当一轮的学习无法满足高准确度的要求时,就需要进行新一轮的学习,如此循环往复,直到满足最终迭代终止的条件为止。
最终,我们得到一组相对合理的连接权重值,超平面(或回归平面)与神经网络模型也就得以确定。
关于权重初始化需要服从均值为0的安排,这个与开始时神经网络会退化为近似线性的模型有关。
三、总结
到这里大家应该对如何创建一个神经网络有了初步的认识,下面我们将带领大家对此继续进行深入的研究。