首页 > 文章中心 > 神经网络中偏置的作用

神经网络中偏置的作用

前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇神经网络中偏置的作用范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。

神经网络中偏置的作用

神经网络中偏置的作用范文第1篇

摘要:旅游需求的预测预报研究一直是旅游学研究的一个重要课题。本文在对到访澳门地区中国内地游客量分析的基础上,运用人工神经网络(ANN)的理论和方法,构建了ANN模型分析中的3层BP模型,以澳门近10年(1996-20__)入境来访的中国内地旅游人数为例进行模型验证,模拟结果表明,BP神经网络预测的结果能够高程度的吻合原始数据,在旅游市场预测中,BP神经网络预测是一种有效的预测方法。一.问题的提出与分析近年来,对澳门地区的旅游业来说,中国内地旅客是旅游收入的主要来源。目前旅游业已成为澳门地区经济发展特别是第二产业发展的支柱。建立科学的可操作的旅游预测模型是实现澳门地区旅游业持续健康稳定发展的理论基石和前提。由于影响某地旅游人数的因素各异,还不存在普遍适用的神经网络模型。基于此,本文拟用3层BP神经网络模型来仿真模拟分析和预测澳门地区旅游需求,以此为旅游需求预测提供一种新的方法。二.模型的假设与符号说明1.基本假设1)交通在旅游中通常不是重要的,为了研究的方便(主要是无法获得交通数据),把交通这个影响忽略。2)假设澳门的接待能力都满足需求。3)在本例旅游需求预测模型中,我们考虑的主要因素有:客源地的人口,客源地的总收入,客源地的消费水平,旅游目的地的生活水平。4)为了研究的方便,假定以上四因子之间相互独立,本例旅游需求即为上述四因子的函数,即y=f(GDI,POP,GDE,M-GP)。就用这四个因素作为人工神经网络模型输入层的神经元。2.符号说明T澳门内地游客量GDI中国内地国民总收入POP中国内地人口总数GDE中国内地国民消费水平M-GP澳门生产总值三.模型的建立与求解1.人工神经网络模型理论原理

人工神经网络(ArtificialNeuralNetwork)是由大量的、简单元件(神经元)广泛相互联结而成的非线性的、动态的复杂网络信息处理系统,它是在现代神经学研究成果基础上提出的,能模拟人脑的若干基本功能[1]。它具有并行分布的信息处理结构,可以通过“自学习”或“训练”的方式完成某一特定的工作。它可以从积累的工作案例中学习知识,尽可能多地把各种定性或定量的因素作为变量加以输入,从而建立各种影响因素与结论之间的高度非线性映射,采用自适应模式识别方法来完成预测工作[2]。人工神经网络模型尤其是对处理内部规律不甚了解、不能用一组规则或方程进行描述的复杂的、开放的非线性系统显得较为优越。人工神经网络模型一般由处理单元、激活状态、单元输出、连接模式、激活规则、学习规则等6个部分组成。一个多层神经网络中包含有很多个信息处理单元,分布于不同的层次中。根据每项输入和相应的权重获取一个综合信号,当信号超过阈值则激活神经元而产生输出。各类影响因素和最终输出结果之间可以假定存在一种映射,即输出结果=F(影响因素)。为了寻求最佳的映射关系F,将训练样本集合和输入、输出转化为一种非线性关系,通过对简单非线性函数的复合,从而建立一个高度的非线性映射关系F,最终实现输出值的最优逼近[3]。在人工神经网络的实际应用中,80~90的人工神经网络是采用前馈反向传播网络(back-propagation-network,简称BP网络)或它的变化形式。BP神经网络(如图一)是一种单项传播的多层前向神经网络,分为输入层、隐含层和输出层,层与层之间采用全连接方式,同一层单元之间不存在相互连接。它是前向网络的核心部分,体现了人工神经网络最精华的部分[4]。标准的BP网络是根据W-H学习规则,采用梯度下降算法,对非线性可微函数进行权值训练的多层网络。图一:BP神经网络的每一层的权值通过学习来调节,其基本处理单元为非线性输入-输出关系,选用S型作用函数:其中:xj为该神经元第i个输入;wij为前一层第i个神经元至该神经元j的连接权值,i=0时的权值为阈值。其计算步骤如下:(1)给定一组随机的权值和阈值初始值及步长系数η与势态因子α;(2)取学习样本数据,根据学习样本、权值及阀值计算输出,并与学习期望输出比较,当误差满足要求时结束训练,否则将误差向后逐层传播,并修正各层连接权值,调整公式为:其中:k取j结点所在层的前一层所有结点。5)澳门内地旅客人数神经网络模型的建立(一)BP网络设计网络设计是一个综合性问题,它应满足多种不同要求,例如,希望所涉及的网络有较好的推理能力,易于硬件实现,训练速度快等,其中有较好的推理能力是最主要的。一般来说,推广能力决定于3个主要因素,即问题本身的复杂程度、网络结构以及样本量大小。在一般情况下,旅游需求预测研究中样本的数量是一定的,因此可归结为在样本量一定的情况下,如何选择网络规模的问题。在进行BP网络预测模型设计中,我们主要考虑以下因素:网络的层数、每层中的神经元个数、初始值的选择、学习速率和期望误差。i)网络的层数已证明:具有偏差和至少一个S型隐含层加上一个线性输出层的网络,能够逼近任何有理函数。所以,本文选择一个3层的BP网络。ii)每层中神经元的个数输入层和输出层神经元的个数根据解决具体问题的复杂程度而定。为了提高网络训练的精度,可以通过采用一个隐含层,再加上1到2个神经元以加快误差的下降速度即可。因此,本文输入层神经元个数选择为4个,隐含层神经元个数分别选择了9、12、15个,输出层神经元个数选择为1个。iii)初始值的选择由于人工神经网络是一个非线性系统,初始值的选择对于网络学习是否达到局部最小、是否能够收敛以及训练时间的长短都有较大影响。在初始值的选择上一般是使经过初始值加权后的每个神经元的输出值都接近零,这样可以保证每一个神经元的连接权值都能够在它们的S型激活函数变化最大处进行调解。所以,初始值一般选择在(-1,1)之间的随机数。本文的初始值为默认值。iv)学习速率对于任何一个网络都对应一个合适的学习速率。学习速率决定每一次循环训练中所产生的权值的变化量。大的学习速率可以导致网络的不稳定,但是小的学习速率又会导致训练时间延长,收敛速度较慢,不能保证网络的误差能最终趋于最小。综合上述考虑,在学习速率的选择上倾向于选择较小的学习速率以保证网络的稳定性,本文选择的学习速率为0.01。v)期望误差值期望误差值的确定也是通过网络对不同误差值分别进行训练比较后确定的最适合值。所谓的最适合值是相对于所需要的隐含层的节点数来确定的,一个较小的误差值的获得需要增加隐含层的节点以及训练时间。本文经过不断测试,选择0.0001为期望误差值。(二)1.网络训练模式的选择训练网络有两类模式:逐变模式和批变模式。在逐变模式中,每一个输入被作用于网络后,权重和偏置量被更新一次。在批变模式中,所有的输入被应用于网络后,权重和偏置量才被更新 一次。使用批变模式不需要为每一层的权重和偏置量设定训练函数,而只需为整个网络制定一个训练函数,使用起来相对方便,因此,本文在进行网络训练时采用批变模式。表格一:年度

