神经网络 输入层 两个神经元的神经元,是不是和输入层一样的!

专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

BP神经网络 输入层 两个神经元中阈徝的作用 [问题点数:20分结帖人sdnusqy]

在BP网络中为什么设置阈值呢?在感知器中很好理解阈值的作用但是BP网络中直接用权值调整不就OK了吗?

BP自動学习得到阈值的除了最后的误差精度和最大训练次数,其它的都不需要你来设定 

匿名用户不能发表回复!

       所谓M-P模型其实是按照生物神经え的结构和工作原理构造出来的一个抽象和简化了的模型。


       大家可以查一查一些生物方面的书籍了解一下这个神经元是如何工作的。我們可以概括出生物神经网络 输入层 两个神经元的假定特点:

1. 每个神经元都是一个多输入单输出的信息处理单元;

2. 神经元输入分兴奋性输入囷抑制性输入两种类型;

3. 神经元具有空间整合特性和阈值特性;

4. 神经元输入与输出间有固定的时滞主要取决于突触延搁

M-P模型       按照生物神經元,我们建立M-P模型为了使得建模更加简单,以便于进行形式化表达我们忽略时间整合作用、不应期等复杂因素,并把神经元的突触時延和强度当成常数下图就是一个M-P模型的示意图。


       那么接下来就好类比理解了我们将这个模型和生物神经元的特性列表来比较:


       结合M-P模型示意图来看,对于某一个神经元j (注意别混淆成变量了在这里j 只是起到标识某个神经元的作用),它可能接受同时接受了许多个输叺信号用 χi 表示。

       由于生物神经元具有不同的突触性质和突触强度所以对神经元的影响不同,我们用权值 ωij 来表示其正负模拟了生粅神经元中突出的兴奋和抑制,其大小则代表了突出的不同连接强度

       由于累加性,我们对全部输入信号进行累加整合相当于生物神经え中的膜电位(水的变化总量),其值就为:


       神经元激活与否(外接专用水管流出与否)取决于某一阈值电平(水位高度)即只有当其輸入总和超过阈值θj 时,神经元才被激活而发放脉冲否则神经元不会发生输出信号。整个过程可以用下面这个函数来表示:





       若神经元的淨激活net为正称该神经元处于激活状态或兴奋状态(fire),若净激活net为负则称神经元处于抑制状态。

1. 每个神经元都是一个多输入单输出的信息處理单元;

2. 神经元输入分兴奋性输入和抑制性输入两种类型;

3. 神经元具有空间整合特性和阈值特性;

4. 神经元输入与输出间有固定的时滞主要取决于突触延搁;

5. 忽略时间整合作用和不应期;

6. 神经元本身是非时变的,即其突触时延和突触强度均为常数

       为了简单起见,对膜电位的计算net'j(t) 并没有考虑时间整合只考虑了空间整合,即只对每条神经末梢传来的信号根据权重进行累加整合而没有考虑输入输出间的突觸时延,体现了第5个特点。

       激活函数的选择是构建神经网络 输入层 两个神经元过程中的重要环节下面简要介绍常用的激活函数。


       以上3个激活函数都属于线性函数下面介绍两个常用的非线性激活函数。


       由于S形函数与双极S形函数都是可导的(导函数是连续函数)因此适合用在BP神經网络 输入层 两个神经元中。(BP算法要求激活函数可导)

最简单的神经网络 输入层 两个神经元结构——感知器


       这个结构非常简单如果你還记得前面所讲的M-P神经元的结构的话,这个图其实就是输入输出两层神经元之间的简单连接(如果忘了可以看看第一话的模型示意图)


       雖然单层感知器简单而优雅,但它显然不够聪明——它仅对线性问题具有分类能力什么是线性问题呢?简单来讲就是用一条直线可分嘚图形。比如逻辑“与”和逻辑“或”就是线性问题,我们可以用一条直线来分隔0和1

1)逻辑“与”的真值表和二维样本图如图2:


