- 1 单层感知器
- 2 线性神经网络
- 2.1 线性神经网络的改进--Madaline神经网络
- 3 BP神经网络
- 4 径向基函数网络
- 4.1 两类径向基函数网络
- 4.2 径向基网络与多层感知器的比较
- 4.3 径向基函数的改进--概率神经网络
- 4.4 径向基函数的改进--广义回归神经网络
- 5 自组织竞争神经网络
- 5.1 竞争神经网络
- 5.2 竞争神经网络的改进--自组织特征映射网络
- 6 反馈神经网络
- 6.1 Hopfield 网络
- 6.1.1 离散Hopfield网络
- 6.1.2 连续Hopfield网络
- 6.2 典型的局部回归网络--Elman神经网络
- 6.3 节点自反馈的单层网络--盒中脑模型(BSB)
- 7 随机神经网络
- 7.1 随机神经网络的一种--基于模拟退火算法的Boltzmann机
如果不明白所有神经网络都是如何分类且他们的概念的,参考本人的另一篇博客详解 所有神经网络的关系和分类-附思维导图
1 单层感知器(1)主要应用: 可以快速、可靠的解决线性可分的问题 注意:单层感知器并不对所有二分类问题收敛,它只对线性可分的问题收敛,即可通过学习调整权值,最终知道合适的决策面,实现正确分类。对不线性不可分问题,单层感知器的学习算法是不收敛的。 (2)缺陷: • 感知器的激活函数使用阈值函数,使得输出只能取得两个值(1/-1或0/1),遮掩就限制了在分类种类上的扩展 • 感知器网络只对线性可分的问题收敛,这是最致命的缺点。根据感知器收敛定力,只要输入向量是线性可分的,感知器总能在有限的时间内收敛。若问题不可分,则感知器无能为力。 • 如果输入样本存在奇异样本,则网络需要话费很长的时间。奇异样本就是数值上远远偏离其他样本的数据。例如以下样本:
每列是一个输入向量,前三个样本树枝上都比较小,第四个样本数据则比较大,远远的偏离其他数据点,在这种情况下,感知器虽然也能收敛,但需要更长的训练时间。 • 感知器的学习算法只对单层有效,因此无法直接条用其规则设计多层感知器。
2 线性神经网络(1)与感知器的区别:感知器的传输函数只能输出两种可能的值,而线性神经网络的输出可以取任意值,其传输函数是线性函数。即是感知器的传输函数是一个二值阈值原件,而线性神经网络的传输函数是线性。这就决定了感知器只能做简单的分类,二线性神经网络可以实现拟合和逼近。线性神经网络采用Widrow-Hoff学习规则,即是LMS(Least Mean Square)算法来调整网络的权值和偏置。
2.1 线性神经网络的改进–Madaline神经网络• 若线性神经挽留过中包含多个神经元节点,就能形成多个输出,这种线性神经网络叫Madaline神经网络。 • Madaline可以用一种间接的方式解决线性不可分问题,方法是用多个线性函数对区域进行划分,然后对各个神经元的输出做逻辑运算。
3 BP神经网络(1)与线性神经网络的区别:线性神经网络只能解决线性可分问题,BP神经网络是包含多个隐含层的网络,具备处理线性不可分问题的能力。 (2)BP神经网络特点 • 网络由多层构成,层与层之间全连接,同一层之间的神经元无连接。多层的网络设计,使得BP网络能够从输入中挖掘更多的信息,完成更复杂的任务。 • BP网络的传递函数,必须可微。因此感知器的传递函数–二值函数在这里没有用武之地。BP网络一般使用Sigmoid函数或线性函数作为传递函数。根据输出值是否包含负值, sigmoid函数又可分为 Log-Sigmoid函数和 Tan-Sigmoid函数。 从图中可以看出, sigmoid函数光滑、可微的函数,在分类时它比线性函数更精准,容错性较好。它将输入从负无穷的范围映射到(-1,1)或(0,1)区间内,具有非线性的放大功能。Sigmoid函数可微的特性使它可以利用梯度下降法。在输出层,如果采用Sigmoid函数,将会把输出值限制在一个较小的范围,因此BP神经网络的典型设计是隐含层采用Sigmoid函数作为传递函数,而输出层则采用线性函数作为传递函数。 • 采用误差反向传播算法(Back-Propagation Algorithm)进行学习。在BP网络中,数据从输入层经隐含层逐层向后传播,训练网络权值时,则沿着减少误差的方向,从输出层经过中间各层逐层向前修正网络的连接权值。随着学习的不断进行,最终的误差越来越小。 (3)BP网络的局限性 • 需要的参数较多,且参数的选择没有有效的方法。确定一个BP网络需要知道网络的层数、每一层的神经元个数和权值。网络权值依据训练样本和学习率参数经过学习得到。隐含层神经元的个数如果太多,会引起过学习,而神经元太少又会导致欠学习。如果学习率过大,容易导致学习不稳定,学习率过小,又将延长训练时间。这些参数的合理值还要受具体问题的影响,目前为止,只能通过经验给出一个粗略的范围,缺乏简单有效的确定参数的方法,导致算法很不稳定。 • 容易陷入局部最有。BP算法理论上可以实现任意非线性映射,但在实际应用中,也可能经常陷入到局部最小值中。此时可以通过改变初始值,多次运行的方式,获得全局最优值。也可以改变算法。此时可以通过加入动量项或其他方法,使连接权值以一定概率跳出局部最优值。 • 样本依赖性。网络模型的逼近和推广能力与学习样本典型密切相关,如何选取典型样本是一个很困难的问题。算法最终效果与样本都有一定的的关系,这一点在神经网络中体现得尤为明显。如果样本集合代表性差、矛盾样本多、存在冗余样本,网络就很难达到预期的性能。 • 初始权重敏感性。训练的第一步是给定一个较小的随机初始权重,由于权重是随机给定的,BP网络往往具有不可重现性。
4 径向基函数网络(1)与BP网络的区别:BP神经网络是一种全局逼近网络,学习速度慢,不适合实时性要求高的场合。径向基函数网络结构简单、收敛速度快、能够逼近任意非线性函数。 (2)径向基网络可分为正则化网络和广义网络两种。在工程实践中被广泛应用的是广义网络,它可由正则化稍加变化得到。
4.1 两类径向基函数网络(1)正则化网络
组成: • 第一层是由输入节点组成的,输入节点的个数等于输入向量x的维度。 • 第二层属于隐含层,由直接与输入节点相连的节点组成,一个隐含节点对应一个训练数据点,因此其个数与训练数据点的个数相同。 • 第三层是输出层包括若干个线性单元,每个线性单元与所有隐含节点相连,这里的”线性“是指网络最终的输出是各隐含节点输出的线性加权和。 性质: • 正则化网络是一个通用逼近器,意味着,只要有足够多的隐含节点,它就可以以任意精度逼近任意多远连续函数。 • 给定一个未知的非线性函数f,总可以选择一组系数,使得网络对f 的逼近是最优的。 特点: • 隐含节点的个数等于输入训练样本的个数,因此如果训练样本的个数N过大,网络的计算量将是惊人的,从而导致过低的效率甚至根本不可能实现。计算权值wij时,需要计算N×N矩阵的逆,其复杂度大约是O(N3),随着N的增长,计算的复杂度迅速增大。 • 矩阵过大,病态矩阵的可能性越高。矩阵A的病态是指,求解线性方程组Ax = b时,A中数据的微小扰动会对结果产生很大影响。病态成都往往用矩阵条件数来衡量,条件数等于矩阵最大特征值与最小特征值的比值。 (2)广义网络
区别于正则化网络:正则化网络隐含节点数I等于输入训练样本的个数M,即是I=M。但广义网络隐含层I个节点个数小于M个输入节点,I
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?