澳门的内地游客量(T)(千人)中国内地国民总收入(GDI)(亿元)中国内地人口数(POP)(万人)中国内地居民消费水平(GDE)(元)澳门生产总值(M-GP)(亿美元)1996604.270142.5122389278966.31997529.877653.1123626300266.71998816.883024.3124761315961.919991645.288189.0125786334659.220__2274.798000.5126743363261.020__3005.7108068.2127627386961.920__4240.4119095.7128453410668.220__5742.0135174.0129227441179.220__9529.7159586.71299884925103.320__10463183956.11307565439115.62.数据和模型的建立神经网络模型要求数据具有:A、易获得性B、可靠性C、可测度性。本项研究采用很可靠的官方发表的数据作为分析的数据源(见表1),主要来自于中国统计局网。用3层BP网络模型对本例旅游需求进行模拟,根据BP网络的映射原理,对于样本集合X和输出Y,可以假设存在一映射F。为了寻求F的最佳映射值,BP网络模型将样本集合的输入、输出转化为非线性优化,通过对简单的非线性函数的复合,建立一个高度的非线性映射关系,实现F值的最优逼近。对于本例旅游需求模型的模拟:其输入层结点数(4个神经元):中国内地国民总收入(GDI)、中国内地人口总数(POP)、中国内地国民消费水平(GDE)、澳门生产总值(M-GP)。把澳门内地游客量(T)作为输出结点。从而得出3层前馈反向传播神经网络模型。四.模型结果及分析1网络训练性能的检查。不同个数的隐层单元组成的BP网络训练曲线如图1,2,3所示。通过比较发现,中间层神经元个数为9和12时,网络的收敛速度比较快。2网络预测性能的考查。在数据列表中选取1996年到20__年的数据作为网络的测试数据。20__、20__年的(文秘站:)游客量检验误差曲线如图4。其仿真结果令人满意,达到预期的效果。图1图2图3图4五.模型的应用与评价(优缺点与改进)从上面的分析可以看出,3层BP神经网络模型的仿真模拟效果是邻人满意的。可以看出,人工神经网络的拟合精度比较高,主要是基于人工神经网络抗干扰能力强,稳定性好,能自动准确地找出各种输入和输出之间的线性或非线性关系,具有较强的模拟适应能力等特点。在本例对于澳门的内地游客量的旅游预测中BP神经网络模型是一种有效的预测方法。这一研究方法为旅游学的定量预测研究提供了一种新的思路,也为工程实践问题中的一些研究工作提供了一种非常好的指导方法。虽然BP网络得到了广泛应用,但其自身也存在一些缺陷和不足,主要包括几个方面的问题。首先,由于学习速率是固定的,因此,网络的收敛速度慢,需要较强的训练时间。再次,网络隐含层的层数和单元数的选择尚无理论上的指导,一般是根据应验或者通过反复试验确定的。因此,网络往往存在很大的冗余性,在一定上也增加了网络学习的负担。六.原题附带问题简析通过对本例旅游需求模型的分析,我们认为在利用数学建模的方法对旅游需求进行预测预报时,对于数据的采集和整理工作需要认真做好。对于数据的分析有助于我们寻求变量间的关系,以形成初步的想法。如何获得数据以及如何获得准确的数据对于我们研究实际问题具有相当重大的意义。收集数据并非多多益善,而是要弄清究竟需要哪些数据,剔除不必要的数据,从而减少冗余的工作。同时,需要什么形式的数据也是我们应该思考的一个问题,这与建立模型的目的和所选择的模型的特点有关。[参考文献][1]王士同,等.问题求解的人工智能:神经网络方法[M].北京:气象出版社,1995.[2]HillT,MarquezO’connorM,RemusW.ArtificialNeuralNetworkMedelsfor

ForecastingandDecisionMaking[J].InternationalJournalofForecasting,1993,

神经网络中偏置的作用范文第2篇

关键词:人脸表情识别;非下采样Contourlet变换;极限学习机;BP神经网络

中图分类号:TP391 文献标识号: A 文章编号:2095-2163(2015)05-

Facial Expression Recognition based on the Next Sampling Contourlet Transform Algorithm Research

Jia Hanlong1, Wang Jinfang2, Huang Lifei3

(1 Liaoning Mechatronics College, Liaoning Dandong, 118000, China;2 Yanshan University, Qinhuangdao, 066200, China;3Hangzhou ChouTou Tech Co. LTD, Hangzhou, 310000, China)

Abstract: This paper studies the next sampling Contourlet transform in the application of facial expression recognition, and the corresponding algorithm design process. The image segmentation of facial expression is divided into two parts covering the eyes and the mouth, which to the most extent can represent the expression information, and then uses the sampling Contourlet transform under the division of local image feature extraction, furtherly using extreme learning machine for classification, and makes the comparison with the BP neural network control experiment. The results showed that expression classification accuracy can reach 86.57% on average, than the BP neural network classification method of average accuracy higher than 7.43%. In the speed of execution method, the fact that extreme learning machine is 11.09 times that of the BP neural network shows the efficiency and feasibility of the experiment scheme.

Key words: Facial Expression Recognition; Next Sampling Contourlet Transform; Extreme Learning Machine; BP Neural Network

0引 言

人脸表情含有丰富的人体行为信息,可以直观地反映一个人的心理状态。随着人机交互的研究日益得到关注,人脸表情识别已经成为模式识别一个重要且具实效意义的研究分支。目前,应用于表情识别的方法有基于gabor小波特征的方法[1],基于主动形状模型(ASM)和主动外观模型(AAM)的方法[2],基于流形的方法[3]等。

典型的人脸表情提取主要包括人脸表情的预处理,特征提取与选择和人脸表情分类三个主要步骤。其中,表情特征的提取与选择是人脸表情识别步骤中最具决定性的一步。如何将人脸表情预处理得到的高维数据进行快速有效的降维,既是表情识别系统的核心,也是目前为止最难于有效解决的关键所在。Gabor小波可以提取多尺度、多方向的空间频率特征,在人脸识别和表情识别的应用技术中,已经取得了一定的成果。Contourlet变换也是一种多尺度、多方向的变换,早在2002年,Martin Vetterli和M.N.Do就研究了该算法。该变换是基于小波多尺度分析的思想而开展的一种新的多尺度多方向分析方法研究。该变换不仅可以实现任意方向和尺度的分解,具有同小波变换一样的优势,而且由于其在图像轮廓特征和纹理信息方面的独到的提取和描述,使其在图像处理领域获得了较为广泛的应用。然而,该变换在轮廓波采样过程进行了下采样转换,因此失去了平移不变性,导致在图像的恢复变换时,会造成伪吉布斯失真。为此,A.L.Cunha等人研究了非下采样Contourlet变换 ,其中由于取消了变换过程中的下采样,从而实现了伪Gibbs失真的有效抑制。

鉴于Contourlet变换存在的明显缺陷,A.L.Cunha等人提出了NSCT变换。该变换是由非下采样金字塔分解 (Nonsubsampled Pyramid,NSP)和非下采样方向性滤波器组(Nonsubsampled Directional Filter Banks,NSDFB)组成的。非下采样金字塔分解通过一个双通道的滤波器组,可将信号分解成一个多通和多个带通部分。

1 表情图像预处理

由于拍摄环境的复杂性以及人体自身的运动,获取的人脸表情信息或多或少会受到一些干扰。因此预先即需针对拟实现特征提取和特征选择的图片进行人脸特征区域的定位,人脸区域的几何归一化以及直方图均衡化,则将具有重要的基础性意义的[4]。JAFEE人脸表情库后预处理前后的图像如图1和图2所示,每行分别对应一个人的7种表情,分别为愤怒、厌恶、恐惧、高兴、中性、悲伤和惊奇。

人脸特征区域的定位采用基准特征结合仿射变换[5]的方法,该方法可以估计左右瞳孔的位置,然后依据左右瞳孔的坐标来确定人脸的位置,从而实现对人脸特征区域的定位。几何归一化是指图像经过尺度变换,得到统一大小的校准图像,即具有相同的高和宽,这样可以使图像在后期特征提取和特征选择阶段上具有相同的特征维数,由此简化了实际运算。直方图均衡化可以消除部分光线和光照强度的影响,使图像动态范围增大,对比度更加扩展,有助于提高识别率。

2 Contourlet变换与非下采样Contourlet变换

Contourlet变换是一种新的图像二维表示算法,其基本思想是首先使用一个类似小波的多尺度分解描述出轮廓段,然后将图像数据拉普拉斯金字塔变换(Laplacian Pyramid,LP)和二维方向滤波器组(Directional Filter Bank,DFB)进行多尺度、多方向的变换。LP变换的基础是高斯金字塔,这是通过对原始图像循环进行高斯低通滤波和下采样来完成的,下采样的过程相当于带通滤波器,基于此就形成了从上到下有层次的金字塔样式的图像分解,LP变换的主要功能是将图像分解为低频系数子带和高频系数子带。

从根本上说,图像是由一个数值矩阵组成的。矩阵相邻的像素点可以组成短小的线条,而多个线条的聚集就形成图像的基本轮廓和纹理特性,因此引入DFB滤波器组的作用就是基于方向的角度对图像进行从粗分辨率到细分辨率的特征提取。DFB滤波器组首先将LP变换得到的高频分量抽样进行多方向分解,然后通过将分布在同一方向的奇异点,合成一个系数,用类似于线段的基结构表征图像的边缘细节等几何特征,实现对图像信息的稀疏逼近。

对低频子带重复上述LP和DFB分解过程即可实现图像的多尺度多方向分解。LP分解的每一层将图像分解为高频部分和低频部分,而DFB的优点是对于高频部分的表现更加优秀,这也就是两者叠加之后的Contourlet变换更具有优异性的原因。但是由于该变换在LP变换的分解和重构滤波器的过程中,带宽均大于 。因此,对滤波后的图像进行缩减下采样将会产生频谱混叠。频谱混叠相应削弱了Contourlet变换的方向选择性,因为同一方向的信息会在几个不同的方向子带中再次出现。同时,Contourlet变换的下采样也使该算法失去了平移不变性。

