《神经网络数学基础》由会员分享,可在线阅读,更多相关《神经网络数学基础(63页珍藏版)》请在金锄头文库上搜索。
1、神经网络的数学基础神经网络的数学基础信号和权值向量空间信号和权值向量空间n将神经网络的输入、输出以及权值矩阵的将神经网络的输入、输出以及权值矩阵的行作为向量看待是非常有好处的。这些都行作为向量看待是非常有好处的。这些都是中的向量。是中的向量。 是标准的是标准的n维欧基里维欧基里德空间德空间线性向量空问线性向量空问如图如图1 1所示。显然它是一个向量空间,并且对于向量加所示。显然它是一个向量空间,并且对于向量加和标量乘全部满足和标量乘全部满足1010个条件。个条件。 的子集又将如何的子集又将如何? ?考虑图考虑图2 2中方框内的区域中方框内的区域x x。向量。向量x x和和y y在区域内,但是在
2、区域内,但是x+yx+y却可能不在的区域内。从这个例子可以看出,任何却可能不在的区域内。从这个例子可以看出,任何限定边界限定边界的集合都不可能是向量空间。的集合都不可能是向量空间。所有经过坐标轴原点的直线都满足上述所有经过坐标轴原点的直线都满足上述1010个条件。但个条件。但是,如果直线不经过坐标轴的原点,那么至少这种直线是,如果直线不经过坐标轴的原点,那么至少这种直线不能满足第不能满足第4 4个条件。个条件。 n如果已经习惯于将向量看作是一列数字,那么如果已经习惯于将向量看作是一列数字,那么这两个元素的确是奇怪的向量。但是请记住:这两个元素的确是奇怪的向量。但是请记住:一个集合只要满足上述一
3、个集合只要满足上述1010个条件,就可以被认个条件,就可以被认为是一个向量空间。为是一个向量空间。n例如考虑最高阶数小于或等于例如考虑最高阶数小于或等于2 2的多项式集合的多项式集合此集合的两个元素是:此集合的两个元素是:由于两个连续函数的和仍然是一个连续函数,一个由于两个连续函数的和仍然是一个连续函数,一个标量乘以一连续函数仍然是一个连续函数,所以集标量乘以一连续函数仍然是一个连续函数,所以集合也是一个向量空间这个集合与前面讨论过的向量合也是一个向量空间这个集合与前面讨论过的向量空间不同,空间不同,它是无限维的它是无限维的。线性无关线性无关线性无关与之相反,如果线性无关与之相反,如果当且仅当
4、每个均等于零,那么称其是一组线性无关当且仅当每个均等于零,那么称其是一组线性无关的向量。注意这些定义实际上等价于:如果一个向的向量。注意这些定义实际上等价于:如果一个向量集合是无关的,那么这个集合中的任何向量都不量集合是无关的,那么这个集合中的任何向量都不能表示成该集合中其他向量的线性组合。能表示成该集合中其他向量的线性组合。生成空间生成空间X的基集是由生成它的线性无关的向量所组成的集合。的基集是由生成它的线性无关的向量所组成的集合。任何基集包含了生成空间所需要的最少个数的向量。任何基集包含了生成空间所需要的最少个数的向量。X的维数就等于基集中元素的个数。任何向量空间都可以的维数就等于基集中元
5、素的个数。任何向量空间都可以有多个基集,但每一个基集都必须包含有多个基集,但每一个基集都必须包含相同数目的元素相同数目的元素。内积内积范数范数正交性正交性向量展开式向量展开式互逆基向量互逆基向量n如果需要向量展开式,而基集又不是正交的,如果需要向量展开式,而基集又不是正交的,那么就必须引人下列等式所定义的互逆基底:那么就必须引人下列等式所定义的互逆基底:由此可以看出,当要用一列数由此可以看出,当要用一列数字表示一个一般向量时,必须字表示一个一般向量时,必须知道其向量展开式所采用的基知道其向量展开式所采用的基集是什么。在如果没有特殊说集是什么。在如果没有特殊说明,那么假设所采用的都是标明,那么假
6、设所采用的都是标准基集。准基集。Gram矩阵矩阵只是向量个数比这些向量的原始空间中向量个数要少只是向量个数比这些向量的原始空间中向量个数要少(R(R4 4空间中的空间中的3 3个向量个向量) )。在这种情况下,由这。在这种情况下,由这3 3个向量所个向量所构成的矩阵不再是一个方阵,所以不能计算其行列式的构成的矩阵不再是一个方阵,所以不能计算其行列式的值。可以采用称为值。可以采用称为GramGram的方法,这种方法按可以求出一的方法,这种方法按可以求出一个矩阵的行列式,矩阵的第个矩阵的行列式,矩阵的第i i行第行第j j列的元素是向量列的元素是向量i i和和向量向量j j的内积。的内积。这些向量
7、是线性相关的当且仅当这些向量是线性相关的当且仅当G G矩阵的矩阵的行列式为零。行列式为零。 神经网络中的线性变换神经网络中的线性变换n诸如特征值、特征向量和基变换等基本诸如特征值、特征向量和基变换等基本概念,这些概念对理解一些诸如性能学概念,这些概念对理解一些诸如性能学习习( (反传学习算法反传学习算法) )以及以及HopfieldHopfield网络的网络的收敛特性等神经网络关键课题是十分重收敛特性等神经网络关键课题是十分重要的。要的。线性变换线性变换n变换:一个变换由三部分组成变换:一个变换由三部分组成旋转变换旋转变换两个向量之和的旋转两个向量之和的旋转伸缩向量的变换伸缩向量的变换矩阵表示
8、矩阵表示n可以证明两个有限维向量空间之间的任可以证明两个有限维向量空间之间的任何线性变换都可以用一个矩阵来表示何线性变换都可以用一个矩阵来表示( (这这和在有限维的向量空间中的任何一个向和在有限维的向量空间中的任何一个向量可以用一个数列来表示是一样的量可以用一个数列来表示是一样的) )。请记住:与一般向量的数列表示形式并不是请记住:与一般向量的数列表示形式并不是惟一的类似,一个变换的矩阵表示也不是惟惟一的类似,一个变换的矩阵表示也不是惟一的。如果改变定义域或值域的一的。如果改变定义域或值域的基集基集,那么,那么变换的矩阵表示也会随之改变。变换的矩阵表示也会随之改变。n以旋转变换为例,来讨论变换
9、的矩阵表示,以旋转变换为例,来讨论变换的矩阵表示,看看如何找到该变换的矩阵表示。看看如何找到该变换的矩阵表示。可以看到展式中的两个系数就是的矩阵中的第一列。可以看到展式中的两个系数就是的矩阵中的第一列。从展式中可以得到矩阵表示中的第二列。所以,从展式中可以得到矩阵表示中的第二列。所以,完整的矩阵表示可以由下式:完整的矩阵表示可以由下式:特征值和特征向量特征值和特征向量n考虑一个线性交换考虑一个线性交换: : ( (定义域和值域相同定义域和值域相同) )。分别称满足下式的那些不等于分别称满足下式的那些不等于0 0的向量和标量分别是特的向量和标量分别是特征向量和特征值征向量和特征值:n请注意,特征
10、向量实际上并不是一个真正的向量,而请注意,特征向量实际上并不是一个真正的向量,而是一个向量空间是一个向量空间。所以,给定变换的一个特征向量表。所以,给定变换的一个特征向量表示一个方向,当对任何取该方向的向量进行变换时,示一个方向,当对任何取该方向的向量进行变换时,它们都将继续指向相同的方向,仅仅是按照特征值对它们都将继续指向相同的方向,仅仅是按照特征值对向量的长度进行缩放。向量的长度进行缩放。如果某个变换有如果某个变换有n n个不同的特征值,则可以保证得个不同的特征值,则可以保证得到该变换到该变换n n个线性无关的特征向量,因此特征向量个线性无关的特征向量,因此特征向量组成变换的向量空间的一个
11、基集。组成变换的向量空间的一个基集。性能曲面和最优点性能曲面和最优点n介绍的是一类称为性能学习的神经网介绍的是一类称为性能学习的神经网络训练的基础知识。神经网络有几种不络训练的基础知识。神经网络有几种不同类型的学习规则,如联想学习同类型的学习规则,如联想学习(Hebb(Hebb学学习习) )和竞争学习。性能学习是一类重要的和竞争学习。性能学习是一类重要的学习规则,其目的在于调整网络参数以学习规则,其目的在于调整网络参数以优化网络性能。主要目的是研究性能曲优化网络性能。主要目的是研究性能曲面,并确定性能曲面存在极大点和极小面,并确定性能曲面存在极大点和极小点的条件。点的条件。性能优化性能优化n
12、这种优化过程分两个步骤进行。第一步这种优化过程分两个步骤进行。第一步是定义是定义“性能性能”的含义。换言之,需要的含义。换言之,需要找到一个衡量网络性能的定量标准,即找到一个衡量网络性能的定量标准,即性能指数,性能指数在网络性能良好时性能指数,性能指数在网络性能良好时很小,反之则很大。优化过程的第二步很小,反之则很大。优化过程的第二步是搜索减小性能指数的是搜索减小性能指数的参数空间参数空间( (调整网调整网络权值和偏置值络权值和偏置值) )。泰勒级数泰勒级数n假定性能指数是一个解析函数,它的各级导数假定性能指数是一个解析函数,它的各级导数均存在均存在。向量的情况向量的情况n神经网络的性能指数并
13、不仅是一个纯量神经网络的性能指数并不仅是一个纯量的函数,它是所有网络参数的函数,它是所有网络参数( (各个权值和各个权值和偏置值偏置值) )的函数,参数的数量可能是很大的函数,参数的数量可能是很大的。因此,需要将泰勒级数展开形式扩的。因此,需要将泰勒级数展开形式扩展为多变量形式。展为多变量形式。方向导数方向导数n最大斜率在什么方向最大斜率在什么方向上上? ?当方向向量与梯当方向向量与梯度的内积最大时斜率度的内积最大时斜率最大,故当方向向量最大,故当方向向量与梯度同向时会出现与梯度同向时会出现最大斜率最大斜率( (注意方向注意方向向量的长度对此没有向量的长度对此没有影响,因为它已被规影响,因为它
14、已被规格化格化) )。极小点极小点优化的必要条件优化的必要条件n定义了最优点定义了最优点( (极小点极小点) )后,必须给出这种点后,必须给出这种点需要满足的条件。这里还要用到泰勒级来需要满足的条件。这里还要用到泰勒级来推导这些条件:推导这些条件:驻点:一个极小点处的梯度一定为零。这就是局驻点:一个极小点处的梯度一定为零。这就是局部极小点的一阶必要条件部极小点的一阶必要条件( (不是充分条件不是充分条件) )。二阶条件二阶条件可以通过检验矩阵特征值来检验这些条件,如果所可以通过检验矩阵特征值来检验这些条件,如果所有特征值为正则矩阵为正定矩阵;如果所有特征值有特征值为正则矩阵为正定矩阵;如果所有
15、特征值非负,则矩阵为半正定矩阵。非负,则矩阵为半正定矩阵。充分条件:一个正定的赫森矩阵是一个强极小点存充分条件:一个正定的赫森矩阵是一个强极小点存在的二阶充分条件,但不是必要条件。如果泰勒级在的二阶充分条件,但不是必要条件。如果泰勒级数的二阶项为零,但三阶项为正,仍可能存在强极数的二阶项为零,但三阶项为正,仍可能存在强极小点。所以强极小点存在的二阶充分条件是赫森矩小点。所以强极小点存在的二阶充分条件是赫森矩阵为半正定矩阵。阵为半正定矩阵。二次函数二次函数二次函数的所有的高阶导数为零。二次函数的所有的高阶导数为零。n研究赫森矩阵的特征值和特征向量得到二次函数研究赫森矩阵的特征值和特征向量得到二次
16、函数性质。考虑以原点为驻点且其值为性质。考虑以原点为驻点且其值为0 0的二次函数:的二次函数:由于由于A A为对称矩阵,所以其特征向量两两正交。为对称矩阵,所以其特征向量两两正交。可用特征向量作为列向量构成一个的矩阵:可用特征向量作为列向量构成一个的矩阵:n用方向导数的概念说明用方向导数的概念说明A A的特征值和特征向量的特征值和特征向量的物理意义以及确定二次函数的曲面特性:的物理意义以及确定二次函数的曲面特性:( (特征向量集可作为向量空间的基特征向量集可作为向量空间的基) )首先,这个二阶导数是特征值的加权平均。所以它首先,这个二阶导数是特征值的加权平均。所以它总不大于最大的特征值,或不小
17、于最小特征值。换总不大于最大的特征值,或不小于最小特征值。换句话说:句话说:n所以,在最大特征值的特征向量方向上存在最所以,在最大特征值的特征向量方向上存在最大的二阶导数。事实上:在每个特征向量方向大的二阶导数。事实上:在每个特征向量方向的二阶导数都等于相应的特征值。在其他方向的二阶导数都等于相应的特征值。在其他方向上二阶导数等于特征值的加权平均值。特征向上二阶导数等于特征值的加权平均值。特征向量方向上的相应特征值即是在该方向上的二阶量方向上的相应特征值即是在该方向上的二阶导数。导数。现将二次函数的一些特点小结如下:现将二次函数的一些特点小结如下:1)1)如果赫森矩阵的所有特征值为正,则函数有
18、一个强如果赫森矩阵的所有特征值为正,则函数有一个强极小点极小点2)2)如果赫森矩阵的所有特征值为负,则函数有一个强如果赫森矩阵的所有特征值为负,则函数有一个强极大点极大点3)3)如果赫森矩阵的特征值有正有负,则函数有一个鞍如果赫森矩阵的特征值有正有负,则函数有一个鞍点。点。4)4)如果赫森矩阵的所有特征值为非负,但某些特征值如果赫森矩阵的所有特征值为非负,但某些特征值为零,则函数要么有一个弱极小点,要么没有驻点。为零,则函数要么有一个弱极小点,要么没有驻点。5)5)如果赫森矩阵的所有特征值为非正,但某些特征值如果赫森矩阵的所有特征值为非正,但某些特征值为零,则函数要么有一个弱极大点,要么没有驻
19、点为零,则函数要么有一个弱极大点,要么没有驻点性能优化性能优化n讨论三类优化算法:最速下降法、牛顿法以及讨论三类优化算法:最速下降法、牛顿法以及共扼梯度法。这些算法将用于神经网络的训练共扼梯度法。这些算法将用于神经网络的训练n所有将要讨论的算法都是迭代的。首先,给定所有将要讨论的算法都是迭代的。首先,给定一个初始猜测值,然后按照等式:一个初始猜测值,然后按照等式:最速下降法最速下降法n下降方向下降方向 满足上式的任意向量称为一个下降方向。满足上式的任意向量称为一个下降方向。如果沿此方向取足够小的步长,函数一定递减。这如果沿此方向取足够小的步长,函数一定递减。这带来了另一个问题:最速下降的方向在
20、哪里带来了另一个问题:最速下降的方向在哪里?(?(即在即在什么方向上函数递减速度最快什么方向上函数递减速度最快?)?)这种情况发生于下这种情况发生于下式为最大的负数时:式为最大的负数时:n( (设长度不变,只改变方向。设长度不变,只改变方向。) )这是梯度和方向向量这是梯度和方向向量之间的内积。当方向向量与梯度反向时,该内积为之间的内积。当方向向量与梯度反向时,该内积为负,而绝对值最大。负,而绝对值最大。( (见关于方向导数的讨论。见关于方向导数的讨论。) )所所以最速下降方向的向量:以最速下降方向的向量:n最速下降法:迭代中使用此式得最速下降最速下降法:迭代中使用此式得最速下降的方法。的方法。对最速下降法,有两个用来确定学习速度的常见对最速下降法,有两个用来确定学习速度的常见方法。第一个方法是基于方法。第一个方法是基于 的性能指数的性能指数F(x)F(x)每次每次迭代最小化,即沿下列方向实现最小化:迭代最小化,即沿下列方向实现最小化: