BP神经网络学习笔记

1.是什么?

BP神经网络(Back Propagation Neural Network)是一种基于误差反向传播算法(Back Propagation Algorithm)的人工神经网络,也是应用最广泛的神经网络之一。它可以用来解决分类、回归、模式识别、数据挖掘等多种问题。

BP神经网络由输入层、隐层和输出层组成,其中隐层可以包含多个神经元,用于处理输入数据的非线性映射关系。BP神经网络的训练过程包括前向传播和反向传播两个步骤。

BP神经网络的优点是可以处理非线性问题,并且具有较高的精度和可扩展性。缺点是容易出现过拟合问题,需要采取一些正则化方法进行控制。此外,BP神经网络的训练过程需要大量的计算和存储资源,训练时间较长。

BP神经网络已经被广泛应用于各种领域,如图像处理、语音识别、自然语言处理、金融风险评估等。
 

2.为什么?

人工神经网络的发展神经网络的发展有悠久的历史。其发展过程大致可以概括为如下4个阶段:

1. 第一阶段----启蒙时期

(1)、M-P神经网络模型:20世纪40年代,人们就开始了对神经网络的研究。

此处w的权重不会改变,是固定值

1943 年,美国心理学家麦克洛奇(Mcculloch)和数学家皮兹(Pitts)提出了M-P模型,此模型比较简单,但是意义重大。

MP模型中,权重的值都是预先设置的,因此不能学习。但通过把神经元看作个功能逻辑器件来实现算法,开创了神经网络模型的理论研究。

(2)、Hebb规则:1949 年,心理学家赫布(Hebb)出版了《The Organization of Behavior》(行为组织学),他在书中提出了突触连接强度可变的假设。

权重W会随着训练得到改变

这个假设认为学习过程最终发生在神经元之间的突触部位,突触的连接强度随之突触前后神经元的活动而变化。这一假设发展成为后来神经网络中非常著名的Hebb规则。

这一法则告诉人们,神经元之间突触的联系强度是可变的,这种可变性是学习和记忆的基础。Hebb法则为构造有学习功能的神经网络模型奠定了基础。

(3)、感知器模型:1957 年,罗森勃拉特(Rosenblatt)以M-P 模型为基础,提出了感知器(Perceptron)模型。感知器模型具有现代神经网络的基本原则,并且它的结构非常符合神经生理学。

这是一个具有连续可调权值矢量的MP神经网络模型,经过训练可以达到对一定的输入矢量模式进行分类和识别的目的,它虽然比较简单,却是第一个真正意义上的神经网络。

Rosenblatt 证明了两层感知器能够对输入进行分类,他还提出了带隐层处理元件的三层感知器这一重要的研究方向。

Rosenblatt 的神经网络模型包含了一些现代神经计算机的基本原理,从而形成神经网络方法和技术的重大突破。

(4) ADALINE网络模型: 1959年,美国著名工程师威德罗(B.Widrow)和霍夫(M.Hoff)等人提出了自适应线性元件(Adaptive linear element,简称Adaline)和Widrow-Hoff学习规则(又称最小均方差算法或称δ规则)的神经网络训练方法,并将其应用于实际工程,成为第一个用于解决实际问题的人工神经网络,促进了神经网络的研究应用和发展。

ADALINE网络模型是一种连续取值的自适应线性神经元网络模型,可以用于自适应系统。

相比于Rosenblatt的计算模型,激活函数用阶跃函数换成了连续型函数,用一个Quantizer函数进行类别预测

2. 第二阶段----低潮时期

人工智能的创始人之一Minsky和Papert对以感知器为代表的网络系统的功能及局限性从数学上做了深入研究,于1969年发表了轰动一时《Perceptrons》一书,指出简单的线性感知器的功能是有限的,它无法解决线性不可分的两类样本的分类问题,如简单的线性感知器不可能实现“异或”的逻辑关系等。

(1)、自组织神经网络SOM模型:1972年,芬兰的KohonenT.教授,提出了自组织神经网络SOM(Self-Organizing feature map)。

后来的神经网络主要是根据KohonenT.的工作来实现的。SOM网络是一类无导师学习网络,主要用于模式识别﹑语音识别及分类问题。

它采用一种“胜者为王”的竞争学习算法,与先前提出的感知器有很大的不同,同时它的学习训练方式是无指导训练,是一种自组织网络。

这种学习训练方式往往是在不知道有哪些分类类型存在时,用作提取分类信息的一种训练