2)逻輯“或”的真值表如图3:


       为什么感知器就可以解决线性问题呢?这是由它的传递函数决定的这里以两个输入分量 x1 和 x2 组成的二维空间为例,此时节点 j 的输出为



       确定的直线就是二维输入样本空间上的一条分界线对于三维及更高维数的推导过程可以参考其他的Tutorials。

       如果要让它来處理非线性的问题单层感知器网就无能为力了。例如下面的“异或”就无法用一条直线来分割开来,因此单层感知器网就没办法实现“异或”的功能

 既然一条直线无法解决分类问题,当然就会有人想到用弯曲的折线来进行样本分类我们常常听到一句批评人笨的话“伱这人脑袋就是不会转弯!”大意就是如此,脑袋会转弯的人才善于解决问题所以,人们请来了单层感知器他哥——多层感知器来帮忙所谓多层感知器,就是在输入层和输出层之间加入隐层,以形成能够将样本正确分类的凸域多层感知器的拓扑结构如下图所示。



       由仩图可以看出随着隐层层数的增多,凸域将可以形成任意的形状因此可以解决任何复杂的分类问题。实际上Kolmogorov理论指出:双隐层感知器就足以解决任何复杂的分类问题。

       多层感知器确实是非常理想的分类器但问题也随之而来:隐层的权值怎么训练?对于各隐层的节点來说它们并不存在期望输出,所以也无法通过感知器的学习规则来训练多层感知器因此,多层感知器心有余而力不足虽然武功高强,但却无力可施

 1966年,Minisky和Papert在他们的《感知器》一书中提出了上述的感知器的研究瓶颈指出理论上还不能证明将感知器模型扩展到多层网絡是有意义的。这在人工神经网络 输入层 两个神经元的历史上书写了极其灰暗的一章对ANN的研究,始于1890年开始于美国著名心理学家W.James对于人腦结构与功能的研究半个世纪后W.S.McCulloch和W.A.Pitts提出了M-P模型,之后的1958年Frank Rosenblatt在这个基础上又提出了感知器此时对ANN的研究正处在升温阶段,《感知器》这夲书的出现就刚好为这刚刚燃起的人工神经网络 输入层 两个神经元之火泼了一大盆冷水一时间人们仿佛感觉对以感知器为基础的ANN的研究突然间走到尽头,看不到出路了于是,几乎所有为ANN提供的研究基金都枯竭了很多领域的专家纷纷放弃了这方面课题的研究。


ANN研究的复蘇和BP神经网络 输入层 两个神经元的诞生

       所以说真理的果实总是垂青于能够忍受寂寞的科学家尽管ANN的研究陷入了前所未有的低谷, 但仍有為数不多的学者忍受住寂寞坚持致力于ANN的研究。在长达10年的低潮时期之间相 继有一些开创性的研究成果被提出来,但还不足以激起人們对于ANN研究的热情一直到上世 纪80年代,两个璀璨的成果诞生了:1982年美国加州理工学院的物理学家John J.Hopfield博 士的Hopfield网络和David E.Rumelhart以及James L.McCelland研究小组发表的《并荇分布 式处理》这两个成果重新激起了人们对ANN的研究兴趣,使人们对模仿脑信息处理的智能计 算机的研究重新充满了希望

       所以,BP网络夲质上并不是一个新的网络而是使用BP学习算法的多层感知器网络。


人工神经网络 输入层 两个神经元算法是以人的神经细胞为启发经过数学转换得到的算法它不止有一个版本,其中最著名的算法是1980年提出的误差逆传播法(BackPropagation)神经网络 輸入层 两个神经元算法在深度学习中的使用非常的广泛,是即SVM算法之后的又一优秀的算法所以这篇文章就大概讲一下多层前馈神经网络 輸入层 两个神经元(Multilayer Feed-Forword Neural Network),BP算法就被使用在多层前馈神经网络 输入层 两个神经元上

人工神经网络 输入层 两个神经元非常的强大,其算法也昰妙不可言本篇文章主要讲一下其基本思想和算法,一点一点的学习帮助新手入门理解什么是人工神经网络 输入层 两个神经元。

我们艏先介绍一下M-P神经元模型简单的说他就是我们按照生物的神经元建立的一个模型,我们先看一张生物学中的神经元图片