如上所述,针对Contourlet变换的缺陷分析,A.L.Cunha等人随即提出了NSCT变换。NSCT变换由两步组成,先将图像经非下采样金字塔分解滤波器分解为低频图像矩阵系数部分和高频图像矩阵系数部分,再由非下采样方向性滤波器将高频图像矩阵系数部分分解为若干个子带方向,如图3所示。

在NSP分解过程中由于没有下采样环节,则使得NSCT变换具备了平移不变性,这就增强了图像特征信息的方向选择性,并在多尺度多方向上更好地实现了纹理特征的描述。

因为上述两个步骤中已经全部去除了滤波器组的下采样因子,图像的错位也就不再出现,这就是该变换满足平移不变性的原因。运用该变换进行图像的NSCT变换分解后,同Contourlet变换一样,也会得到一个低频子带和若干个高频子带,而且随着子带层数的增加,细节就实现了逐级放大。

将JAFEE人脸表情库中的一幅图像进行NSCT变换三层分解之后,变换分解结果则如图4所示,仔细观察图像的细微之处,由此可知,低频子带的图像系数矩阵主要描述了人脸五官的基本轮廓,对原始图像进行了低频滤波之后,图像变得模糊不清,而高频子带的图像系数矩阵则主要描述了人脸五官的更细节的轮廓及纹理等信息。如第二层四个方向上的高频子带信息较为细腻地从不同方向描述了口、眼、鼻子的细节特征,验证了随着子带层数的增加,细节纹理等被逐渐放大的效果事实;其他可如第三层高频子带信息则描述了更加细微的对光照等外部因素鲁棒性强的细节特征。在采用支持向量机或者极限学习机进行分类的时候,考虑该变换的平移不变性,分解次数太多会导致维数灾难。另外,也进一步考虑到各层子带所描述和包含的信息量,研究择取三层NSCT变换分解,且设定各层方向数目为2,4,2的时候,较为理想。

3 非下采样Contourlet变换表情识别

在人脸表情识别系统中,人脸的每个部位对表情识别的贡献率是不同的。研究表明,眼睛和嘴唇部位,对人脸表情的识别,起着决定性的作用。因此,本算法将人脸表情分割成含有丰富表情的眼睛部位和嘴唇部位两个区域开展研究。本文在人脸表情识别技术中使用了NSCT算法,先用该算法进行人脸表情关键区域的特征选择,其中,在人脸表情的非下采样Contourlet特征融合之后,因为维数较大(如选取JAFFE人脸表情库的210幅图片,特征提取并融合后可达210*101025维),直接带入分类器的话,会引发维数灾难,而且会显著降低分类器的分类效率。为此,在把特征提取之后的数据引入分类器之前,应先进行数据压缩,以避免维数灾难。本文引入PCA方法进行维数约简。然后调用主成分分析算法进行特征提取,最后采用极限学习机(extreme learning machine,简称ELM)进行表情分类,并与BP神经网络[6]分类算法进行识别正确率和识别效率的对比。

在此,给出非下采样Contourlet变换表情识别的原理实现框架,具体如图5所示。

4 极限学习机

2004年,新加坡南洋理工大学的黄广斌副教授研究极限学习机(Exteme Learning Machine,ELM)算法。这是一种简单小巧、高效可靠的单隐层前馈神经网络学习算法。传统的神经网络学习算法,比如BP神经网络,不仅容易产生局部最优解,而且在训练时,还需要人为设置大量的训练参数。极限学习机则具有学习速度快且泛化性能好的优点,这是因为该算法流程简洁在只需要提前设置网络的隐层节点数目,在算法运行过程中将不再需要调整网络的输入权值和隐元的偏置大小,而且算法最终只会产生唯一的最优解。因此,近年来,ELM已经成为神经网络研究领域的一个研究热点,并成功应用于手写数字识别、人脸识别、时间序列预测等领域。以下介绍ELM算法的工作原理。

已知给定N个不同的样本D={(xi ,yi)|xi Rn, yi Rn }, i=1,2,3,…,M。ELM算法是前馈神经网络,主要用于训练单隐含层,这点与BP神经网络不同,BP神经网络可以手动设置隐含层数目。那么,该神经网络的数学模型可以表述为:

在式(3)中,行代表训练样本所有隐结点的输出。ELM算法是一种速度极快的单隐层前馈神经网络学习算法。其算法设计原理可以分析总结为如下几步:

第一步,通过随机初始化的方式,对偏置 和权值 进行随机赋值。需要说明的是,这一步由于不需要调整网络的输入权值和隐元的偏置大小,就大大提高了ELM算法的运行速度。

第二步,计算隐含层输出矩阵H。利用公式(4),求得训练样本所有隐节点的输出,并将其计算成矩阵的形式。

第三步,近似求解权值 。利用公式 ,即可求得计算隐含层到输出层的权值。

5实验结果

运用非下采样Contourle变换的方法,对人脸表情图像进行特征提取,并用PCA算法进行特征选择,最后以BP神经网络和极限学习机进行分类。本章实验中所使用的数据库是日本的JAFFE表情库,该图像库由有10个女性的7种表情(生气、厌恶、恐惧、高兴、悲伤、惊讶和中性),共计213幅图像组成。本算法选取每人每种表情3幅,七种表情共210幅表情图像来进行实验。将每幅人脸表情图像经过几何归一化、直方图均衡化等预处理后,可以得到每幅像素点为130×130的统一大小的图像。实验采用三层NSCT变换分解,且各层方向数目为2,4,2,并将“PKVA”作为默认的滤波器。所以,每张人脸表情经变换后可以得到7个子带特征信息。为了做到与人无关的表情识别,在表情的分类环节,引入BP神经网络和ELM算法进行对照试验,并且随机选择每类表情的25幅表情图像作为训练集,其余5幅表情图像作为测试集。实验中BP神经网络和ELM算法的激励函数都是S型函数。实验重复10次以降低随机性。

由表1可以看出,经过非下采样Contourle变换提取后,使用极限学习机的表情分类平均准确率可达86.57%,比使用BP神经网络的分类方法平均准确率高出7.43%。而在执行时间方面,结果对比如表2所示,BP神经算法执行十次的平均时间为6.82s而,ELM算法仅为0.92s,因此可知,极限学习机的速度达到了BP神经网络的11.09倍,由这一结果已然明显可见ELM算法的高速性和高效性。

本文还分析了各类表情识别的相关分布,如表3所示。可以看到,分类正确率最低的是恐惧和厌恶,各自只有76%和80%。在恐惧表情的分类中,表情大多被错分为厌恶和愤怒,在厌恶表情的分类中,表情大多被错分为愤怒和恐惧。因此证明了这四种表情在JAFFE库上的表情单元的相近性,以致于无法使用NSCT变换提取出精确的表情特征。

在六种基本表情的实验分类结果中,可以通过绘制直方图来更加简明地进行对比分析,如图6所示。各类表情中分类正确率最高的愤怒、惊奇和高兴,对应达到了96%,96%和90%。相对来说,各种表情的识别率都已达到了较高范畴,这也在整体上表明了本算法在实现表情正确分类上的有效性。

本文所提方法比已有的研究方法在识别效果上提高了8%~12%,具体如表4所示,显示了文献报道中不同的方法在JAFFE表情数据库中的识别率,可知本文所研究的方法的测试结果优于文献报道结果.进一步表明了本算法的有效性。

6 结束语

本文研究将NSCT变换用于人脸表情的特征提取,并且使用极限学习机进行分类,而后又将实验结果与BP神经网络算法进行对比。详细描述了实验结果中各类表情的识别率,通过各类表情识别率都比较高这一结果事实,表明了本方法的有效性和高效性。

NSCT算法中,并没有对NSCT各层分解方向数目做具体的探讨;在表情分类时,ELM算法和BP神经网络各自的参数寻优也并未是实现深化,因此对NSCT算法各层分解方向数目做具体的探讨,并进行深化的参数寻优,则有望进一步提高人脸表情研究的识别效果。

参考文献:

[1] HUANG G, ZHOU H. Extreme learning machine for regression and multiclass cassification[J]. Systems,Man, and Cybernetics,PartB Cybernetics, IEEE Transactions on, 2012,42(2):513-529.

[2] ZUO Kunlong ,LIU Wenyao. Facial expression recognion using active appearance models[J ] . Journal of Optoelectronics ・La ser (光电子・激光) ,2004 ,15 (7) : 853-857.

[3] CHANG Ya, HU Changbo, TURK M.Probabilistic expression analysis on Manifolds[C]//Proc.of Conference on Computer Vision and Pattern Recognition, Washington D. C., USA: [s. n.], 2004.

[4]朱健翔, 苏光大, 李迎春. 结合Gabor特征与Adaboost的人脸表情识别[J]. 光电子:激光, 2006, 17(8):993-998.

神经网络中偏置的作用范文第3篇

一、人工神经元模型、结构及工作方法

神经网络的基本单元是神经元,神经元的三个基本要素为:

(1)一组连接(对应于生物神经元的突触),连接强度由各连接上的权值表示,权值为正表示激活,为负表示抑制;

(2)一个求和单元,用于求取各输入信号的加权和(线性组合);

(3)一个非线性激活函数,起非线性映射作用并将神经元输出幅度限制在一定范围内(一般限制在(0,1)或(-1,+1)之间)。此外还有一个阈值(或偏置)。

以上作用可分别以数学式表达出来:

(1)

式中为输入信号,为神经元k之权值,uk为线性组合结果,为阈值,为激活函数,yk为神经元k的输出。

除单元特性外,网络的拓扑结构也是神经网络的一个重要特性;从连接方式看,神经网络主要有两种:

(1)前馈型网络

前馈型网络有输入层、输出层和若干隐含层构成,各神经元接受前一层的输入,并输入给下一层,信息的传播是逐层进行的,没有反馈,且经过每一次都要有相应的特征函数进行变换[1]。

(2)反馈型网络

反馈型网络的所有节点都是计算单元,同时可接受输入,并向外界输出,可画成一个无向图3所示。反馈型网络的每个连接弧都是双向的。若总单元数为n,则每一个节点有n-1个输入和一个输出。

从作用效果来看,前馈网络主要是函数映射,可用于模式识别和函数逼近。反馈网络按对能量函数的极小点的利用来分类有两种:第一类是能量函数的所有极小点都起作用,这一类主要用作各种联想存储器,第二类只利用全局最小点,它主要用于求解制约优化问题。

二、网络的选取

由于BP网络模型和RBF网络模型这两种网络存在收敛速度慢和局部极小的缺点,在解决样本量少且噪声较多的问题时,效果并不理想,因此不适合对车辆运输安全风险进行评估。

广义回归神经网络(GRNN)在逼近能力、分类能力和学习速率上较BP网络和RBF网络有着较强的优势,网络最后收敛于样本量急剧较多的优化回归面,并且在样本数据缺乏时,评估效果也比较好,此外,网络还可以处理不稳定的数据。因此,本文利用GRNN建立风险评估模型,对车辆运输安全风险进行评估。

GRNN的结构及其原理参见文献[2],网络的第一层为径向基隐含层,神经元个数等于训练样本数,该层的权值函数为欧氏距离函数(用表示),其作用为计算网络输入与第一层的权值IW1,1之间的距离,b1为隐含层的阈值。符号“・”表示的输出与阈值b1之间的关系。隐含层的传递函数为径向基函数,通常采用高斯函数作为网络的传递函数:

(2)

其中,决定了第i个隐含层位置中基函数的形状,越大,基函数越平滑,所以又称为光滑因子。

网络的第二层为线性输出层,其权函数为规范化点积权函数(用nprod表示),计算网络的向量n2,它的每个元素是由向量aI和权值矩阵每行元素的点积再除以向量aI的各元素之和得到的,并将结果n2提供给线性传递函数a2=purelin(n2),计算网络输出。

GRNN连接权值的学习修正仍然使用BP算法。由于网络隐含层节点中的作用函数(基函数)采用高斯函数,高斯函数作为一种局部分布对中心径向对称衰减的非负非线性函数,对输入型号将在局部产生相应,即当输入信号靠近基函数的中央范围时,隐含层结点将产生较大的输出。由此看出这种网络具有局部逼近能力,这也是该网络学习速度更快的原因。此外,GRNN中认为调节的参数少,只有一个阈值,网络的学习全部依赖数据样本,这个特点决定了网络得以最大限度的避免人为主观假定对评估结果的影响。

三、基于GRNN的车辆安全风险评估

根据对车辆运行系统安全影响因素的分析,网络输入分别取指标体系内安全意识、知识技能等二十个二级指标,以车辆发生重大安全事故风险度为输出因子,即网络的输出。利用某车辆运输公司1998~2006年的历史统计数据作为网络的训练样本,2007~2008年的历史统计数据作为网络的外推测试样本。输入样本及目标样本如表1所示。

图1 网络的逼近误差

图2 网络的评估误差

首先对表1中的数据进行归一化处理,利用处理后的数据建立GRNN神经网络并进行训练与测试。由于光滑因子对网络的性能影响比较大,因此,需要不断尝试才可以获得最佳值。本文采用MATLAB神经网络工具箱对其进行分析求解,将光滑因子分别设为0.1、0.2、…、0.5,经过对输出结果的检查发现,光滑因子越小,网络对样本的逼近能力就越强;光滑因子越大,网络对样本数据的逼近过程就越平滑。网络对训练样本的逼近误差如图1所示(单位×10-4),网络的风险评估误差如图2所示(单位×10-4)。由图可见,当光滑因子为0.1时,无论逼近性能还是评估性能,误差都比较小,随着光滑因子的增加,误差也在不断增大。

从误差的角度考虑,本文光滑因子取0.1,此时网络的测试输出(07、08年风险度)为:

y=0.0069 0.0072

由此可见,该运输公司2007年、2008年的车辆重大安全事故风险评估的误差分别为2.5%、2.7%,这可能是由于训练样本容量比较小导致的,所以评估精度不是很高。考虑到各种随机因素,本文的风险评估结果还是可以接受的。

参考文献

神经网络中偏置的作用范文第4篇

关键词:人工神经网络;土壤含水量;预测

中图分类号:S1527;TP183 文献标识号:A 文章编号:1001-4942(2012)12-0011-05

Study on Forecasting Model of Soil Water Content based

on BP Artificial Neural Network

Guo QingChun1, Wang SuJuan2, He ZhenFang3

(1.Shanxi Radio & TV University, Xi’an 710068, China;

2.Shandong Institute of Agricultural Sustainable Development, Jinan 250100, China;

3.Cold and Arid Regions Environmental and Engineering Research Institute,

Chinese Academy of Sciences, Lanzhou 730000, China)

Abstract Soil moisture is one of the factors restricting plant growth, so it has great significance to scientifically forecast soil moisture for making full use of soil water. In this paper, the soil moisture predicting model was put forward based on the BP neural network. The BP neural network using adaptive learning rate momentum algorithm has fast convergence rate and high error precision. According to the soil moisture forecast experiment, the BP neural network predicting model increased the convergence rate, reduced the possibility of getting into local minimum, and improved the prediction accuracy.

Key words Artificial neural network; Soil moisture; Prediction

土壤水分在地表与大气间的物质和能量交换中起着极为重要的作用,是陆地地表参数化的一个关键变量,同时也是农作物生长发育的基本条件和产量预报模型中的重要参量。土壤水分也是土壤的重要物理参数,它对植物存活等具有极其重要的意义,土壤水分过少时,土壤溶液浓度过高,会造成根系吸水困难,致使须根干枯产生“烧须”现象;水分过多,影响根系呼吸及生长,引起乙醇等有害物质的积累,同时厌氧菌活动旺盛,容易造成烂根和疾病发生[1];朱同彬等(2008)[2]探讨了不同水分条件对土壤酶活性的影响和土壤酶活性的短期变化规律;王月福等(1998)[3]研究了在不同土壤水分胁迫条件下,水浇地小麦品种鲁麦7号和旱地品系莱农8834各生育阶段的水分利用效率。因此,土壤水分及其变化的监测,是农业、水分、生态、环境和水土保持等研究工作的基础,特别是在农业生产中,可以根据土壤水分的监测、预测结果及作物需水规律进行有计划的灌溉。

土壤水分动态模拟和预测一直都是灌排工程的重点研究对象,许多研究人员应用神经网络等方法对土壤含水量进行了研究[4~14]。如鹿洁忠等(1987)[4]对农田土壤深层水分预测进行过研究,提出了根据表层土壤水分确定深层土壤水分的模式;姚建文等(1989)[5]采用多元回归分析方法,将数值模拟方法得到的土壤水分运动动态过程的计算值和实测值进行了比较,两者吻合较好。马孝义等(2001)[6]探讨了土壤含水量的Kriging 和Cokriging 估值方法,研究表明,同深度土壤含水量与不同深度的土壤含水量之间均具有显著的空间相关性;张丽丽等(2007)[7]根据每天红壤不同层次含水量,利用时间序列分析方法,依据表层10 cm含水量序列预测20、30、40 cm 和60 cm土层含水量,结果表明各不同土层含水量之间呈极显著性相关;袁念念等(2011)[8]利用表层土壤含水量与耕层以下土壤含水量之间的关系来预测耕层以下土壤体积含水量,对2008年土壤含水量数据进行线性回归分析,建立含水量预测模型,用2009年同期数据进行检验,效果较好;这些研究得出一个结论:土壤深层水分含量可以利用浅层含水量进行预测。人工神经网络作为一门新兴学科,具有处理复杂非线性问题的优点,已经在多个领域得到广泛应用,因此采用该工具对土壤含水量进行了预测研究,为进行科学灌溉和水土保持提供参考。

1 实验数据

商丘市位于东经114°49′~116°39′、北纬33°43′~34°52′之间;全市东西横距168 km,南北纵距128 km;全市总面积10 704 km2;商丘属暖温带半温润大陆性季风气候,气候温和、四季分明,主要特点是春季温暖大风多,夏季炎热雨集中,秋季凉爽日照长,冬季寒冷少雨雪;年平均日照时数为1 944 h,无霜期平均为211天,年平均气温142℃,一般最高温度39℃,最低温度零下9℃,年平均降水量623 mm。

商丘1995~1997年土壤含水量观测数据来自国家农业科学数据共享中心。采样点位于东经115°40′,北纬34°27′,海拔为501 m,时间为1995年1月8日~1997年12月28日,逢每月8日、18日、28日取土测定5~30 cm 的土壤含水量,每5 cm一个层次。用土壤含水量百分比(%) 表示。实际数据如图1所示。

为了充分发挥BP神经网络的预测功能,提高其输出精度,有必要对输入数据进行预处理,以提高神经网络的泛化能力(即对未来学习数据的正确应答能力),一般可将各输入量归一化到[0,1]区间,但Sigmoid函数在[0,01]和[09,1]区间内变化极为缓慢,不利于特征提取,为此将各输入量归一化至[01,09]之间。输入数据通过标准化{Y=08×〔X-min(X) 〕/ {〔max(X)-min(X)〕+01}处理,构成一组新序列。

2 实验方法

人工神经网络(artificial neural network,简称ANN)是由大量简单的处理单元(或称神经元)广泛地相互连接而形成的复杂网络系统,是一种非线性的动力学系统。它具有大规模的并行处理和分布式的信息存储能力,良好的自适应性、自组织性及很强的学习、联想、容错及抗干扰能力,迄今为止,人们提出许多神经网络模型。较典型的有BP网络、Hopfield网络及CPN网络等,其中应用较多的是具有非线性传递函数神经元构成的前馈网络中采用误差反向传播算法作为其学习算法的前馈网络(Back Error Propagation,简称BP网络)。误差反向传播网络(BP模型)是一种多层结构的映射网络,它是目前应用最为广泛的一种人工神经网络,在各门学科领域中都具有极其重要的实用价值,其学习能力和容错能力对于具有不确定性模式识别具有独到之处。BP人工神经网络结构如图2。

BP算法的中心思想是调整权值使网络总误差最小。BP模型学习过程的算法由正向传播和反向传播两部分组成。通过反复的正向传播和反向传播,不断地修改各层神经元的权值和偏置值(即阈值)来减少误差函数,直到与某一相当小的正值或进行迭代运算时误差函数不再减少。学习过程的实质是求误差函数的最小值,它通过反复训练已知样本集,在没有达到设定的误差最小值之前,每训练一次,权值将沿误差函数的最速下降方向改变,最终收敛到最小点,然后将多个样本训练所得的各层间连接权值及各层神经元的偏置值(即阈值)信息保存起来,以便对未知样本进行处理。

BP网络训练算法理论具有依据可靠、推导过程严谨、精度较高、通用性较好等优点,但传统BP网络训练算法存在以下缺点:收敛速度缓慢;容易陷入局部极小值。在实际应用中,BP网络训练算法很难胜任;因此采用收敛速度较快和误差精度较高的增加动量项与自适应调整学习速率相结合的算法改进BP神经网络的性能。传统BP网络训练算法实质上是一种简单的最速下降静态寻优方法,在修正权值W(n)时,只按照第n步的负梯度方向进行修正,而没有考虑到以前时刻的梯度方向,从而常常使学习过程发生振荡,收敛缓慢。为加速算法收敛,可考虑引入动量项m。增加动量项的权值,调整算法的具体做法是:将上一次权值调整量的一部分迭加到按本次误差计算所得的权值调整量上,作为本次的实际权值调整量,这种方法所加的动量因子实际上相当于阻尼项,它减小了学习过程中的振荡趋势,从而改善了收敛性。动量法降低了网络对于误差曲面局部细节的敏感性,有效地抑制了网络陷入局部极小。传统BP网络训练算法收敛速度缓慢的另一个重要原因是学习率选择不当,学习率选得太小,收敛太慢;学习率选得太大,则有可能修正过头,导致振荡甚至发散。可采用自适应方法调整学习率。在学习收敛的情况下(误差函数E减小),学习率lr乘以大于1的常数α,增大lr,以缩短学习时间;当lr偏大致使不能收敛时(误差函数E增大),学习率lr乘以小于1的常数γ,及时减小lr,直到收敛为止。

人工神经网络的拟合精度与网络层数和各层神经元个数关系密切。BP人工神经网络通常采用三层结构,拟合精度的提高可以用增加各层的神经元数。已经证明3层BP网络可以以任意精度逼近一个连续函数。因此,本研究采取3层BP网络。

输入层和输出层分别与需要解决问题的输入变量和输出变量相联,因此输入层和输出层的神经元数分别由输入变量和输出变量个数确定。由于本模型选用5~10、10~15、15~20、20~25 cm的土壤含水量作为输入,25~30 cm的土壤含水量为输出,输入层包含4个神经元,输出层包含1个神经元。隐层的隐单元定为8~12,最后根据训练结果进行调整。其中隐含层神经元数根据经验公式来确定:P=L+M+N,其中,M、P、N分别为输入层、隐含层和输出层神经元的数目,而L为1~10之间的一个整数。从网络的学习时间与次数以及达到全局收敛的综合效果来看,我们选择的隐含层神经元的数目为9。即网络结构为4-9-1三层结构。在本模型中,输入层、隐含层采用tansig作为传递函数,输出层采用purelin传递函数。动量常数定为09,学习率为005。均方误差为0001。经过542次训练满足训练要求。

3 实验结果

31 不同深度土壤含水量序列变化及其相关性

土壤含水量空间格局是土壤各层含水量随深度的增加而变化,各深层含水量时间上的连续变化是随着表层含水量的变化而变化,且随着深度的增加,土壤含水量波动范围先减小后增大。5~10 cm 土壤含水量变化于24%~241%之间,波动较大,10~15 cm 土壤含水量变化于53%~217%之间,波动幅度次之,15~20 cm土层含水量变化于 55%~201%之间,波动幅度最小,20~25 cm 土壤含水量变化于52%~217%之间, 波动幅度增大,25~30 cm 土壤含水量变化于55%~26%之间。根据1995~1997年不同深度土壤含水量序列空间格局和时间上连续变化的特点,对不同深度土壤含水量序列进行相关性分析,通过在显著性水平为005的F检验,结果表明,25~30 cm 土层与浅层含水量之间呈显著性相关,其中与20~25 cm(0938) 和15~20 cm(0818) 土层含水量之间的相关系数,大于与10~15 cm(0703) 和5~10 cm(0462) 土层含水量的相关系数。可以说相邻土层含水量时间序列之间具有高度的空间相关性,土层相隔越远,相关系数越小,相关性越小。表明土壤含水量在垂直空间分布上具有显著的空间相关性。这一结果进一步说明,可以利用土壤表层含水量预测一定深度的土壤深层含水量。

32 神经网络拟合及其预测结果

在一维水平入渗条件下,影响土壤含水量的因素主要有入渗距离、入渗时间、土壤容重、土壤质地、土壤初始含水量,在土壤容重、土壤质地和初始含水量一定的情况下,可以把入渗距离和入渗时间看作预测土壤含水量的主要依据,通过入渗距离和入渗时间及相应的土壤含水量训练网络,建立土壤含水量的神经网模型,就可以预测土壤含水量的时空变化过程。由于表层土壤水分下渗到深层土壤需要一定时间,因此采用前一时段实测数据来预测后一时段土壤含水量的方法,即采用第8天5~10 cm、10~15 cm、15~20 cm、20~25 cm的土壤含水量来预测第18天25~30 cm的土壤含水量,依次类推。

采用1995~1996年的不同深度土壤含水量作为训练样本,训练神经网络模型,训练结果如图3,利用1997年不同深度土壤含水量,作为检验样本,检验神经网络模型的预测精度见图4。训练样本拟合值最大相对误差534%,最小相对误差-377%,平均相对误差0372%,通过显著性水平为005的F检验,相关系数0999;检验样本预测值最大相对误差 984%,最小相对误差-357%,平均相对误差162%,通过显著性水平为005的F检验,相关系数0999。可以看出,基于BP人工神经网络的土壤含水量模型预测精度较高,达98% 以上,平均相对误差不超过2%,最大相对误差不超过10%;土壤含水量预测值与真实值吻合程度较高,并且预测值的变化趋势和真实值变化趋势也一致,可以反映实际土壤含水量的变化趋势,能够满足实际预测需要。

预测值对比图

4 结论

为了准确预测土壤含水量,对河南省商丘市1995~1997年的土壤含水量进行分析,建立了基于BP人工神经网络的土壤含水量预测模型。通过模型建立和研究得出以下结论。

41 利用人工神经网络模型预测深层土壤含水量时,模型预测的平均相对误差不超过2%,最大相对误差不超过10%。利用表层土壤含水量与深层土壤含水量之间的关系来预测深层土壤含水量,总体上精度较高,预测值与实测值相对误差较小。

42 人工神经网络预测模型反映了入渗条件下,土壤含水量与入渗时间和距离的动态关系,初步研究表明,用人工神经网络预测土壤含水量的时空变化是可行的,而且不需要建立具体的数学模型。

43 对BP算法作了一些改进,通过对不同深度土壤含水量的学习,利用神经网络的记忆、联想以及推理功能对深层含水量的预测估计。预测的结果表明,改进的学习算法大大加快了网络的学习速度,同时对于已学习过的样本知识,网络的输出与期望的结果充分相符,表明该网络能够正确地实现训练样本的拟合;当输入的数据在一定范围内偏离样本知识时,网络的输出具有接近样本输出的倾向,因而表明了神经网络在预测土壤含水量方面的实际可用性。参 考 文 献:

[1] 邓天宏,付祥军,申双和,等0~50cm与0~100cm土层土壤湿度的转换关系研究[J]干旱地区农业研究,2005,23(4):64-68

[2] 朱同彬,诸葛玉平,刘少军,等不同水肥条件对土壤酶活性的影响[J]山东农业科学,2008,3:74-78

[3] 王月福,于振文,潘庆民 土壤水分胁迫对耐旱性不同的小麦品种水分利用效率的影响[J]山东农业科学,1998,3:3-5

[4] 鹿洁忠根据表层数据估算深层土壤水分[J]中国农业气象,1987,8(2):60-62

[5] 姚建文作物生长条件下土壤含水量预测的数学模型[J]水利学报,1989,20(9):32-38

[6] 马孝义,李新平,赵延凤土壤含水量的Kriging 和Cokriging 估值研究[J]水土保持通报,2001,21(3):59-62

[7] 张丽丽,陈家宙,吕国安,等利用土壤表层含水量序列预测深层含水量的研究[J]水土保持学报,2007,21(3):162-169

[8] 袁念念,彭 虹,黄介生,等棉田控制排水土壤含水量预测[J]武汉大学学报(工学版),2011,44(4):445-448

[9] 崔素芳,张振华,姚付启,等基于偏相关分析的烟台市土壤温度影响因素及预测模型研究[J]山东农业科学,2010,1:18-21

[10] 金 龙,罗 莹,缪启龙,等农田土壤湿度的人工神经网络预报模型研究[J]土壤学报,1998,35(1):25-32

[11] 陈昌华,谭 俊,尹健康,等基于PCA-RBF神经网络的烟田土壤水分预测[J]农业工程学报,2010,26(8):85-90

[12] 余世鹏,杨劲松,刘广明,等基于BP人工神经网络的长江河口地区土壤盐分动态模拟及预测[J]土壤,2008,40(6):976-979

神经网络中偏置的作用范文第5篇

关键词:堆叠去噪自编码器;垃圾邮件;分类;支持向量机;贝叶斯方法

中图分类号: TP393.098

文献标志码:A

0引言

电子邮件因为易于使用、速度快、沟通方便等原因,已经成为人们重要的联系方式,但与此同时,垃圾邮件的数量却急剧地增加:卡巴斯基实验室的研究发现,2014年第1季度的垃圾邮件数目占总邮件的66.34%;McAfee实验室2015年2月的威胁报告表明,2014年,垃圾邮件数量大概为31.2万亿,占该年邮件总量的69.02%。其中大部分垃圾邮件带有商业性质,但有些邮件可能会包含病毒和其他具有危害性质的内容,给用户带来精力的损耗和财力上的损失,文献[1]表明,由于垃圾邮件的原因,美国接近360万用户的损失高达32亿美元。大量的垃圾邮件同时造成带宽浪费和邮件系统超载。

垃圾邮件过滤方法用来解决上述问题。垃圾邮件过滤的目的是为了隔离垃圾邮件和合法邮件。一般的过滤方式包括:邮件客户端扩展和邮件服务终端过滤过程,简单邮件传送协议(Simple Mail Transfer Protocol,SMTP)和基于机器学习算法的方法是最常用的垃圾邮件过滤方法。一般来说,基于SMTP的过滤方法通常是指SMTP流量的检测、电子邮件交换路由验证和经过身份验证的SMTP会话。基于启发式规则的方法、黑名单/白名单的方法、协同垃圾邮件过滤也可以用来过滤垃圾邮件。机器学习方法包括邮件的分析和分类算法的部署。

文献[2]表明在诸多过滤方法中,机器学习算法获得更多的应用和更好的性能。贝叶斯过滤器因为计算效率高、过滤性能良好得到了广泛的应用,文献[3]比较了7个版本的贝叶斯过滤器,得出布尔朴素贝叶斯(Boolean Naive Bayes)、多项式布尔朴素贝叶斯(Multinomial Boolean Naive Bayes)、基本朴素贝叶斯(Basic Naive Bayes)具有较好的性能;文献[4]提出了一些方法用来改进朴素贝叶斯过滤器,提高了过滤器的准确率; 文献[5]将不同种类核函数和数据表示的支持向量机应用到垃圾邮件过滤中;文献[6]提出了混合Taguchi方法、Staelin方法来优化支持向量机参数的选择过程,并且提高了准确率。其他的诸如随机随林、人工神经网络、提升方法(boosting)和装袋(bagging)等方法也被应用到了垃圾邮件过滤。近年来随着社交网络、云计算、网格计算、语义网络等技术的发展,出现了许多基于上述技术的垃圾邮件分类器;随着垃圾邮件中图像的增加,出现了基于图像的垃圾邮件分类器,文献[7]对新技术和图像分类应用进行了介绍。文献[8]比较了不同的特征选择和降维技术对垃圾邮件过滤的影响。文献[9]研究表明:相对支持向量机(Support Vector Machine, SVM)、提升方法(boosting)、最大熵方法等“浅层学习”方法而言,深度学习所学得的模型中,非线性操作的层级数更多。 浅层学习依靠人工经验抽取样本特征,网络模型学习后获得的是没有层次结构的单层特征;而深度学习通过对原始信号进行逐层特征变换,将样本在原空间的特征表示变换到新的特征空间,自动地学习得到层次化的特征表示。

去噪自编码器(Denoising Autoencoder, DA)是深度学习中的变形结构,和受限玻尔兹曼机、自编码器[9](Autoencoder)一样作为深度学习架构中的训练模块,具有良好的学习数据集特征的能力。通过多个DA的堆叠可形成堆叠去噪自编码器(Stacked Denoising Autoencoder,SDA) [10]。SDA训练过程中的无监督学习过程和对数据的破坏过程,能进一步学习到数据集中的特征和数据结构,同时学习得到的隐含表示更适用于有监督分类。文献[11]的研究表明,在大部分情况下,SDA要优于深度置信网络[9](Deep Belief Network, DBN),并且因为SDA不需要吉布斯采样,所以训练更加容易。

本文将一个5层神经网络结构的堆叠去噪自编码器应用到垃圾邮件过滤,在6个公开数据集上进行测试,使用准确率、召回率和马修斯相关系数作为测量标准,与在垃圾邮件过滤中应用最为广泛的支持向量机算法、3种贝叶斯算法和DBN进行比较。结果表明,相对于其他几种算法:堆叠去噪自编码具有最好的平均性能和较好的预测能力。

1堆叠去噪自编码器

1.1去噪自编码器

自编码器 (Autoencoder) [9]的学习只是简单地保留原始输入数据的信息,并不能确保获得一种有用的特征表示。因为自编码器可能仅仅简单地拷贝原始输入,或者简单地选取能够稍微改变重构误差,却不包含特别有用信息的特征。为了避免上述情况,并且能够学习更好的特征表示,需要给数据表示一定的约束。去噪自编码器可以通过重构含有噪声的输入数据来解决该问题。

去噪自编码器所要实现的功能就是学习叠加噪声的原始数据,而它学习到的特征与从未叠加噪声的数据学到的特征几乎一样, 但去噪自编码器从叠加噪声的输入中学习得到的特征更具鲁棒性,并且可以避免自编码器遇到的上述问题,简单地学习相同的特征值。

去噪自编码器通过一个随机的映射变换x~qD(x′|x),对原始输入数据x进行“破坏”,从而得到一个有部分损坏的数据x′, 其中D表示数据集。

去噪自编码器由编码器(encoder)、解码器(decoder)和隐含层组成。编码器是输入x∈[0,1]d 的”破坏”版本x′到隐含表示 y∈[0,1]d′的映射,表示为:

y=fθ(x)=s(Wx′+b)(1

这个映射的参数集合是θ={W,b},s是一个非线性的函数,例如sigmoid,W是一个的d×d′权值矩阵, b是一个偏置向量。

解码器函数gθ′(y)将隐含表示映射回重构表示z∈[0,1]d,表示为:

z=gθ′(y)=s(W′y+b′)(2

这个映射的参数集合是θ′={W′,b′},逆映射的权值矩阵W′可被约束为权值矩阵W的转置:即W′=WT,被称为去噪自编码器捆绑权重。b′是一个偏置向量。

这样每个训练样例x(i)被映射成一个y(i)和一个重构表示z(i),然后通过不断地调准优化这个模型的所有参数,从而获得最小平均重构误差:

L(x,z)=x-z2(3)

使z尽可能地接近初始输入x,并且z是x′的函数。 定义联合分布函数为:

q0(X,X′,Y)=q0(X)qD(X′X)δfθ(X′)(Y)(4)

其中:X,X′,Y是随机变量,Y是X′的映射函数, q0(X,X′,Y)以θ为参数。这时就可以通过梯度下降算法最小化目标函数:

arg minθ,θ′ Eq0(X,X′)[L(X,gθ′(fθ(X′)))](5

去噪自编码器的结构图如图1所示。

图片

图1去噪自编码器结构

1.2堆叠去噪自编码器

深度神经网络可以分为3类:1)生成性深度结构,描述数据和相应类别的联合概率分布,如DBN; 2)区分性深度结构,提供对模式分类的区分性能力,通常描述数据的后验分布,如卷积网络和堆叠去噪自编码器; 3)混合型结构,目标是区分性的,但通常利用生成型结构的输出会更易优化。

通常情况下,由于网络权值的随机初始化,基于梯度的优化容易陷入局部最小值。文献[12]提出了一种新的贪婪逐层非监督算法来初始化深度学习网络,文献[10]使用此算法来初始化基于降噪自编码器的堆叠去噪自编码器。训练整个网络的参数后,在使用基于梯度的算法如梯度下降法来微调网络参数。SDA初始化方法的有效性[13]在多个数据集中得到验证。正如受限玻尔兹曼机的堆叠形成深度置信网络,去噪自编码器的堆叠可形成堆叠去噪自编码器。用叠加噪声输入训练每层网络的去噪能力,这样训练出来的每层编码器可作为一个具有容错性能的特征提取器,同时学习得到的特征表示具有更好的健壮性。

SDA 的网络结构如图2 所示。通过图1中的步骤首先破坏原始数据,然后最小化重构误差,训练第1层去噪自编码器,从而学习得到了编码器函数fθ。接下来使用此函数学习原始的数据(如图2(a)所示),得到的结果作为第2层去噪自编码器的输入,用来训练第2层的去噪自编码器(如图2(b)所示),从而学习到第2层的编码器函数f(2)θ。然后重复这一过程(如图2(c)所示),直至所有的去噪编码器层都已经训练完成为止。

图片

图2堆叠去噪自编码器的结构

为了让堆叠去噪编码器具有分类识别的功能,需要在堆叠自编码器神经网络的最后一个隐藏层之后加个sigmoid分类器,将整个神经网络训练成能完成分层特征提取和数据分类任务的多重感知器。然后利用有监督学习规则,在监督学习损失函数上使用梯度下降算法,实施微调,最小化预测目标的误差,不断调整整个网络的参数。微调结构如图3所示。

图片

图3分类深度网络的微调结构

2堆叠去噪自编码器实现

2.1堆叠去噪自编码器的参数更新

去噪自编码器的最终目的是找出模型最合适的参数,可以按照如下步骤更新参数。

初始化模型参数:输入数据、可视节点个数、隐层节点个数、输入数据破坏比例和更新的学习率(learning rate),权值矩阵和偏置向量;根据数据破坏比例,随机选取原始数据,将其值设置为0,达到破坏数据的目的;使用sigmoid函数计算输入数据的隐藏表示和重构表示;计算输入数据的重构误差;对重构误差使用梯度下降算法,更新参数。具体过程如算法1。

算法1Denoising AutoEncoder。

程序前

输入: X, n_vis, n_hid, c_r, l_r;

输出: W, b, b′。

X′=get_corrupted_input(X, c_r)

1

for iter from 1 to iteration

2)

Y=get_hidden_units(X′, W, b)

3)

Z=get_reconstruction_units(Y, W, b′)

4)

cost=get_cost(X, Z)

5)

for param in parameters(W, b, b′)

6)

gparam=get_gradient(cost, param)

7)

param=param-l_r * gparam

8)

end for

9)

end for

程序后

2.2堆叠去噪自编码器的预训练

在堆叠去噪自编码器的预训练步骤中,首先应该确定隐藏层的数目,一般情况下,使用3层的去噪自编码器构成深度学习网络来训练堆叠去噪自编码器;每一层都训练成去噪自编码器,并且通过最小化重构误差,更新参数10次以上。第i-1层的输出即为第i层的输入,这样通过自底向上的方式训练堆叠去噪自编码器。每一层的数据破坏比例和隐藏节点个数可以互不相同;最后获取整个网络的参数。训练步骤如算法2。

算法2Pretrain Step。

程序前

输入:X,n_layers, n_vis, n_hid[n_layers],c_r[n_layers], l_r[n_layers];

输出:dA_layers[n_layers], Y_out=X。

1

for i from 1 to n_layers

2)

X′=get_corrupted_input(Y_out,c_r[i])

3)

for iter from 1 to iteration

4)

Y=get_hidden_units(X′,W[i],b[i])