输出层是one-hot格式(即[0 0 0 1]这样的格式),它的节点与隐层节点个数一致,它的值由隐层节点竞争得到, 即隐层节点哪个值最大,对应的输出节点就为1,其余为0。

(2)、自适应共振理论ART:1976年,美国Grossberg教授提出了著名的自适应共振理论ART(Adaptive Resonance Theory),其学习过程具有自组织和自稳定的特征。

3. 第三阶段----复兴时期

(1) Hopfield模型:1982年,美国物理学家霍普菲尔德(Hopfield)提出了一种离散神经网络,即离散Hopfield网络,从而有力地推动了神经网络的研究。

在图中,第0层仅仅是作为网络的输人,它不是实际神经元,所以无计算功能;而第一层是实际神经元,故而执行对输人信息和权系数乘积求累加和,并由非线性函数f处理后产生输出信息。f是一个简单的阀值函效,如果神经元的输出信息大于阀值θ,那么,神经元的输出就取值为1;小于阀值θ,则神经元的输出就取值为θ。 

(2) Boltzmann机模型:1983年,Kirkpatrick等人认识到模拟退火算法可用于NP完全组合优化问题的求解,这种模拟高温物体退火过程来找寻全局最优解的方法最早由Metropli等人1953年提出的。

1984年,Hinton与年轻学者Sejnowski等合作提出了大规模并行网络学习机,并明确提出隐单元的概念,这种学习机后来被称为Boltzmann机。

Hinton和Sejnowsky利用统计物理学的感念和方法,首次提出的多层网络的学习算法,称为Boltzmann 机模型。

(3) BP神经网络模型:1986年,儒默哈特( melhart)等人在多层神经网络模型的基础上,提出了多层神经网络权值修正的反向传播学习算法----BP算法(Error Back-Propagation),解决了多层前向神经网络的学习问题,证明了多层神经网络具有很强的学习能力,它可以完成许多学习任务,解决许多实际问题。


3.怎么样

3.1基本结构

典型BP神经网络的结构

BP神经网络由 输入层隐含层(也称中间层)和 输出层 构成 ,其中隐含层有一层或者多层。每一层可以有若干个节点。层与层之间节点的连接状态通过 权重 来体现。

只有一个隐含层:传统的浅层神经网络;有多个隐含层:深度学习的神经网络。

感知器组成

由输入项、权重、偏置、激活函数、输出组成。 

3.2 正向传播与反向传播

正向传播

输入层的神经元负责接受外界发来的各种信息,并将信息传递给中间层神经元,中间隐含层神经元负责将接收到的信息进行处理变换,根据需求处理信息,实际应用中可将中间隐含层设置为一层或者多层隐含层结构,并通过最后一层的隐含层将信息传递到输出层,这个过程就是BP神经网络的正向传播过程。

反向传播 

当实际输出与理想输出之间的误差超过期望时,就需要进入误差的反向传播过程。它首先从输出层开始,误差按照梯度下降的方法对各层权值进行修正,并依次向隐含层、输入层传播。通过不断的信息的正向传播和误差的反向传播,各层权值会不断进行调整,这就是神经网络的学习训练。当输出的误差减小到期望程度或者预先设定的学习迭代次数时,训练结束,BP神经网络完成学习。

过程可视化

可以在这个网站上感受下正向传播的可视化过程

链接:Tinker With a Neural Network Right Here in Your Browser.

3.3 梯度下降学习法

在正向传播的过程中,有一个 与期望的结果比较是否满意 的环节,在这个环节中实际的输出结果与期望的输出结果之间就会产生一个误差,为了减小这个误差,这也就转换为了一个优化过程,对于任何优化问题,总是会有一个目标函数 (objective function),这个目标函数就是 损失函数(Loss function)。
 

为了让实际的输出结果与期望的输出结果之间的误差最小,就要寻找这个函数的最小值。迭代的方法寻找函数最小值 就是通过 梯度下降 + 迭代 的方式寻找数值解。

迭代的方法一般都要经过多次,因为函数最小值的寻找可能要经过多次迭代,而在每一次的迭代中,各层节点之间的权重也将不断地迭代更新。

这样每一次迭代就会产生一次权重更新,之后将更新的权重与训练样本进行正向传播,如果得到的结果不满意,则进行反向传播,继续迭代。如此往复,直到得到满意的结果为止。

参考:

神经网络的起源和发展,人工神经网络发展历史 

BP(Back Propagation)神经网络——原理篇

神经网络发展历程

Hopfield模型

神经网络聚类方法:SOM算法原理

系统学习机器学习之神经网络(八) --ADALINE网络

Introduction to Restricted Boltzmann Machines

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值