学过生物学的哃学应该都知道,人体的神经元具有一下等几个特性:

 1、每个神经元都是一个多输入单输出的信息处理单元;

 2、神经元输入包括兴奋输入囷抑制性输入两种类型;

 3、神经元具有空间整合特性和阈值特性;

我们就按照神经元的一些特性来构造我出我们的M-P模型让其能够像神经え一样进行信息的传递。看下面我们构建的M-P模型:

他的形状是不是长得特别像一个神经元解释一下上面字母的意思,其中χn代表第n的输叺值ωij代表每个神经元的连接权重,∑是数学中计算符号f代表激活函数,此处应该有个阈值θ(也叫做偏量),οj代表输出。

从图中峩们看到每个神经元模型中都有n个输入,每个连接线上面都有权重其计算方法为∑χiωij 当其求和之后得出结果之后会与其阈值进行比較,然后输入激活函数得到输出值οj总的计算输出过程如下:

常用的典型激活函数有两类,一类是阶跃函数另一类是Sigmoid函数。看下面的兩类函数图像:

阶跃函数它将输入值映射为输出值“0”或者“1”,显然“1”对应于神经元兴奋“0”代表抑制兴奋,然而阶跃函数有不連续、不光滑等不好的性质所以经常使用Sigmoid函数。

Sigmoid函数它把可能在较大变化范围内的输入挤压到(0,1)之间输出所以有时也叫他挤压函数。

感知机由两层神经元构成(输入层和输出层)是最简单的神经网络 输入层 两个神经元结构,看下面感知机模型:

两个输入神经元的感知机网络结构模型

上图中只是一个最简单的感知机模型感知机的输入层接收外界输入信号后传递给输出层,输出层就是M-P神经元通过计算得出y输出。有的同学可能会问初始的ω1、ω2和θ1是多少?这个其实在第一次训练的时候是人为给出的其值在(0,1)之间,通过学习怹可以自己调整这三个值。给定训练集(Xy),其权重ω和阈值θ可以自己调整若已知当前感知机的输出为yi其学习过程非常简单,如下:

其阈值θ的调整规则和权重ω的规则相同。从式子中可以看出,若感知机对训练数样例预测正确,即yi=y则感知机不发生变化,否则则根据錯误程度进行调整

需要注意的是,感知机只有输出层进行激活函数处理即只有一层功能神经元,其学习能力是非常有限的如果想学習更加复杂的东西我们就要在感知机的基础上进行延伸,我们在其输入层和输出层之间加上了隐藏层也就是我们下面要说的多层神经网絡 输入层 两个神经元结构。

做了那么多铺垫终于轮到我们的主角出场了。多层前馈神经网络 输入层 两个神经元便是在感知机的基础上加仩隐藏层形成多才能的人工神经网络 输入层 两个神经元结构,其结构看下图:

其最左边是输入层(input layer)中间是隐藏层(hidden layer),最右边是输出層(output layout)这个结构叫做两层的神经网络 输入层 两个神经元(输入层不算),因为隐藏层和输出层的结构是相似的都是M-P神经元。其结构有┅下几个特点:

1、其每层都是由单元(units)组成也就是上面的圆圈,每个单元也可以被称作神经结点;

2、输入层是由训练记得实特征向量傳入;

3、隐藏层的个数可以是任意的但输入层和输出层都只有一次层。

4、经过连接点的权重(weight)传入下一层(和感知机类似)一层的輸出是下一次层的输入。

5、一层中的数据加权求和然后根据非线性方程(激活函数)化输出

我们训练神经网络 输入层 两个神经元作为分類的目的往往是希望最后一一层的输出能够描述数据记录的类别,比如对一个二分类问题如果用两个输出神经元最为输出层,如果输出財能的第一个神经元输出值大于第二个神经元我们认为这个数据记录属于第一类,否则属于第二类这就是我们的预测方式。

多层神经網络 输入层 两个神经元是非常的强大的结构如果有足够多的隐藏层和足够强大的训练集我们可以模拟出任何的方程,在多年之前计算機的计算能力还不够强大的时候,神经网络 输入层 两个神经元发展到了瓶颈期但如今计算机的性能大幅度提升,已经能够满足我们大量訓练数据的要求

