人工神经网络(Artificial Neural Network,ANN)是一种人脑的抽象计算模型,是一种模拟人脑思维的计算机建模方式。
通过计算机程序实现对人脑系统的模拟。通过类似于生物神经元的处理单元,以及处理单元之间的有机连接,解决现实世界的模式识别、联想记忆、优化计算等复杂问题。
大量应用于商业数据的分类预测和聚类分析中。
【种类】
从
拓扑结构角度划分:根据网络层次数,分为:两层神经网络、三层神经网络、多层神经网络。
图 两层神经网络 图 三层神经网络
神经网络的层数和每层的处理单元的数量,决定了网络的复杂程度。
从
连接方式角度划分:根据层间连接方式,分为:前馈式神经网络、反馈式神经网络
前馈式神经网络:单向连接。BP(Back-Propagation)反向传播网络和Kohonen网络
反馈式神经网络:除单向连接外,输出节点的输出又作为输入节点的输入。Hopfield网络,包括离散型反馈神经网络DHNN(Discrete Hopfield Neural Network)和连续型反馈神经网络CHNN(Continuous Hopfield Neural Network)等。
表 人工神经网络算法
【节点】
将神经网络放大去看,完整的节点由加法器和激活函数组成。
图 神经网络中的处理单元
激活函数
激活函数的作用是将加法器的结果映射到一定的取值范围内。
因此,神经网络的处理难度取决于网络结构的复杂程度。
节点的意义
几何意义:如果将训练样本集中的每个观测看作n维特征空间(n个输入变量)上的点,那么,一个节点就是一个超平面。一个超平面将n维特征空间划分成两个部分。理想情况下,处于超平面上部的所有点为一类,超平面下部的所有点为另一类,可实现二值分类。多个节点是多个超平面,它们相互平行或相交,将n维特征空间划分成若干区域。理想情况下,处于不同区域的点均分属不同类别,可实现多值分类。
两个问题:
(1)如何定位一个超平面。
超平面最终目标是划分正确划分样本点。为此应找到该目标下的最恰当的网络权值。
神经网络需要不断向训练样本学习,进而不断调整网络权值,是超平面不断向正确的方向移动,以最终定位到期望的位置上。
总之,人工神经网络模型的训练过程是一个寻找最佳超平面的过程,也是一个不断调整网络权值的过程。
(2)若n维特征空间中的样本点线性不可分,即没有任何一个超平面能够将不同类别的样本点划分开将会怎样。
【人工神经网络步骤】
1、数据准备
人工神经网络中输入变量取值在0~1之间,否则输入变量的不同数量级会影响权值的确定、加法器的计算结果及最终的分类预测结果。
数据标准化处理采用的一般处理策略是极差法,即
注意:神经网络只能处理数值型输入变量。
对于分类型变量,Clementine采用二进制编码处理。
表 分类变量和编码变量 说明:合理减少输入变量个数(输入节点个数)对神经网络的训练和分类预测有意义。
2、网络结构的确定
神经网络层数和每层节点数决定了网络的复杂程度,其中的关键是隐层层数和隐层包含隐节点的个数。隐层层数和隐节点个数越多,网络的复杂程度也就越高。
对于隐层数:层数少,网络结构简单,学习时收敛速度较快,但分类预测的准确度较低;
层数多,网络结构复杂,分类预测准确度较高,但存在无法收敛的可能。
因此,网络结构复杂度和模型训练效率间的权衡值得关注。
一般选择具有一个隐层的网络往往最合算。
对于隐节点数:无权威确定准则。问题越复杂,隐节点越多,计算量越大,可能产生过拟合问题。
在模型训练中逐步调整。
3、确定网络权重
神经网络训练的核心。
基本步骤:
(1)初始化网络权值。一般初始值默认为一个随机数(该随机数来自均值为0,取值范围是-0.5~0.5的正态分布)。
初值接近为0原因:对Sigmoid型激活函数,开始时神经网络退化为近线性模型。
因此,模型训练思路是从简单接近线性模型开始,然后随网络权值增加调整再变成复杂的非线性模型。
初值小区间原因:防止各网络权值差异过大。
(2)计算各处理单元的加法器和激活函数值,得到样本的分类预测值。
(3)比较样本的预测值与实际值并计算误差,根据误差值重新调整各网络权值。
(4)返回到第二步。直到误差达到一个较小值为止。
此时,一组相对合理的网络权值确定了,超平面也被确定了。
因此,网络权值的确定是一个不断迭代的过程。
—————————————————————————
【版权申明】
如非注明,本站文章均为 数据小雄 原创,转载请注明出处:数据小雄博客,并附带本文链接,谢谢合作!
本文地址:http://zhangzhengxiong.com/?id=14。
—————————————————————————
发表评论
额 本文暂时没人评论 来添加一个吧