目录
如果不明白所有神经网络都是如何分类且他们的概念的,参考本人的另一篇博客详解
所有神经网络的关系和分类-附思维导图
该博客还未整理完,还在整理,会及时补充
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<M。
4.2 径向基网络与多层感知器的比较
(1)径向基网络有三层网络,只有一个隐含层,而多层感知器可以有多个隐含层。
(2)径向基网络的隐含层与输出层完全不同,隐含层采用非线性函数(径向基函数)作为基函数,而输出层采用线性函数,两者作用不同。在多层感知器中,隐含层和输出层没有本质区别,一般都采用非线性函数。由于径向基网络输出的是线性加权和,因此学习速度更快
(3)径向基网络的基函数计算的是输入向量与基函数中心之间的欧式距离(两者取差值,再取欧几里得范数),而多层感知器的隐单元的激励函数则计算输入向量与权值的内积。
(4)多层感知器对非线性映射全局逼近,而径向基函数使用局部指数衰减的非线性函数进行局部逼近,因此要达到相同的精度,径向基函数需要的参数比多层感知器少得多。
(5)BP网络使用sigmoid函数作为激励函数,有很大输入可见域。径向基函数网络引入RBF函数,当输入值偏离基函数中心时,输出逐渐减小,并很快趋于零。这一点比多层感知器更符合神经元响应基于感受域这一特点,比BP网络具有一更深 理论基础。同事由于输入可见域很小,径向基函数网络需要更多的径向基神经元。
4.3 径向基函数的改进–概率神经网络
(1)简介:在径向基神经网络的基础上,融合密度函数估计和贝叶斯决策理论。在某些易满足的条件下,以概率神经网络(PNN) 实现的判别边界渐进地逼近贝叶斯最佳判定面。
(2)组成(输入层、隐含层、求和层、输出层)
• 第一层为输入层,用于接收来自训练样本的值,将数据传递给隐含层,神经元个数与输入向量长度相等。
• 第二层隐含层是径向基层,每一个隐含层的神经元节点拥有一个中心,该层接收输入层的样本输入,计算输入向量与中心的距离,最后返回一个标量值,神经元个数与输入训练样本个数相同。
• 求和层把隐含层中属于同一类的隐含神经元的输出做加权平均。求和层的神经元个数与输出类别数目M相同。
• 输出层取求和层中最大一个作为输出的列别。
(3)特点:PNN 网络采用有监督学习,这是在训练数据中指出。求和层中神经元只与隐含层中对应类别的神经元有连接,与其他神经元则没有连接。这是PNN与 RBF函函数网络最大的区别。
(4)概率神经网络的优点
• 训练容易,收敛速度快,从而非常适用于实时处理。在基于密度函数核估计的PNN网络中,每一个训练样本确定一个隐含层神经元,神经元的权值直接取自输入样本值。
• 可以实现任意的非线性逼近,用PNN网络所形成的判决曲面与贝叶斯最优准则下的曲面非常接近。
• 隐含层采用径向基的非线性映射函数,考虑了不同类别模型样本的交错影响,具有很强的容错性。只要有充足的样本数据,概率神经网络都能收敛到贝叶斯分类器,没有BP网络的局部极小值问题。
• 隐含层的传输函数可以选用各种用来估计概率密度的基函数,且分类结果对基函数的形式不敏感。
• 扩充性能好。网络学习过程简单,增加或减少类别模式时不需要重新进行长时间的训练学习
• 各层神经元的数据比较稳定,因而易于硬件实现。
4.4 径向基函数的改进–广义回归神经网络
(1)组成(输入层、隐含层、加和层、输出层)
• 输入层接受样本的输入,神经元个数等于输入向量的维数,其传输函数是简单的线性函数。
• 隐含层是径向基层,神经元个数等于训练样本个数,基函数一般采用高斯函数
• 加和层的神经元分为两种,一种是神经元计算隐含层各神经元的代数和,称为分母单元,第二种神经元计算隐含层神经元的加权和,称为分子单元,权值为各训练样本的期望输出值,称为分子单元。
• 输出层将加和层的分子单元、分母单元的输出相除,即得y的估计值。
(2)特点
• 对于基本的广义神经网络,隐含层的平滑因子采用同一个值,由于网络并不知道样本数据的概率分布,因此不能从样本中求得理想的光滑因子,因此这里采用一维寻优的方式来求取。为了确保网络的推广性能,对参与训练的样本以缺一交叉验证的方式来寻优。