到这可能有些同学会问,如何定义神经网络 输入层 两个神经元结构呢

在使用神经网络 输入层 两个神经元训练数据执之湔,我们必须确定出网络的层数和每次能神经元的个数其设计方法如下:

输入层:根据训练集的特征值个数而定每一个输入神经元就是┅个特征值。

隐藏层:没有明确的规则根据实验测试和误差改进层数,通常深度学习(deep learning)都有多层的隐藏层

输出层:根据我们问题类型而定。比如我么要分的类别又有两种我们就可以定义一个输出单元,多于两个类别的时候就每一个类别定义一个输出单元

前面说过叻,神经网络 输入层 两个神经元只是一个结构一BackPropagation算法是用在这个结构上面的,它是迄今为止最成功的神经网络 输入层 两个神经元算法,现實任务中使用神经网络 输入层 两个神经元是大多是使用BP算法进行训练,值得指出的是BP算法不仅用于多层前馈神经网络 输入层 两个神经え,还用于其他类型的神经网络 输入层 两个神经元

算法训练基本流程如下:

输入:训练集、学习率(learning rate)、一个多层前馈神经网络 输入层 兩个神经元。

输出:有一个训练好神经网络 输入层 两个神经元

1、通过输入训练集,得到预测值;

2、对比神经网络 输入层 两个神经元的预測值和真实值得到误差;

3、反方向(从输出层=>隐藏层=>输入层=>)来以最小化误差来更新每个连接权重(weight);

BP网络的详细训练分解

在训练之前,我们要随机的初始化个神经单元之间的权重和神经单元的阈值(偏向bias)随机初始化在-1到1之间,或者-0.5到0.5之间之后开始向前传输。

神经網络 输入层 两个神经元的训练实由多趟迭代完成的每一次迭代都使用所有的训练集,而每一次训练网络只使用一条记录知道满足训练條件为止。

上图中是一个神经单元简单的计算模型计算过程根M-P模型类似。因为一层的输出事下一层的输入详细的计算过程我们就不推導了,我们的输出计算公式如下:

上面的公式还是比较简单容易理解的到此为止我们得到了预测值Οj。下面就进行逆向反馈

逆向反馈嘟是从输出层开始的,因为之前我们的权重和偏向都是随机选取的,所以肯定是不准确的我们就要逆向的来调整网络的参数,即权重囷偏向而调整的依据就是网络的输出层和输出值之间的误差值,通过调整参数来缩小这个差异最终达到我们期望的预测值。

输出层误差率计算公式:其中Ej表示第j个结点的误差值,Oj表示第j个结点的输出值Tj表示正确值。

隐藏层误差率计算公式:其中Wjk表示当前层的结点j箌下一层的结点k的权重值,Ek表示下一层的结点k的误差率

误差率我们计算完成之后就可以根据这个误差率来修改权重和偏向。权重的更新公式如下:

其中λ是我们前面说的更新率,就是每次迈的步子的大小,这个值是我们设置的一个在(0,1)之间的值这个值太大了不好,训练收敛的快但容易陷入局部最优解,太小了也不好收敛的速度比较慢,需要的时间比较长但能一步步逼近全局最优解,需要我们去优囮其中Ej表示下一个结点的错误率,Oi代表当前结点的输出值

权重更新完后我们接着来更新偏向,偏向的更新公式如下:

其中的λ同上面的更新率一样,Ej仍然是错误率θj是当前的偏向值。

训练终止条件可以人为规定:

 1、权重的更新低于某个阈值;

 2、预测的错误率低于某个閾值;

 3、达到预设的迭代次数;

本文中并没有涉及到公式的推导过程感兴趣的同学可以参考网上的公式推导文章。

本文介绍的神经网络 輸入层 两个神经元知识仅仅是一些神经网络 输入层 两个神经元的基础知识所有定义均为博主个人理解,若有不当之处欢迎指正

ps:本文蔀分图片来源于互联网,若有侵权还请告知

我要回帖

更多关于 神经网络 输入层 两个神经元 的文章

 

随机推荐