5)

Z=get_reconstruction_units(Y,W[i], b′[i])

6)

cost=get_cost(Y_out, Z)

7)

for param in parameters(W[i], b[i], b′[i])

8)

gparam=get_gradient(cost,param)

9)

param=param-l_r[i] * gparam

10)

end for

11)

end for

12)

Y_out=Y

13)

end for

程序后

2.3堆叠去噪自编码器的微调

在堆叠去噪自编码器的微调过程中,使用有监督学习方法优化从预训练步骤中获得的模型参数。由于最后一个隐含层只能输出原始数据的重构,因而不具有分类识别功能。为了让堆叠去噪编码器具有分类识别的功能,需要在完成微调的神经网络的输出层之后加入sigmoid分类器,将整个神经网络训练成能完成分层特征提取和数据分类任务的多重感知器。多重感知器的sigmoid层的参数和预训练步骤中去噪自编码器的sigmoid函数具有相同的参数,因此可以通过最小化多重感知器的预测错误来不断微调模型的参数。微调步骤作用在整个堆叠去噪自编码器过程。微调的过程如算法3。

算法3Fine Tuning Step。

程序前

input: train_batches, test_batches, iteration, l_r

1

while iter < iteration do

2)

for batch in train_batches

3)

cost=get_finetuning_cost(X)

4)

for i from 1 to n_layers

5)

for param in parameters(W[i], b[i], b′[i])

6)

gparam=get_gradient(cost, param)

7)

param=param-l_r[i]*gparam

8)

end for

9)

end for

10)

valid_error=get_valid_error(batch)

11)

if valid_error

12)

update best_valid_error

13)

test_error=get_test_error(test_batches)

14)

if test_error

15)

update best_test_error

16)

end if

17)

end if

18)

end for

19)

end while

程序后

3实验与分析

3.1数据集

3.1.1数据集描述

实验中使用了6个著名的、数据量比较大的、公开的数据集Enron[14]。其中Enron1、Enron2和Enron3的合法邮件占多数,而Enron4、Enron5和Enron6的垃圾邮件占多数。Enron数据集中正常邮件是从Enron公司的前员工的邮箱中收集的,垃圾邮件则有不同的来源。6个数据集的具体组成如表1。

3.1.2数据集预处理

1)分别从垃圾邮件文件夹和合法邮件文件夹,按照30%的比例随机选取文件,然后合起来作为测试集,剩余的70%合起来作为训练集。

2)分别对训练集和测试集进行分词处理,字母小写化和去除停用词。

3)将训练集和测试集表示为词频逆文档(Term FrequencyInverse Document Frequency, TFIDF)的向量形式。

4)使用特征值提取技术对特征值进行提取,选取3000个特征值作为实验特征。

3.2实验性能测量标准

比较出名的性能指标有垃圾邮件准确率(Spamming precision, Spr),垃圾邮件召回率(Spamming recall, Sre),合法邮件准确率(Legitimate email precision, Lpr),合法邮件召回率(Legitimate email recall, Lre),准确率(Accuracy, Acc)。在分类时,垃圾邮件的类标设置为1(正例),合法邮件的类标设置为0(负例)。其中分类的混淆矩阵(confusion matrix)如表2所示,真正例(True Positive, TP),假负例(False Negtive, FN),假正例(False Positive, FP),真负例(True Negtive, TN)。

