![]() |
1.3 神经网络 |
神经网络是一种机器学习算法,而反向传播网络(简称BP网络)作为一种应用最广泛的神经网络,具备一套完整的理论体系和成熟的学习机制。它模仿人脑神经元对外部激励信号的反应过程,建立多层感知器模型,利用信号正向传播和误差反向调节机制,通过多次迭代学习,搭建出处理非线性信息的网络模型。BP网络及其算法是人工神经网络的精华所在,它被广泛应用于函数逼近、模式识别、故障分类等。而在实际应用的人工神经网络,80%~90%都是直接采用BP网络或是其变种形式 [10] 。
通常,BP神经网络由输入层、隐含层和输出层构成,相邻两层的节点彼此互相连接,但位于同一层的节点间没有任何连接。隐含层节点个数目前尚无确定的标准,可通过反复试凑的方法,以相对较好的实验结果确定节点数。根据Kolmogor定理,我们知道:一个三层的BP神经网络,如果隐含层采用Signal型的激活函数,那么在闭区间上,能以任意精度逼近相应的非线性连续函数。
为了简化说明,本节选择具有单隐含层的BP神经网络进行说明,即只有一层隐含层。如图1-2所示为一个具有单隐含层的BP神经网络模型 [11] 。
图1-2 具有单隐含层的BP神经网络模型
在BP算法中,各层神经元节点的激活函数必须是处处可导的,因此处处可导的S形曲线被经常使用,如对数函数和正切函数。在实际操作中,纯线性函数常用作输出层的激活函数,如图1-3所示为对数函数logsig()和纯线性函数purelin()。
图1-3 激活函数logsig()和purelin()
1 .标准 BP 算法的主要思想
标准BP算法 [12] 把整个训练过程分成两个阶段,即信号的正向传播阶段和误差的反向调节阶段。在正向传播过程中,输入信号在权值和阈值的作用下经隐含层传向输出层,并在输出端产生累加计算结果。这一过程中,存在于网络中的连接权值和阈值保持不变,并且上一层神经元的输出只能作用于与其相邻的下一层神经元节点。当正向传播的结果与样本对的期望输出间的误差不能满足预先设定的误差精度时,转到误差的反向调节阶段。在误差的反向调整过程中,误差信号由输出端开始,按照学习算法向前传播,并将误差动态地分配给连接输出层与隐含层、隐含层与输入层的神经元间的权值。经过这种反复的调节,神经元间的权值和阈值得到不断的修正,并趋于稳定。在正向传播的计算结果与样本对的期望输出间的误差满足预先设定的误差精度或达到最大学习次数时,停止训练学习。
2 .标准 BP 算法的主要步骤
为了简化说明,本节以典型的三层BP网络为例,详细描述BP算法的计算流程,如图1-4所示。标准BP算法是一种基于梯度下降的学习算法,当网络输出与期望输出的误差达不到要求时,通过误差的反向调整过程,把误差分摊到存在于网络中的权重中,使正向传播的计算结果与样本对的期望输出间的均方误差趋于最小得以实现。
图1-4 BP神经网络流程图
本节为了描述方便,先对所使用到的变量做一详细的说明。
输入向量: x =(x 1 ,x 2 ,…,x n )。期望输出向量: d =(d 1 ,d 2 ,…,d q )。
隐含层输入向量:
。激活函数:f (·)。
隐含层输出向量:
。隐含层各神经元的阈值:b
h
。
输出层输入向量:
。输出层各神经元的阈值:b
o
。
输出层输出向量:
。样本数据个数:k=1,2,…,m。
输入层与隐含层间的连接权值:w ih 。隐含层与输出层的连接权值:w ho 。
标准BP算法具体实现步骤 [13~14] 如下:
(1)网络初始化,为连接权值w
ih
、w
ho
和阈值b
h
、b
o
,随机生成一组范围在(0,1)的数,并设定误差函数
,以及误差精度ε和最大迭代次数M。
(2)随机选取一组数据,形成一个样本对。例如,选择第k个样本对(x(k),d (k)),其中输入样本集为x(k)=(x 1 (k),x 2 (k),…,x n (k)),对应着输出样本集为d(k)=(d 1 (k),d 2 (k),…,d q (k))。
(3)在输入层和隐含层间连接权值的作用下,计算隐含层各神经元节点的输入
,以及经激活函数作用后,隐含层各神经元节点的输出
。
(4)将期望输出d (k)和实际输出
带入误差计算公式中,得到该样本对的误差,并计算误差函数对输出层各神经元节点的偏导数δ
o
(k):
(5)进入误差反向调整阶段,将步骤(4)得到的输出层偏导数δ o (k)带入式(1.9)中,计算误差函数相对于隐含层各神经元节点的偏导数δ h (k):
(6)将步骤(4)和步骤(5)得到的输出层各神经元节点的偏导数和隐含层各神经元节点的偏导数,对输出层与隐含层的神经元节点间的连接权值w ho (k)、阈值b o (k)做如式(1.10)和式(1.11)的调整:
其中,η为学习率,取值为(0,1)。
(7)使用步骤(5)得到的偏导数和输入x i (k)数据,对输入层与隐含层的神经元节点间的连接权值w ik (k)、阈值b h (k)做如式(1.12)和式(1.13)的调整:
(8)计算全局误差E:
(9)判断网络误差是否满足要求,即当E<ε或训练次数大于最大训练次数M时,算法终止,并输出此刻网络中各神经元节点间的连接权值、阈值;否则再从样本集中随机选择下一个训练样本对,返回到步骤(3),执行下一轮训练。
BP神经网络作为人工智能领域的前沿技术,具有超强的理论依据和严谨的推导过程。虽然BP算法有着广泛的应用,但由于其采用的是一种基于梯度下降的权重调整方法,这使其存在明显的缺陷 [15~17] :
(1)输出误差收敛速度慢。经过一段时间的训练,标准BP算法的学习速度将变得非常缓慢。在误差下降过程中,难免产生振荡现象,将严重影响网络的收敛速度。
(2)在对网络权值、阈值的训练过程中,很容易陷入局部最小值。在训练过程中,当达到最小值时,其误差变化量将会很小,出现误差下降的停滞状态。
(3)BP网络拓扑结构的确定没有充分的理论依据。在实际应用中,怎样确定网络中隐含层的层数及每一层选用多少个神经元节点,国内外学者做了许多有益的尝试,提出了经验公式法、反复试验法、增长法、删减法等多种估算隐含层神经元节点数的方法,但目前还没有形成完善的理论体系 [18~21] 。
![]() |
1.4 支持向量机 |
Vapnik与其领导的贝尔实验室从20世纪60年代开始致力于统计学习理论的研究,其为支持向量机打下了坚实的理论基础。支持向量机以统计学习理论的VC维理论和结构风险最小化原则为基础,其良好的泛化能力来源于有限样本信息在模型的学习能力和复杂性之间合适的比例。它具有简洁的数学形式、直观的几何解释、完备的理论基础和良好的推广能力,有效地克服了“维数灾难”,其学习训练过程转化为一个二次规划问题,避免了局部最优解,较好地解决了非线性、高维及小样本模式识别中的实际问题,目前已经成为机器学习领域研究的热点之一,并成功应用推广到分类、函数拟合和时间序列预测等其他机器学习中。
统计学习理论提出的结构风险最小化原则以降低机器学习复杂度为出发点。学习机器以此原则为基础在可容许的经验风险范围内,总是采用具有最低复杂度的函数集。统计学习理论与神经网络不同,它是建立在坚实的数学基础之上的,具有复杂和完整的理论体系。目前由于统计学习理论受到关注的时间比较短,而导致工程上应用还比较少,但是统计学习理论在理论上已经比较成熟,为解决小样本的问题提供了统一的框架。其核心概念就是用VC维来描述学习机器的复杂度,并以VC维为出发点推导出了表示学习机器推广能力的界的概念。统计学习理论在不需要利用样本数趋于无穷大的渐进性条件的情况下致力于寻找在小样本情况下学习问题的最优解,这使得在小样本情况下统计学习理论同样具有良好的推广价值。
1 . VC 维
指示函数集的VC维是指用来刻画指示函数集容量的系数h。如果指示函数集的生长函数以参数h的对数函数为界,则该指示函数的VC维等于h且是有限的;以线性函数为生长函数的指示函数集的VC维是无穷大。
VC维反映了学习机器复杂程度和函数集的学习能力。目前只知道一些特殊函数集的VC维,比如在n维实数空间中线性函数的VC维是n+1。关于计算任意函数集VC维的通用理论还没成型。比较复杂的学习机器的VC维就更不容易确定,因为VC维除了与函数集有关外,还受学习算法的影响。如何计算给定的函数集的VC维是当前统计学习理论中一个有待解决的问题。
2. 推广的界
在统计学习理论中,推广的界是指实际风险和经验风险之间的关系。它们是发展新的学习算法和分析学习机器性能的重要理论基础。对于两类分析问题中指示函数集里的函数,经验风险和实际风险至少以1-η的概率满足下式:
式中,h为函数集的VC维;n为训练样本数。
式(1.15)说明学习机器在经验风险最小化原则下的实际风险由两部分组成,第一部分为训练样本的经验风险,第二部分称为置信范围(即VC置信,它是函数集的训练样本数目和VC维的函数),并且受置信水平1-η的影响。为了说明简洁,式(1.15)可写为:
式(1.16)给出了真实风险和经验风险间差距的上界,反映了机器学习在经验风险最小化原则下的推广能力。
3. 结构风险最小化原则
统计学习理论提出了结构风险最小化原则(SRM原则),用它来解决经验风险与置信范围之和最小化的泛函问题。SRM原则可以称为支持向量机和统计学习理论的基石。SRM原则的思想如下:
把函数集S={f (x,α),α∈∧}分解为一个函数子集序列:
让子集能够按照VC维的大小排列:
此时同一子集S k 的置信范围相同。
SRM原则的思想是最小化期望风险,即选择经验风险与置信范围之和最小的子集S * ,S * 中使经验风险最小的函数就是所求的最优函数。其中:
SRM原则提供了一种不同于经验风险最小化的学习机器设计原则,在实际应用中,支持向量机是“保持经验风险固定,然后最小化置信范围”这条原则的具体实现。
支持向量机(SVM) [22] 是于1992—1995年完成的,它较好地实现了结构风险最小化的思想。对于线性可分两分类问题,假设 n 个样本的训练集D={(x i ,y i ) | i=1,2,…,n},x i ∈R n ,y i ∈{+1,-1}能被超平面H: w ·x+b=0无误地分开,并且超平面到离超平面最近的向量的距离最大,如图1-5所示。
图1-5 支持向量机最优超平面示意图
分类间隔是平行于分类超平面且离分类超平面最近的样本的平面H 1 和H 2 之间的距离,而且间隔=2 w 。
为了使超平面的分类间隔2 w 最大化,应该使 w = ww 最小化,并且保证H 1 和H 2 之间没有样本存在,即样本集D中所有的n个样本 ( x i , y i ) 都应该满足下式:
两个条件合并为:
因此,支持向量机的目的是采用式(1.22)构造分类超平面对所有样本正确分类:
SVM 的核心思想之一就是使分类间隔最大。因此使 w 2 = w T w 最小是实现SRM原则中对函数复杂性的选择,即让VC维的上界最小。
对于这个凸二次线性规划优化问题,其解可以通过求解拉格朗日函数获得,把构建最优超平面的问题转化为一个简单的对偶二次规划问题:
这是一个不等式约束下的凸二次规划问题,存在唯一解。
若
为上式的最优解,则:
即最优分类面的权系数向量是训练样本向量的线性组合。
通常对多数样本而言,其对应的
等于零。其他使
的任意样本即使发生来回移动,只要不超越标准超平面,就不会对分类面的求解产生影响
[23]
。根据KKT条件
[24]
(拉格朗日乘子与不等式的乘积),这个优化问题的解还必须满足:
通过选择不为零的
,代入上式进而求解分类阈值b
*
。
求解上述问题后得到的最优分类函数为:
式中sgn(·)是符号函数。
根据泛函的理论,满足Mercer条件 [25] 的核函数K (x i ,x j )对应某一变换空间中的内积(x i ·x j )。对非线性问题,若采用适当的核函数K(x i ,x j )可以在不增加计算复杂度的条件下实现某一非线性变换后的线性分类。此时目标函数变为:
而相应的最优分类函数为:
这就是支持向量机。
在支持向量机中核函数决定了特征空间的结构,常用的主要有以下三类。
(1)多项式核函数:
(2)径向基函数(RBF):
(3)Sigmoid核函数:
支持向量机在特征空间中构建最优超平面从而得到全局最优。它是统计学习理论的具体实现,与神经网络为代表的传统机器学习方法相比,具有以下 4 个重要的优点 [26] :
(1)它解决了小样本学习问题。支持向量机是专门针对有限样本情况的,其目标不仅仅是样本数趋于无穷大时的最优值,而是得到现有信息下的最优解,其在解决小样本学习问题中表现出了许多特有的优势。
(2)它解决了高维问题。在解决高维问题时,神经网络比较容易陷入局部最优,为了避免这一点,支持向量机只选择具有最大分类间隔的最优超平面,使用大间隔因子来控制训练过程。从而使其在满足分类要求的情况下,具有最高和最广的特性。
(3)它解决了结构选择的难题。支持向量机的结构相当简单,采用固定的三层结构,隐含层节点数由支持向量机确定。
(4)它解决了局部极值问题。支持向量机得到的解是理论上的全局最优解,因为算法最终转化为凸二次规划的优化问题。
![]() |
1.5 小波分析 |
为了研究信号在局部时间段的频域特征,1946年Gabor提出了著名的Gabor变换,之后发展成为短时傅里叶变换(Short Time Fourier Transform,STFT)。其基本思想是对信号加窗,然后对窗内的信号进行傅里叶变换,因此它可以反映出信号的局部特征。STFT在实践中得到了广泛的应用。但由于STFT的定义决定了其窗函数的大小和形状与时间和频率无关,为固定窗函数的大小和形状(一般来说,实际中高频信号持续时间很短,而低频信号持续时间较长),因此希望能够对低频信号采用大时间窗进行分析,而对于高频信号采用小时间窗进行分析。小波变换继承了STFT的思想,它的窗口大小不变,但窗口形状可以改变,是一种时间窗和频率窗都可以改变的时频分析方法,即在低频部分具有较高的频率分辨率和较低的时间分辨率,在高频部分具有较高的时间分辨率和较低的频率分辨率,因此在时频域都具有很强的表征信号局部特征的能力 [27] 。
定义 1.1 设φ(t)∈L 2 (R),其傅里叶变换为φ(ω),当φ(ω)满足容许条件(完全重构条件或恒等分辨条件)
时,称φ(t)为一个基本小波或母小波。将母小波φ(t)经伸缩和平移后得:
称其为一个小波序列。其中,a为伸缩因子,b为平移因子。
对于任意函数 f (t)∈L 2 (R)的连续小波变换为:
其重构公式(逆变换)为:
由于基本小波φ(t)生成的小波序列φ a , b (t)在小波变换中对被分析信号起着观测窗的作用,因此φ(t)还应该满足一般函数的约束条件:
故φ(ω)是一个连续函数。这意味着为了满足完全重构条件,φ(ω)在原点必须等于0,即
为了使信号重构的实现在数值上是稳定的,除了满足完全重构条件外,还要求小波φ(t)的傅里叶变换满足下面的稳定性条件:
式中,0<A≤B<∞。
从稳定性条件可以引出一个重要的概念。
定义
1.11 若小波φ(t)满足稳定条件,则定义一个对偶小波
,其傅里叶变换
为:
从式(1.41)可以看出,稳定条件实际上是对分母的约束条件,它的作用是保证对偶小波的傅里叶变换存在。
值得注意的是,一个小波的对偶小波一般不是唯一的,然而在实际应用中通常希望一个小波具有唯一的对偶小波。因此寻找具有唯一对偶小波的合适小波就成为小波分析的基本问题之一。
通过总结我们可以看出,连续小波变换主要具有以下重要性质:
(1)线性:一个多分量信号的小波变换等于各个分量的小波变换之和。
(2)平移不变性:若f (t)的小波变换为W f (a,b),则 f (t-τ)的小波变换为:
(3)伸缩公变性:若f (t)的小波变换为W f (a,b),则 f (ct)的小波变换为:
(4)自相似性:对应不同尺度参数a和不同平移参数b的连续小波之间是自相似的。
(5)冗余性:连续小波变换中存在信息表述的冗余。
在实际运用中,尤其是在计算机上实现时,连续小波变换必须加以离散化。因此,有必要讨论连续小波序列φ a , b (t)和连续小波变换W f (a,b)的离散化。
在连续小波中,考虑函数:
式中,b∈R,a∈R + ,且a≠0,φ是容许的,为了方便起见,在离散化中,总限制a只能取正值,这样相容性条件就变为:
通常,把连续小波变换中尺度参数 a 和平移参数 b 的离散化公式分别取作
,
,这里 j∈Z,扩展步长a
0
≠1是固定值,为方便起见,总是鉴定a
0
>1 (由于m可以取正也可以取负,因此这个鉴定无关紧要)。所以对应的离散小波函数φ
j
,
k
(t)即可写作:
而离散化小波系数则可表示为:
其重构公式为:
C是一个与信号无关的常数。