还剩13页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
TOC\o1-3\h\z\u第一章前传网络
121.1线性感知器
121.
1.1概述
121.
1.2线性感知器
131.2BP网络
171.3BP网络的应用
231.
3.1手写ZIP码识别
231.
3.2图像压缩
241.
3.3股票预测25第一章前传网络
1.1线性感知器
1.
1.1概述图
1.1给出了一个简单的单层前传网络(神经元)的示意图它也是许多更复杂的神经网络的基本构件之一神经元对外界传入的个__经权值向量处理后,用线性求和器得到“综合印象”,再由活化函数对此综合印象作出非线性反应这种反应机制是对真正的生物神经元反应机制的一种简单而又常常有效的模拟将大量简单神经元按某种方式连接起来,并通过某种学习过程确定单元之间的连接强度(权值),就得到各种人工神经网络,用来完成逼近、分类、预测、控制和模拟等各种任务图
1.1神经元模型设给定J个输入样本模式其中以及理想输出另外,给定一个非线性函数单层前传网络(神经元)的学习过程就是利用样本模式,通过某种学习算法来选择权向量和阈值,使得
1.
1.1其中为网络的实际输出然后,我们就可以向网络输入中其它模式向量得到相应输出,这就是神经网络的工作过程
1.
1.1中的函数称为活化函数,常见的有符号函数及其逼近、型函数(Sigmoid函数)、径向基函数、随机值函数等等网络的输出值及理想输出可以只取有限个离散值(例如双极值±1或二进制01)这时网络相当于一个分类器;也可以取连续值,这时网络相当于输入与输出之间函数关系的一种数值逼近器当存在和使
1.
1.1成立时,我们说该问题是可解的,或样本模式是可分的否则,称为不可解的,或不可分的;这时只能选取和使得误差尽可能地小
1.
1.2线性感知器注
1.1令将一起作为新的权值来进行选择于是
1.
1.1中的定义可以更紧凑地写成
1.
1.2下面,我们在
1.
1.1中取为如下符号函数
1.
1.3且理想输出取值亦为(也可以考虑符号函数的取值为01一般地说,取值为01时电路实现方便,而取时数学处理比较简单)对输入样本模式,网络实际输出为
1.
1.4此时,网络式
1.
1.4所表示的神经网络称为线性感知器图
1.2符号函数函数值为{01}或{1-1}注
1.
21.
1.4中主要的运算为便于并行处理的向量乘法另一方面,除了在原点附近,符号函数(以及后面将要用到的符号函数的各种逼近)对于自变量的变化并不敏感,即容错性好事实上,各种神经网络用到的主要运算就是向量乘法,并且广泛采用符号函数及其各种逼近典型的神经网络都可以用电路、光路等硬件来实现(参见[Murray1997][戴葵1998]);这时不论多大,
1.
1.4中的向量乘法所需的时间基本不变(参看图
1.1),使得便于并行处理的特点更加突出并行、容错、可以硬件实现以及后面将要讨论的自我学__性,是神经网络的几个基本优点,也是神经网络计算方法与传统计算方法的重要区别当然神经网络也可以用计算机模拟实现,尤其对于只需进行一次的学习过程,这时并行的优点就不突出了以为例线性感知器的目标就是求法向量和阈值,使得与垂直的直线(一般地是维超平面)将样本模式分成和(即和)两类,分别位于的两侧(见图
1.3)图
1.3用线性感知器分类图
1.4给出另一种等价的几何解释定义(参见注
1.1),则线性感知器的目标成为选取使
1.
1.5如图
1.4,设,张成包含的最小扇形域,是其张开的角度于是,角度差刻画了(从而)的可分性若,则不可分;若,则可分(对线性感知器,常称为线性可分)并且越大,可分性越好(即的允许范围越大)图
1.4的可分性注点是满足的那些样本点经过变换得到的容易证明,若线性无关则一定是线性可分的在图
1.5和
1.6中给出线性不可分的两个典型例子其中图
1.5所描绘的即为著名的XOR问题图
1.5XOR问题图
1.6线性不可分权向量是通过学习得到的下面给出所谓感知器学习规则为简便起见在本章其余地方,我们总假设(参见注
1.1)输入一个样本向量,得到网络的当前实际输出,然后按下式修改当前权向量
1.
1.
61.
1.7其中常数是学习速率如果还希望样本模式别太靠近划分超平面,则可以选定常数,要求()
1.
1.8其中,这里,注意在和长度固定的前提下,越大则离划分超平面越远因此,常数可以理解为向量与超平面的距离这时,
1.
1.7可换成
1.
1.9这里是符号函数注
1.3近年来引起广泛注意的支持向量机神经网络的基本想法是,对给定的训练集,设法求得(可以是负数)的最大值,并且求得使的那些训练样本(支持向量)这样,就得到最优的划分平面,并且确定了对样本划分最为重要的那些支持向量参见[张学工2000][刘江华2002]感知器学习规则为
①将按任一顺序排成一个无穷序列,使得每一皆在其中出现无穷多次选定任一初始向量令选定非负常数
②输入,按下式更新权值
1.
1.
101.
1.11
③若满足精度要求(例如所有或大多数训练样本都满足
1.
1.8)或者迭代步数足够大,则停止;否则增加1,转
②现在,设样本集按
1.
1.8的意义可分,即存在和,使得
1.
1.8对成立我们下面来证明,迭代序列有限步收敛,即足够大后,不再改变收敛性证明不失一般性,为记号简便我们设这样,便有
1.
1.12其中表示在得到的过程中,实际用到来更新权值的次数这样,得到时所有实际更新的总次数是
1.
1.13由于满足
1.
1.8并且,我们有
1.
1.
141.
1.14给出了下界的一个估计接着,考察的上界若(即输入向量已经被权向量正确划分)则当然有
1.
1.15反之,由
1.
1.10(记,是的理想输出)
1.
1.16并且这时
1.
1.17因此
1.
1.18其中综合式
1.
1.16及式
1.
1.18,并注意,从0到求和便得
1.
1.19综合的下界估计
1.
1.14及上界估计
1.
1.19便得
1.
1.20因此,由此立得
1.
1.21收敛性于是得证■若样本集不是线性可分的,则按感知器规则
1.
1.
101.
1.11来求权值的迭代过程不收敛这时,可以使用基于梯度下降法的α-LMSLeastMeanSquare算法为此,对当前输入样本向量定义误差函数
1.
1.22其梯度为
1.
1.23为使减小,应朝的梯度反方向走因此迭代公式为
1.
1.24容易推得从而,为使得满足应有或等价地
1.
1.25总之我们应有
1.
1.26其中
1.
1.27此即为α-LMS算法实际应用中,常选为注
1.4迭代公式
1.
1.26是一种-学习算法
1.
1.27是-学习算法收敛的一个典型的必要条件注
1.5用迭代算法来迭代确定权值时样本向量可以按j=顺序依次输入,也可以按随机的顺序输入本章以后各节的类似问题,都可以照此__注
1.6网络结构、工作流程和学习方法,是一个神经网络的三大要素对于线性感知器来说,这三大要素分别由图
1.1()、
1.
1.4和
1.
1.
61.
1.7(或
1.
1.
101.
1.11)给出
1.2BP网络BP网络是现在应用最为广泛的神经网络它采用光滑活化函数具有一个或多个隐层相邻两层之间通过权值全连接它是前传网络,即所处理的信息逐层向前流动而当学习权值时却是根据理想输出与实际输出的误差,由前向后逐层修改权值误差的向后传播即BackPropagationBP网络的拓扑结构见图
1.7(以带一个隐层和一个输出单元的BP网络为例)图
1.7BP网络结构选定一个非线性光滑活化函数并按稍后给出的规则确定了权矩阵和之后,对任一输入信息向量网络的实际输出为
1.
2.1a其中隐层输出为
1.
2.1b现在,假设给定一组样本输入向量及相应的理想输出并记为相应的网络实际输出定义误差函数
1.
2.2权值矩阵的确定(即学习过程)应使误差函数达到极小为此,一个简单而又常用的方法是梯度下降法取当前权值的改变量为
1.
2.3其中为学习速率,
1.
2.4而
1.
2.5是隐层单元对第个输出层单元的线性输入进一步,我们可以得到当前权值的改变量应为
1.
2.6其中
1.
2.7综合以上讨论我们看到,应用BP网络时所处理的信息(工作流程)是前向传播的(见
1.
2.1),因此称为前传网络而在网络学习阶段,是用误差的向后(或称反向)传播来逐层修改权值(见
1.
2.3和
1.
2.6),因此称为反向传播(BackPropagation)算法下面讨论BP网络理论与应用中的一些细节1在线梯度法在迭代公式
1.
2.
31.
2.6中,我们必须将所有训练样本全部输入到网络中,然后才能对当前的权值做一小步调整实际应用中,样本数常常很大,上述做法看来不够经济因此,广泛应用的是下述所谓在线梯度法在第步迭代修改当前权值和时,随机选取一个样本定义权值增量为
1.
2.8现在,每输入一个训练样本向量我们马上修改一次当前权值关于在线梯度法收敛性的一些讨论可参见[Wuand___2002,WuFengandLi2002]2局部极小问题像所有利用导数的优化方法一样,梯度法很容易陷入误差函数的局部极小在线梯度法可以看作是梯度法的一种随机扰动,有助于跳出局部极小另外应该指出,对许多实际问题,局部极小解是可以接受的3活化函数的选择通常选为符号函数的光滑逼近,即Sigmoid型函数,例如
1.
2.
91.
2.10其中是适当选定的正常数一般地,满足如下性质的函数称为Sigmoid函数光滑单调递增,上、下有界(称为饱和性)饱和值可以是0/1例如
1.
2.9也可以是±1例如
1.
2.10以上列举的两个函数还有一个特点就是它们的导数值可以由其函数值给出,分别有
1.
2.
111.
2.12这一性质有利于减小计算量当然,也可以选择其他活化函数例如,径向基函数、小波函数、样条函数等等这些函数在某些逼近性质方面可能比Sigmoid型函数好,但是Sigmoid型函数的鲁棒性(robustness)更好另外,
1.
2.1中两层的活化函数可以选成不相同的对于分类问题,两层的活化函数通常都选成Sigmoid型函数而做逼近问题时,常常将从隐层到输出层的活化函数改成单位函数4初始权值的选取初始权值通常选取为接近于0的随机数太大的初值可能使系统过早地陷入饱和区(例如对于Sigmoid函数当较大时),不利于进一步学习5其它误差函数二次型函数
1.
2.2并非是误差函数的唯一选择任何一个可微函数,只要在处取最小,都可以代替并导出相应的权值更新规则下面的所谓“熵测度”函数就是一个有自己特点的误差函数
1.
2.13这里我们设
1.
2.1中的饱和值为±1特别地,若取则可推得相应于
1.
2.4的公式现在成为
1.
2.14我们注意到
1.
2.4中的导数项现在换成了常数项这一改变克服了权值修改公式
1.
2.3的如下缺点当实际输出极端错误(例如)时由
1.
2.12接近于零从而使本来应做较大改变的当前权值只得到极小的改变可以用折衷的方式综合两个误差函数的优点比如定义相应于
1.
2.4的公式为
1.
2.156学习速率的选择在梯度下降法中,学习速率(或步长)如果太小,则收敛速度很慢;如果太大又可能引起迭代解的剧烈振荡因此,的选择并非易事下面的所谓的自适应规则是常用的在每一步(或若干步)权值迭代更新后给当前的值一个改变量
1.
2.16其中是误差函数E的改变量和是适当的正常数7梯度下降法的改进梯度下降法可称之为盲人下山法它在当前位置周围探出下降最快的方向,然后沿此方向走长度为的一步从局部来说,这是最好的方法但是让我们想象沿一个凸凹不平的山坡滚下的石头,它滚动到某一点时不但受到局部凸凹情况下降方向的制约,而且受到惯性的影响这块滚石下山的路线似乎应该优于那位盲人的路线据此想法,我们可以在权值改变量中加一个惯性(矩)项参见[Rumelhart1986]
1.
2.17这里表示任一权值由
1.
2.17,容易推得下列公式
1.
2.18在学习迭代过程中,设,是正的或负的(表示误差函数随权值分量的增大而增大或减小),则相应地减小或增加时
1.
2.18容易发散时,可能产生不合理的震荡总之,通常取为
(01)间正常数也可以选用牛顿法、共轭梯度法等其它更高级的优化方法例如参见[Ampazis2002]8网络逼近能力一个典型的结果是,若是一个相当任意的非线性函数例如Sigmoid函数但不是多项式,则存在适当的隐单元个数及权值和使得神经网络
1.
2.1以任意给定精度逼近一个给定的的连续函数参见[Chen1984]这就给多层前传网络的广泛应用提供了理论保证9隐层个数由以上结果可以看出,多于一个隐层的前传网络显然不是必要的但是对于某些问题,更多的隐层有可能导致总的单元数减少从而得到更有效的神经网络带更多隐层的相应的学习方法可类似于
1.
2.3~
1.
2.8推得10隐单元个数在前传网络的构造中,输入单元个数和输出单元个数通常由实际问题本身决定,而隐单元个数的选择则是有讲究的一般来说,隐单元个数越多,对样本集的学习精度就越高(参看上面关于网络逼近能力的讨论)而__(即将网络应用于未经学习的输入向量)能力就越差这种情形很像数值逼近理论中用多项式去逼近已知几个给定点下图中○点的未知函数多项式次数越高则对给定点的逼近越好,而对未知函数曲线上其它点下图中×点的逼近能力(即__能力)就越差这是因为多项式次数越高,则函数值震荡越剧烈图
1.8次数适当的多项式逼近图
1.9次数过高的多项式逼近因此,在满足适当的样本学习精度的前提下隐节点个数应该尽可能地小这一点对于减少网络成本也是有益的可以先确定一个满足精度要求的较大的然后逐步减少直到精度不再满足要求时为止也可以反过来,从一个较小的出发,逐步增大直到满足精度要求在[Widro1985]中,给出这方面一个理论结果如下,可供参考设是对于样本集训练的允许精度比如,若允许有1/10的训练样本给出错误输出,则,是BP网络中权值的个数,是训练样本模式的个数,则应与有相同的数量级
1.
2.1911输入模式的表示与预处理前传网络的输入模式可以是某一变量的空间分布(例如股市中某日的成交量、收盘价、十日__等等),也可以是某一“时间序列”(例如某地的每天温度、某人讲话的音素流等等)的连续项,如何根据具体问题来确定的表示是极为重要的,称为数据预处理例如在股市分析中,若当日成交量以股数为单位作为的一个分量,则数量级太大,可能完全埋没其它分量的作用一个简单的做法是,调整各分量的表示单位(例如成交量以千万股为单位),使其具有大致相同的数量级预处理的另一个原则是通过坐标轴的平移使输入样本各分量的平均值接近于零(除了相应于阈值的分量之外),即
1.
2.20例如,若各个样本的第一个分量大致均匀地分布在区间,则可以做变换使得变换后的平均值接近于零在[Haykin2001]§
2.6中,从概率统计学的角度讨论了这样做的理由我们在图
1.10中给出一个粗浅的几何解释考虑的分类问题设的取值范围为,而是定常数设相应于阈值的分量用平面几何知识可以证明,当时,下图中的角度取最大值(注意当时显然有),这时,分类边界的可能变化角度也取最大值意味着有更大的选择余地图
1.10输入样本向量的取值范围还可以用主分量分析方法减小输入向量的维数(参见[徐秉铮1994]第九章)12理想输出考虑分类问题这时,理想输出定义为1和是方便的但是要注意,如果我们利用Sigmoid函数作为活化函数,则有可能在训练过程中使权值趋于无穷大因为为此,可以选取小正数,将理想输出定义为和
1.3BP网络的应用
1.
3.1手写ZIP码识别人们已将BP网络成功地应用于手写数字____ZIP的识别利用从邮件中记录下来的约一万个手写数字进行训练和实验输入为1616象素阵列,通过三个隐层前传到10个输出单元,每个输出单元对应这十个数字之一前两个隐层称为特征检测器第一个隐层有12组单元,每一组有64个单元每组中的任一单元与输入阵列的某一个55方形相连属于同一组的64个单元具有相同的权值,因此它们检测输入区域中不同位置上的某一相同特征采用这种权共享方式以及局部的55接收区使得待定权值数目减小为2512个,再加上阈值6412个,共有待定参数1068个第二隐层是类似的特征检测器,由12组、每组16个单元组成同样采用55接受区和同组单元权共享的方式对于第二隐层中的每一组的单元,其输入取自第一隐层中12个组中8个组的不同组合,从而第二层每组有258个共享的权以及16个阈值第三隐层由30个与前一层单元完全连接的单元组成,有19230个权值和30个阈值最后的十个输出单元与第三隐层也是全连接,有3010个权值和10个阈值整个网络共有1256个单元,9760个待定参数对该网络用反向传播算法来训练并用伪牛顿法来加速利用7360个手写数字训练,并用另外2000个数字测试训练集上误差率约为1%,测试集上误差率约为5%图
1.11ZIP码识别网络
1.
3.2图像压缩BP网络也可以用来作图像压缩,或称编码问题这时,输入层和输出层都由个单元构成,相应于个像素点每个单元取值为±1或01之间,表示不同的像素灰度中间隐层单元个数为/即为网络对图像的压缩比在训练学习阶段中,选取待传输图像的若干小块,既作为网络输入,也作为理想输出训练完成后在发射端将需传输的图像分成若干小块,分别由中间隐层处理见
1.
2.1b后,将隐单元输出__传输到接收端,再由输出层单元处理见
1.
2.1a后得到接收端的图像图
1.12用BP网络做图像压缩
1.
3.3股票预测我们曾利用BP网络来预测__股市指数涨跌参见[吴微2001][李正学2001]输入层有16个单元,包括今日最高、最低及收盘指数,当日及三十日平均成交量等16个参数隐层为6-8个单元,输出层为一个单元输出+1时表示预测第二天涨,输出时则表示第二天跌活化函数选为
1.
2.10其中β=
0.65,并采用了惯性项见
1.
2.17训练时,采用100天数据中的80天的数据作为训练样本,而另外20天作为检测样本训练样本精度达到95%左右,而检验样本精度在65-80%之间PAGE11。