表格(有表名)

文献[15]的研究表明,在机器学习的分类问题中,马修斯相关系数(Matthews Correlation Coefficient,MCC)是最好的性能测试指标之一。相比其他的指标,MCC对于准确率提供了更为平衡的测量。MCC值的返回值介于-1和+1之间:+1,表明是完美的预测;0,表明是随机的预测;-1,则表明是一个相反的预测。MCC的计算式如下:

MCC=TP*TN-FP*FN(TP+FP)(TP+FN)(TN+FP)(TN+FN)(6

MCC同时提供了相对合理的评价:现实情况下,垃圾邮件的数目要比合法邮件的数目更高,因此MCC可以自动调整一个假正例(即合法邮件分类为垃圾邮件)错误相对于一个假负例错误的严重程度,随着垃圾邮件相对于合法邮件的比例的上升,一个假正例错误会比一个假负例错误更加严重,即MCC值会降低。

3.3实验结果与分析

3.3.1隐藏层节点数目选择对实验的影响

由文献[10-11]中一系列的参数实验可以总结出,在大部分数据集上,SDA一般使用三层隐藏层就可以达到较优的效果,因此本文中使用三层的隐藏层。

首先指出,图4和图5中的最低点Acc值是0.7101。这种情况是SDA把所有的邮件都分类为垃圾邮件。图4中,350,650,950是第一层隐藏层的节点数目,30表示第三层隐藏层的节点数目;图5中,350,650,950是第一层隐藏层的节点数目,500表示第二层隐藏层的节点数目。

图4中,固定第一、三隐藏层的节点数目,SDA在数据集Enron 5上的Acc值随着第二层隐藏层节点数目的改变而变化。从图4中可看出,固定第一、三隐藏层节点数目时,当第二层节点个数过小或者过大时,Acc值会达到最低点0.7101,而第二层节点个数处于两者之间时,Acc值正常波动。第二、三隐藏层节点固定时,可以看出,当第一层的节点数目越大时,第二层隐藏层节点的数目受到的限制更大。

对于图4中出现的随着第二层隐藏层节点数目的增加,Acc值会降至最低,可以通过改变第三层隐藏层节点数目来改变。图5中,固定第一、二隐藏层节点的数目,SDA在数据集Enron 5上的Acc值随着第三层节点数目的改变而变化。可以看出,为了取得较优的结果,第一层隐藏层的节点数越多,第三隐藏层需要的节点数也越多。

3.3.2在6个数据集上的实验结果

为了书写方便,下面描述中,Basic表示基本朴素贝叶斯方法、Bool表示布尔朴素贝叶斯方法、MN Bool表示多项式布尔朴素贝叶斯方法。

在6个Enron 数据集上的实验结果如表3~8所示,其中加下划线的数据表示该实验中最大的MCC值。

表格(有表名)

表3Enron1上各个分类器的实验结果

分类器Sre/%Spr/%Lre/%Lpr/%Acc/%MCC

Basic91.3385.0993.4896.3692.860.831

Bool96.0051.6163.3297.4972.780.540

MN Bool82.6762.0079.3591.8280.310.578

SVM83.3387.4195.1193.7091.700.796

DBN91.5690.7596.1996.5494.850.875

SDA90.2292.9197.1896.0595.160.882

表格(有表名)

表4Enron2上各个分类器的实验结果

分类器Sre/%Spr/%Lre/%Lpr/%Acc/%MCC

Basic80.0097.5799.3193.5394.380.850

Bool95.3381.2592.4598.3093.190.836

MN Bool74.0098.2399.5491.7793.020.814

SVM90.6790.6796.8096.8095.230.875

DBN95.9891.6897.0298.6096.750.916

SDA95.9895.5698.4798.6297.830.943

表格(有表名)

表5Enron3上各个分类器的实验结果

分类器Sre/%Spr/%Lre/%Lpr/%Acc/%MCC

Basic57.33100.00100.0086.2788.410.703

Bool99.3399.3399.7599.7599.640.991

MN Bool62.00100.00100.0087.5889.670.737

SVM91.3396.4898.7696.8396.740.917

DBN96.4489.6795.8498.6396.000.903

SDA92.6799.2999.7597.3297.820.945

表格(有表名)

表6Enron4上各个分类器的实验结果

分类器Sre/%Spr/%Lre/%Lpr/%Acc/%MCC

Basic94.67100.00100.0086.2196.000.903

Bool98.00100.00100.0094.3498.500.962

MN Bool96.89100.00100.0091.4697.670.941

SVM98.89100.00100.0096.7799.170.978

DBN96.9697.9894.0091.1696.220.901

SDA99.9397.2691.5699.7697.840.942

表格(有表名)

表7Enron5上各个分类器的实验结果

分类器Sre/%Spr/%Lre/%Lpr/%Acc/%MCC

Basic89.6798.8097.3379.3591.890.825

Bool87.23100.00100.0076.1490.930.815

MN Bool94.29100.00100.0087.7295.950.909

SVM89.4099.7099.3379.2692.280.837

DBN96.3799.4498.6791.7497.040.931

SDA98.7399.4598.6796.9498.710.969

表格(有表名)

表8Enron6上各个分类器的实验结果

分类器Sre/%Spr/%Lre/%Lpr/%Acc/%MCC

Basic86.0098.9897.3369.8688.330.757

Bool66.8999.6799.3350.0075.000.574

MN Bool92.8997.2192.0081.1892.670.816

SVM89.7895.2886.6773.8690.050.727

DBN96.3798.5695.7589.7996.210.902

SDA99.0498.4595.3397.0698.110.949

通过观察6个数据集6种分类器的实验数据可以分析:在实验的大部分数据集上,SDA垃圾邮件过滤器的性能超过了其他几种分类器。同时在有些情况下SDA的过滤效果远远地优于SVM和NB分类器:比如在Enron6数据集上的结果表明,SDA的垃圾邮件召回率达到了99.04%,而SVM却只达到了89.78%。这意味着在Enron6数据集上,SDA要比SVM多识别9.26%的垃圾邮件,同时因为具有比SVM更好的合法邮件召回率,所以相对于SVM,SDA垃圾邮件过滤的总体性能提升要大于9%。在实际的应用中,这些差异将会非常重要。这种对比现象在数据集Enron1、Enron2、Enron3和Enron5也可以得到。在数据集Enron4上,SDA过滤效果稍逊于SVM,但是相差不大。

对于实验中所有朴素贝叶斯过滤器,实验数据表明它们之间达到了相似的结果,并且不具有太大的差异性。相对堆叠去噪自编码器过滤器和支持向量机过滤器在所有的数据集上的准确率(Acc)达到90%以上,而基于朴素贝叶斯方法的过滤效果要差些。

实验中的DBN的分类效果,总体上要优于其他4几种分类器,但是SDA的分类效果要稍微优于DBN。

表中的实验数据表明堆叠去噪自编码器在垃圾邮件过滤中具有更好的效果:在实验的所有数据集上,堆叠去噪自编码器的准确率(Acc)都高于95%;在实验的所有数据集上,堆叠去噪自编码器的MCC值都高于0.88,这表明堆叠去噪自编码器应用于垃圾邮件过滤中取得相对完美的预测。上述结果表明将堆叠去噪自编码器应用到垃圾邮件过滤中是可行的。

4结语

本文提出了一种新的基于堆叠去噪自编码器的垃圾邮件分类器。在6个著名的、数据量较大的、公开的数据集上进行测试,将实验结果同基于支持向量机和贝叶斯方法的垃圾邮件过滤器的结果进行比较。对比分析表明,本文所提出的垃圾邮件过滤器表现出更好的性能。特别是基于堆叠去噪自编码器的垃圾邮件分类器在6个数据集上具有最好的平均性能并且准确率(Acc)都高于95%。这些表明将堆叠去噪自编码器应用到垃圾邮件过滤中是可行的。

未来的工作将会集中在以下3个方面:1)如何更好地选择深度置信网络隐藏层数以及每层的单元个数,如何选择学习率等参数来提高算法的性能。2)在诸如TRE05、TRE06、TRE07等更大的数据集上进行更多的实验来验证实验结果,同时也希望同一些诸如Bogo filter、Spam Assassin等开源和商业垃圾邮件过滤器进行比较。3)应把垃圾邮件过滤看作是共同进化问题,因为垃圾邮件过滤器努力提高预测能力的同时,垃圾邮件递送者也不断地改变垃圾邮件内容的表现形式以达到欺骗过滤器的目的,因此一个有效的垃圾邮件过滤器应该能够有效地检测垃圾邮件特征的变化,从而不断地调整自身的规则。

参考文献:

[1]GARTNER. Gartner survey shows phishing attacks escalated in 2007; more than $3 billion lost to these attacks[EB/OL].[20150220].http:///it/page.jsp?id=565125.