华东理工大学计算机系2014.10.17高级人工智能第三章神经网络图3.1,单个神经元jx1xmxm-1x2xiyjwj1wj2wjiwj(m-1)wjmxwTm个输入分量输出3.1基本概念3.1基本概念基本函数(BasisFunctions)•定义:神经元总输入(x)与输入向量x之间的函数关系。常用的有下列三种基本函数:①线性基本函数(LinearBasisFunctions)•顾名思义,(x)与x之间的函数关系是线性的,即).(130110miiimmTxwxwxwwxwx•这里,w0=为阈值(注意符号),wi为第i个权值分量。•(x)=0在输入空间决定了一个超维平面。一般情况下,(x)为x到的代数距离。②径基函数(RadialBasisFunctions,RBFs)•数学表达式为).(231222112miiimmwxwxwxwxx3.1基本概念•更一般的写法是,令=w,则有•表示x到中心的Euclid距离。•当(x)=r时,式(3.3)在输入空间决定了中心,半径r的一个超维球。).(33122miiixμxx3.1基本概念③椭圆基本函数(EllipseBasisFunctions,EBFs)•径基函数的推广,数学表达式为这里,i为中心(均值)分量,i为宽度分量。•(x)=a2(常数)在输入空间决定了中心为,第i个半轴长度为ai的一个超维椭球。).(431222111miiiimmmxxxx3.1基本概念2.活化函数(ActivationFunctions)•神经元实际输出y与其总输入之间的函数关系。(1)线性活化函数(LinearActivationFunctions)•神经元实际输出y直接等于其总输入,即简称线性神经元,其结构与函数关系如图3.2所示。).(53fy3.1基本概念f()0y=(a)函数关系y(b)神经元结构3.2线性神经元结构与函数关系示意图3.1基本概念(2)阈值活化函数(ThresholdActivationFunctions)•神经元实际输出y与其总输入的函数关系为•称之为阈值神经元。•阈值神经元结构及其函数关系如图3.3所示。•另一种表示是•神经元结构及其函数关系如图3.4所示。).(6301fy).(7311fy3.1基本概念3.3阈值神经元(a)结构与函数关系示意图y(b)神经元结构(a)函数关系f()0y=13.1基本概念3.4阈值神经元(b)结构与函数关系示意图y(b)神经元结构(a)函数关系f()0y=1y=-13.1基本概念(3)S型活化函数(SigmoidActivationFunctions)•神经元实际输出y与其总输入的函数关系为•称之为标准Sigmoid活化函数,神经元结构与函数关系如图3.5所示。•Sigmoid活化函数应用最为广泛。).(exp831111efy3.1基本概念3.5标准Sigmoid神经元结构与函数关系示意图(b)神经元结构y(a)函数关系f()01.00.5渐近线y=+1渐近线3.1基本概念(3)S型活化函数的双曲正切函数形式为:•神经元结构与函数关系如图3.6所示。).(expexpexpexp93fy3.1基本概念3.6双曲正切Sigmoid神经元结构与函数关系示意图(b)神经元结构y(a)函数关系f()01.0-1.0渐近线y=1渐近线y=-13.1基本概念•值得注意的是,标准Sigmoid活化函数关于的一阶偏导数为•于是,当y=0.5或=0时,标准Sigmoid活化函数一阶偏导数有最大值(f‘())max=0.25。•图3.7为标准Sigmoid活化函数一阶偏导数f‘())与之间的关系曲线。).()(expexp10321411122yyyfy3.1基本概念0.250f图3.7标准Sigmoid活化函数f()一阶偏导数变化曲线3.1基本概念•这是一条对称曲线。•显然,标准Sigmoid活化函数在=0附近变化最快。•Sigmoid活化函数的实际输出y=f()与总输入之间的一阶偏导数处处存在。•处处可导是采用这种活化函数的最重要原因之一。3.1基本概念•同样地,我们还可以画出标准Sigmoid活化函数f()关于的二阶偏导数变化曲线,如图3.8所示。•当=1.33时,一阶偏导数变化最快。3.1基本概念050.1-0.122f图3.8标准Sigmoid活化函数f()二阶偏导数变化曲线-51.33-1.333.1基本概念表3.1给出标准Sigmoid活化函数f()与一些特殊自变量之间的对应关系。•从表3.1,我们可以看出,标准Sigmoid活化函数f()的两个重要特性:a)当||5时,f()=(1+exp(-))-1的变化很小,呈现所谓的“饱和”或“截止”状态。b)f(+)=+1和f(-)=0为两条渐近线。输出有界是采用Sigmoid活化函数的最重要原因之二。3.1基本概念3.1基本概念).(113111111111111eeeeeeeff•我们注意到,标准Sigmoid活化函数存在如下关系:3.1基本概念为什么采用Sigmoid活化函数?一种解释如下(参见C.M.Bishop,Neuralnetworksforpatternrecognition,OxfordPress,1995):假设有1、2两个类别,由Bayes公式得:).(exp123111111222211111PpPpPpPpPpPxxxxxx3.1基本概念根据上述推导,似乎可以认为,一个采用Sigmoid活化函数的神经元实现了一个后验概率分布。•我们认为,上述推导只是貌似相同,没有理论依据。3.1基本概念•Sigmoid活化函数的一般形式为•这里,•为强度因子,控制神经元实际输出大小;•为粒度因子,控制Sigmoid曲线弯曲程度。•我们简单分析一下和对Sigmoid曲线的影响。)13.3(exp1exp11fy3.1基本概念(3.14)就是一般形式的阈值函数。特别地,=1是标准阈值函数。•将(3.13)在=0处一阶展开,得•这就是一般形式的线性活化函数。)15.3(41200fffy)14.3(0,,如果如果fy3.1基本概念从这些意义上讲,阈值活化函数和线性活化函数分别是Sigmoid活化函数的极限情况。图3.9为固定时,f()随的变化情况,越小,f()曲线越平缓,反之越陡峭。3.1基本概念0.50510-10-5f()=0.1=1/3=1=3=10图3.9当固定时,随的变化情况3.1基本概念图3.10是一个二输入单输出线性阈值神经元结构示意图。•这里,“线性”指基本函数类型,“阈值”指活化函数类型。•该神经元总输入为其中,x0=+1。)16.3(2022110iiixwxwxwwx3.1基本概念3.10线性阈值神经元结构示意图(a)详细表示x0=+1x1yx2w2w1w0Σ(b)简化表示x0=+1x1yx2w2w1w0•它的实际输出y与总输入之间的关系为显然,(x)=0是临界情况。图3.11是该神经元在输入空间形成的决策区域。)17.3(0,00,0,1xxx如果不定如果如果y3.1基本概念图3.11a单个线性阈值神经元决策区域示意图之一y=1的区域d0wx1x2d(x,)x=(x1,x2)T10ww20ww0w00w10w20:l(x)=w1x1+w2x2+w0=0y=0的区域图3.11b单个线性阈值神经元决策区域示意图之一y=0的区域d0wx1x2d(x,)x=(x1,x2)T10ww20ww0w00w10w20:l(x)=w1x1+w2x2+w0=0y=1的区域该神经元用一条直线(称为分界线)将一个二维平面分成两个区域。•由此可见,单个线性阈值神经元不能解决非线性可分问题;或者更准确地说,单个线性阈值神经元在解决非线性可分问题时,将产生较大分类误差。3.1基本概念•在m维空间,单个线性阈值神经元形成的超维决策面公式是•这时,单个神经元的结构如图3.12所示。•单个线性阈值神经元权值修正一般采用批处理学习规则—。•特别强调:一个神经元的多个输入分量可以是互不相同的,但它的多个输出值是相同的(特别约定)。)18.3(00110miiimmxwxwxwwxdyww1图3.12多输入—单输出线性阈值神经元结构示意图x0=+1ywmw1w0w2x1x2xmxid3.1基本概念3.2.1单层感知器•单层感知器特指基本函数为线性的,活化函数为线性、阈值或Sigmoid的单层神经网络。•这里的“单层”指输出层,更准确的,应指输入神经元与输出神经元之间的权值连接层。•输入层不是计算层,或者说,一个输入单元的实际输出直接等于其实际输入。•显然,这时的活化函数实际上只是对输出单元而言的。3.2感知器及其学习算法•图3.13为一个基于线性活化函数的单层感知器,能够实现一种从m维空间到n维空间的线性变换,只能解决线性可分问题。一般用于线性变换•图3.14为一个基于Sigmoid活化函数的单层感知器,仍然只能解决线性可分问题。•最早的感知器是特指图3.14b所示的基于阈值活化函数的单层感知器(若不特别说明,现在仍如此),仍然只能解决线性可分问题。3.2感知器及其学习算法图3.13基于线性活化函数的单层感知器xp1输入层yp1权值修正误差dp1-+xp2xpixpmdp2dpjdpnyp2ypjypn-+-+-+输出层图3.14基于Sigmoid活化函数的单层感知器xp1输入层yp1权值修正误差dp1-+xp2xpixpmdp2dpjdpnyp2ypjypn-+-+-+输出层图3.14b基于阈值活化函数的单层感知器xp1输入层yp1权值修正误差dp1-+xp2xpixpmdp2dpjdpnyp2ypjypn-+-+-+输出层•不论基于Sigmoid的还是基于阈值活化函数的单层感知器仍然只能解决线性可分问题。•不失一般性,用图3.15所示的单个神经元j简单证明如下。3.15基于Sigmoid活化函数的单个神经元jxp0=+1ypjwjmwj1wj0wj2xp1xp2xpmxpidpjwji3.2感知器及其学习算法•令输出神经元j的实际输出为•则•仍为常数,这正是一个超维平面。•特别地,当d=0.5时,有•这正是我们熟悉的超维平面。)(exp11110常数dxwxwwymjmjjjx11ln110dxwxwwmjmjj0110mjmjjxwxww3.2感知器及其学习算法•我们将三种单层感知器的异同总结于表3.1中。•理论上,线性活化函数单层感知器所有神经元的实际输出与期望输出的误差平方和之值是无限的,即(0,+);为什么?•但阈值活化函数感知器和Sigmoid活化函数感知器的误差平方和是有限的。•这三种单层感知器的权值修正公式形式上是一样的,但原理不同,具体计算公式也不同。