前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的神经网络中偏置的作用主题范文,仅供参考,欢迎阅读并收藏。
关键词:学生综合素质评价;BP神经网络;算法设计
中图分类号:TP311文献标识码:A文章编号:1009-3044(2009)24-6786-03
BP neural Network Based on the Overall Quality of the Student Evaluation of Algorithm Design
ZHANG Wen-sheng
(Xiamen Gongshang Lvyou Xuexiao, Xiamen 3610012,China)
Abstract: In this paper, the overall quality of the students a variety of evaluation methods carried out in-depth analysis to explore the use of BP neural network theory to evaluate the feasibility of the overall quality, and BP neural network based on the overall quality of the student evaluation of algorithm design.
Key words: evaluation of the overall quality of students; BP neural network; algorithm design
学校德育教育是提高学生综合素质的重要一环,在学校工作中占有举足轻重的地位。德育涉及大量定性和定量的数据处理,为了体现其科学性和公平性,采用先进的计算机技术进行学生综合素质量化评估势在必行。
1 问题的提出
据调查,目前在学校里对学生素质评价的方法,主要有以下几种:
1) 定性描述法
在学期或学年结束时,班主任根据学生在班级、学校和社会活动中的行为表现,运用文字对学生的综合素质进行描述,作为对学生的评价。这种方法在评价学生综合素质时起过一定的作用,但是,由于教师对学生综合素质评价的内容不明确,要求不统一,带有一定的主观片面性和模糊性。
2) 等级划分法
班主任根据平时对学生的观察和了解,对学生的综合素质行为划分出优、良、中、差四个等级。它只能说明每个学生综合素质发展的程度,在班集体中所处的地位,但缺乏具体内容,学生对于自己或他人的优点和缺点、以及个人今后的努力方向都不明确。
3) 自我总结法
这种方法是以学生为主,在教师的指导下总结自己的收获,存在的问题、以及今后的努力方向,并写成书面材料,然后写在操行表的自我总结栏内。这种方法是以学生的自我评价为主,它对于提高学生的自我评价能力,具有一定的促进作用。但是,由于没有老师和同学们参加评价,其评价结果缺乏客观性。
4) 小组评议法
是以班级小组评议为主。通过开评议会的形式,对全组成员分别进行评议,肯定成绩,提出缺点,最后把大家的意见集中起来,作为对学生的评价结果。它具有一定的客观性,可是,没有教师参加评议,影响了评价结果的可信度。
上述各种方法的都有一定的长处,也有一定的缺点。例如,对学生的综合素质的结构,没有明确统一的规定和具体要求;不能同时吸收各方面的意见参加评价;没有制定较为符合需要的综合素质量表和采用科学的测量手段等等。所以,评价的结果往往带有主观片面性,评语内容的不确定性,以及处在同一等级的同学之间存在差异的模糊性。于是最近又提出了对学生综合素质定量进行测量和评价。
5) 定量分数法
将构成学生综合素质的各种因素数量化,并制定出综合素质量表。在具体的进行测量和评价时,把学生综合素质所含每种因素的发展程度分为优、良、中、差四个等级,每个等级分别对应一定的标准值。对不同因素确定不同的权重大小,再综合学生每个因素所取得的标准值,最后得出学生的综合素质分。
用定量的方法对学生的综合素质发展程度进行评价时,不同因素需要确定不同的权重大小。权重的大小对评估结果十分重要,它反映了各指标的相对重要性。由于对不同的因素的权重是人为给定的,而学生综合素质的各项因素对学生的整体素质存在不可确定的影响程度,因些在对学生的测量和评定过程中必然受到主观因素及模糊随机性的影响。并且这种方法需要消耗大量的人力和时间。
为了探讨这个问题,我们根据BP神经网络的基本概念和原理,用神经网络自我学习的方法,对中学生综合素质进行测量和评价。BP神经网络能利用经验样本对神经网络的训练,达到神经网络的自我学习,在网络中自动建立一个多输入变量与输出变量间的非线性映射过程,无需建立具体的数学模型和规则,可以处理那些难以用模型或规则描述的过程或系统。神经网络具有自组织、自学习、自适应的特点,能通过连接权重的不断调整,克服权重确定的困难,弱化人为因素,自动适应信息、学习新知识,最终通过学习训练对实际学习样本提出合理的求解规则,对学生的综合素质的整体评定具有十分重要的意义。首先我们来了解BP神经网络的基本原理。
2BP神经网络的基本原理
1) 神经元网络基本概念
神经网络是单个并行处理元素的集合,从生物学神经系统得到启发。在自然界,网络功能主要由神经节决定,可以通过改变连接点的权重来训练神经网络完成特定的功能。如图1所示。这里,网络将根据输出和目标的比较而进行调整,直到网络输出和目标匹配。
2) 神经元网络结构
图2所示为一个单标量输入且无偏置的神经元。
神经元输出计算公式为:a=f(wp+b)。神经元中的w和b都是可调整的标量参数。可以选择特定的传输函数,通过调整权重 和偏置参量 训练神经网络做一定的工作,或者神经网络自己调整参数以得到想要的结果。
3) BP结构及算法描述
在实际应用中,神经网络用得最广泛的是反向传播网络(BP网络),典型的BP网络是三层网络,包括输入层、隐含层和输出层,各层之间实行全连接。
BP网络是采用Widrow-Hoff学习算法和非线性可微传输函数的多层网络。网络的学习过程由正向和反向传播两部分组成。在正向传播过程中,每一层神经元的状态只影响到下一层神经元网络,如果输出层不能得到期望输出,就是实际输出值与期望输出值之间有误差,那么转入反向传播过程,将误差信号沿原来的连接通路返回,通过修改各层神经元的权值,逐次地向输入层传播去进行计算,再经过正向传播过程,这两个过程的反复运用,使得误差信号最小。实际上,误差达到人们所希望的要求时,网络的学习过程就结束了。
4) 反向传播算法
反向传播学习算法最简单的应用是沿着性能函数最速增加的方向一梯度的负方向更新权重和偏置。这种递归算法可以写成:
xk+1=xk-ak*gk
这里xk是当前权重和偏置向量,gk是当前梯度,ak是学习速率。在神经元中,学习速度又称为“学习速率”,它决定每一次循环训练中所产生的权值变化量(即该值的存在是神经元网络的一个必须的参数)。大的学习速度可能导致系统的不稳定,但小的学习速度将会导致训练较长,收敛速度很慢,通常情况下取值在0-01~0,8之间。
3 基于BP神经网络的学生综合素质量化评估模型
从上述对神经元网络基本概念的研究,我们可以看出BP神经网络主要根据所提供的数据,通过学习和训练,找出输入与输出之间的内在联系,从而求取问题的解,而不是完全依据对问题的经验知识和规则,因而具有自适应功能,这对于弱化权重确定中的人为因素是十分有益的;其次能够处理那些有噪声或不完全的数据,具有泛化功能和很强的容错能力;由于实际对学生量化评估往往是非常复杂的,各个因素之间相互影响,呈现出复杂的非线性关系,人工神经网络为处理这类非线性问题提供了强有力的工具。因此与其它评定方法相比,基于神经网络的评价方法越来越显示出它的优越性。结合学校对学生进行综合素质评估考核的具体问题,我们提出以下设计。
3.1量化评估内容的确定
1) 确定学生的综合素质结构
学生的综合素质结构,主要是根据一定历史阶段的社会要求、学校对学生的传统要求,以及各个不同年龄阶段学生心理和生理发展的特征来确定的,它具有一定的社会性、科学性、可行性。以教育部提出的职业学校学生发展目标为依据,评定内容包括:道德品质与公民素养、学习能力、交流与合作能力、运动与健康、审美与表现、职业技能等6个层次。每个层次又包括各种因素,各层次和因素之间又是相互联系和相互促进的,它既反映了社会的、学校的具体要求,又符合学生综合素质发展和形成的规律。当然,在实际评价学生中,可以根据学校的实际特点进一步确定各要素,进一步构成学生综合素质评价的综合评价指标体系。
2) 学生综合素质评价的结构设计
用BP神经网络进行学生综合素质评价结构的设计如图3所示。对学生的综合素质进行量化评估时,从输入层输入评价学生综合素质的n个评价指标因素信息,经隐含层处理后传入输入层,其输出值y即为学生评估结果。这n个评价指标因素的设置,要考虑到能符合学生综合素质发展和形成的规律,能全面评价学生的综合素质状况。
网络结构的参数选择十分重要,由于输入层与隐含层神经元个数的增加会增加网络的表达能力,不仅会降低系统的性能,同时也会影响其收敛速度和增加噪声干扰。所以首先必须确定输入层神经元的数目。为使模型即有理论价值又有可操作性,本例对应于对学生综合素质考核结构的六个因素,本文采用6个输入神经元,分别为道德品质与公民素养、学习能力、交流与合作能力、运动与健康、审美与表现、职业技能等评价指标。由于目前隐单元数尚无一般的指导原则,为了兼顾网络的学习能力和学习速度,隐含层神经元的个数选择采用试算法,在网络训练过程中进行调整。笔者首先选定15,用训练样本来学习,然后减少隐含层单元数后再进行学习,通过观察训练误差变化的大小来调整隐单元数。其原则是:若在减少隐单元数进行训练时过程平衡(即逐步收敛并达到较小的误差)且误差无显著增加,则说明减少隐单元数是合适的;否则表明隐单元数不宜减少,而应增加隐单元数直到满意为止。选择一个输入神经元为学生综合素质最终评价结果,分别以0、0,5、1对应于学生评议等级的优、良、中三种不同的评价结果。经过多次实验,最后得到适宜的网络模型为6-4-1网络模式。
3.2 量化评估模型
1) 指标体系的规范化处理
根据神经网络计算规则,为了保证输出在线性部分,不到两端去,应保证输入输出在0-1之间,反传达时也一样,输出应在0~1之间。因此要将原始数据归一预处理,变换为[0,1]区间的数值,得到规范化数据,作为输入输出节点的样本数据。原始数据采用我校高一年一个班级的50名学生的学生综合素质各项指标因素样本数据,将实际数据分为两组:前40名学生的各项指标因素成绩样本数据作为学习样本,后10名学生的成绩数据作为测试样本。
2) 学习算法
本模型采用6-4-1BP神经网络结构,其中输入层为6个指标值和一个阈值。模型初始化时对所有的连接权赋予(0,1)上分布的随机数,阈值取1。权值的修正依据带惯性因子的delta规则。根据多次试验的结果,其中,惯性因子α=0.075,学习率η=0.85,将样本数据40组为一次循环,每次循环记录40组样本中最大的学习误差。经过多次的学习,最后观察网络输入与期望输出的相对误差,当误差小于0.005时,学习结束。可以得到如果增大样本的个数,精度还会进一步提高。
本文探讨了神经网络在学生综合素质评价上的应用方法,可取得较为理想的结果,它可以解决用传统统计方法不能或不易解决的问题。但是由于它是一种黑盒方法,无法表达和分析评估系统的输入与输出间的关系,因此也难于对所得结果作任何解释,对求得的结果作统计检验;再者,采用神经网络作评价系统时,由没有一个便于选定最合适的神经网络结构的标准方法,只能花大量时间采用凑试法,从许多次实验中找出“最合适”的一种;还有样本数据需要足够的多,才能得到较为理想的结果。
参考文献:
[1] 高长梅,赵承志,白昆荣.学校德育工作全书(上)[M].北京:人民日报出版社,2005.
[2] 闻新,周露,李翔,张宝伟.MATLAB神经网络仿真与应用[M].北京:科学出版社,2008.
[3] J.P.Marques de sa,Pattern Recognition―Concepts,Methods and Applications[M].北京:清华大学出版社,2006.
关键词关键词:深度学习;卷积神经网络;古玩图片;图像识别
DOIDOI:10.11907/rjdk.162768
中图分类号:TP317.4
文献标识码:A文章编号文章编号:16727800(2017)005017405
0引言
随着电子商务的发展,大批艺术品交易网站随之兴起,藏品交易规模也越来越大。而当前的古玩网上交易平台还不能够实现对现有藏品图片的自动分类,客户在寻找目标藏品时不得不在众多图片中一一浏览。因此需要一种有效的方法来完成面向图像内容的分类。
在基于内容的图像检索领域,常使用人工设计的特征-如根据花瓶、碗、盘子的不同形态特征:目标轮廓的圆度、质心、宽高比等[1],继而使用BP神经网络、SVM分类器等对特征进行学习分类。文献[2]基于植物叶片的形状特征,如叶片形状的狭长度、矩形度、球状性、圆形度、偏心率、周长直径比等,利用BP神经网络实现对植物叶片进行分类。文献[3]研究印品图像的各类形状缺陷,利用图像缺陷形状的轮廓长度、面积和圆形度等几何特征,导入SVM分类器进行训练,得到分类器模型实现分类。文献[4]提出了一种基于Zernike矩的水果形状分类方法,通过提取图像中具有旋转不变性的Zernike矩特征,并运用PCA方法确定分类需要的特征数目,最后将这些特征输入到SVM分类器中,完成水果形状的分类。上述方法都要求对目标形状分割的准确性,而分割过程中由于存在目标阴影、目标分割不完整问题,会影响到人工特征的准确选取。除了上述人工特征外,最常用的特征是HOG[5,6]、SIFT[7,8]等。HOG的核心思想是所检测的局部物体外形能够被光强梯度或边缘方向的分布所描述。HOG表示的是边缘结构特征,因此可以描述局部形状信息。SIFT在图像的空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量。SIFT特征对于旋转、尺度缩放、亮度变化保持不变。但是,这两种特征在实际应用中,描述子生成过程冗长、计算量太大。而且在上述方法征设计需要启发式的方法和专业知识,很大程度上依靠个人经验。
卷积神经网络不需要手动设计提取特征,可以直接将图片作为输入,隐式地学习多层次特征,进而实现分类[9]。相比目前常用的人工设计特征然后利用各分类器,具有明显的优势。近年来,卷积神经网络已成为语音、图像识别领域研究热点。它的权值共享特点使得网络复杂度降低,权值数量减少。而且,卷积神经网络直接将图片作为输入,避免了复杂的特征设计和提取,具有一定的平移、缩放和扭曲不变性[10]。本文采用卷积神经网络对古玩图片进行分类。首先,将背景分离后的图片作为网络的输入,相比原图作为输入,此方法的网络结构更加简单。然后,卷积层通过不同的卷积核对输入图片进行卷积得到不同特征图,采样层进一步对特征图进行二次提取,最终提取到合适的特征输入分类器进行分类,而在卷积层、采样层征图的大小、数目都会影响到网络的分类能力。因此,本文通过优化网络参数,使网络达到较好的分类效果。
1卷积神经网络
1989年,LECUN等[11]提出了卷积神经网络(Convolution Neural Networks,CNN),CNN是一种带有卷积结构的深度神经网络,一般至少有2个非线性可训练的卷积层、2个非线性的固定采样层和1个全连接层,一共至少5个隐含层[12]。百度于2012年底将深度学习技术成功应用于自然图像OCR识别和人脸识别,此后深度学习模型被成功应用于一般图片的识别和理解。从百度经验来看,深度学习应用于图像识别不但大大提升了准确性,而且避免了人工特征抽取的时间消耗,从而大大提高了在线计算效率[13]。
卷积神经网络作为一种高效的深度学习方法[14],在许多图像识别方面取得了很好的成效[1519]。该网络作为一种多隐层神经网络,可以提取图像的多层次特征进行识别。
卷积神经网络主要包括卷积层和采样层,卷积层通过可学习的卷积核对输入图片进行卷积得到特征图,卷积操作即加强了输入图片的某种特征,并且降低噪声。卷积之后的结果通过激活函数(通常选择Sigmoid函数或Tanh函数)作用输出构成该层的特征图。特征图上的每一个神经元只与输入图片的一个局部区域连接,每个神经元提取的是该局部区域的特征,所有神经元综合起来就得到了全局特征,与神经元相连接的局部区域即为局部感受野[20]。而在卷积层中一般存在多张特征图,同一张特征图使用相同的卷积核,不同特征图使用不同的卷积核[21],此特点称为权值共享,即同一张特征图上的所有神经元通过相同的卷积核连接局部感受野。卷积神经网络的局部感受野和嘀倒蚕硖氐愦蟠蠹跎倭送络训练的参数个数,降低了网络模型的复杂度。
采样层对卷积层提取到的特征图进行局部非重叠采样,即把特征图分为互不重叠的N×N个子区域,对每个子区域进行采样。卷积神经网络的采样方式一般有两种:最大值采样和均值采样。最大值采样即选取区域内所有神经元的最大值作为采样值,均值采样为区域内所有神经元的平均值作为采样值。最大值采样偏向于提取目标的特征信息,而均值采样偏向于提取背景的特征信息[22]。采样后的特征平面在保留了区分度高特征的同时大大减少了数据量,它对一定程度的平移、比例缩放和扭曲具有不变性。
卷积神经网络通过卷积层和采样层的循环往复提取到图像由低层次到高层次的特征,最后一般通过全连接层将所有特征图展开得到一维向量,然后输入到分类器进行分类。
卷积神经网络在处理二维图像时,卷积层中每个神经元的输入与上一层的局部感受野相连接,并提取该局部的特征,权值共享特点又使得各神经元保持了原来的空间关系,将这些感受不同局部区域的神经元综合起来就得到了全局信息。采样层对特征图进行局部特征提取,不会改变神经元之间的空间关系,即二维图像经过卷积层、采样层仍然保持二维形式。因此,卷积神经网络有利于提取形状方面的特征。虽然卷积神经网络的局部感受野、权值共享和子采样使网络大大减少了需要训练参数的个数,但是该网络作为多隐层神经网络还是十分复杂的。对于不同的数据库,为了达到比较好的分类效果,网络的层数、卷积层特征图个数以及其它参数的设置都需要探究。
2基于卷积神经网络的古玩图片分类
2.1特征提取及传递
不同古玩的主要区别在于形状不同,而花瓶、盘子和碗在古玩中最常见,因此将这3类图片作为实验对象,对于其它种类的古玩图片的分类,该网络同样适用。卷积神经网络采用如下图所示的5层网络结构,并对网络各层的特征图数目、大小均作了修改。对于网络的输入,先将原图像进行目标与背景分割,然后进行灰度化、统一分辨率的处理,最后输入到卷积神经网络。由于训练卷积神经网络的根本目的是提取不同古玩的特征,而背景不是目标的一部分,对古玩识别来说并不提供任何有用的信息,反而对特征的提取造成干扰,所以去除背景噪声后,网络结构会更加简单,同时也利于网络对特征的学习。但是因为进行了去背景的预处理,网络也失去了对复杂背景下图片的识别能力,所以使用该网络进行古玩图片分类前都要进行目标分割的预处理过程。
卷积神经网络对古玩图片的特征提取过程如下:
(1)输入网络的图片为100×100大小的预处理图,卷积神经网络的输入层之后为卷积层,卷积层通过卷积核与输入图像进行卷积得到特征平面,卷积核大小为5×5。如图2所示,特征平面上每个神经元与原图像5×5大小的局部感受野连接。卷积核移动步长为1个像素,因此卷积层C1的特征平面大小为96×96。这种卷积操作在提取到输入图像的某一方面特征时,必然会损失掉图像的其他特征,而采取多个卷积核卷积图像得到多个特征平面则会一定程度上弥补这个缺陷。因此,在卷积层C1中使用了6个不同的卷积核与输入图像进行卷积,得到6种不同的特征平面图。如图3所示,同一张特征图上的所有神经元共享一个卷积核(权值共享),图中连接到同一个特征图的连接线表示同一个卷积核,6个不同的卷积核卷积输入图片得到6张不同的特征平面图。卷积之后的结果并非直接储存到C1层特征图中,而是通过激活函数将神经元非线性化,从而使网络具有更强的特征表达能力。激活函数选择Sigmoid函数。
卷积层中所使用的卷积核尺寸若过小,就无法提取有效表达的特征,过大则提取到的特征过于复杂。对于卷积层征图个数的设置,在一定范围内,特征图的个数越多,卷积层提取到越多有效表达原目标信息的特征,但是特征图个数如果过多,会使提取到的特征产生冗余,最终使分类效果变差。卷积层的各平面由式(1)决定: Xlj=f(∑i∈MjXl-1j*klij+blj)(1)
式(1)中,Mj表示选择输入的特征图集合,l是当前层数,f是激活函数,klij表示不同输入特征图对应的卷积核,blj为输出特征图对应的加性偏置。
(2)卷积层C1后的采样层S1由6个特征平面组成,采样层对上一层特征图进行局部平均和二次特征提取。采样过程如图4所示,特征平面上的每个神经元与上一层4×4大小的互不重合的邻域连接进行均值采样,最终每个平面的大小为24×24。采样层的各平面由式(2)决定:
Xlj=f(βljdown(Xl-1j)+blj)(2)
式(2)中,down(.)表示一个下采样函数,l是当前层数,f是激活函数,βlj表示输出特征图对应的乘性偏置,blj为输出特征图对应的加性偏置。
(3)卷积层C2与C1层操作方式一样,唯一区别的是C2层每个特征图由6个不同的卷积核与上一层6个特征图分别卷积求和得到,因此C2层一共有6×6个不同的卷积核,卷积核大小为5×5,C2层每个平面大小为20×20,共6个特征平面。
(4)采样层S2与S1层操作一样,对上一层4×4大小邻域进行均值采样,输出6个5×5大小的特征平面。本文所用的网络共包括2个卷积层、2个采样层、1个全连接层,由于输入图片已经过背景分离的预处理,采样层S2特征图大小为5×5,所以图1所示5层网络已经有很好的表达能力。如果直接将原图作为输入,那么网络的层数以及特征图的个数将比图1所示的网络更加复杂。
(5)全连接层将上一层6个5×5大小的二维平面展开成为1×150大小的一维向量输入Softmax[23]分类器,输出层一共有3个神经元(即分类的种类数目),分类器将提取到的特征向量映射到输出层的3个神经元上,即实现分类。
2.2网络训练
训练方式为有监督地训练,网络对盘子、花瓶和碗共三类图片进行分类,所以分类器输出一个3维向量,称为分类标签。在分类标签的第k维中1表示分类结果,否则为0。训练过程主要分为两个阶段:
第一阶段:向前传播A段。
将预处理过的图片输入卷积神经网络计算得到分类标签。
第二阶段:向后传播阶段。
计算输出的分类标签和实际分类标签之间的误差。根据误差最小化的原则调整网络中的各个权值。分类个数为3,共有N个训练样本。那么第n个样本的误差为:
En=12∑3k=1(tnk-ynk)2(3)
式(3)中,tn表示第n个样本的网络输出标签,tnk对应标签的第k维,yn表示第n个样本的实际分类标签,ynk对应标签的第k维。为了使误差变小,利用权值更新公式(4)更新各层神经元的权值,一直训练直到网络误差曲线收敛。
W(t+1)=W(t)+η・δ(t)・X(t)(4)
式(4)中,W(t)表示算第n个样本时的权值,W(t+1)表示计算第n+1个样本的权值,η为学习速率,选取经验值,δ为神经元的误差项,X表示神经元的输入。
3实验结果及分析
实验在MatlabR2012a平台上完成,CPU 2.30GHz,内存4GB,所采用的图像由相关古玩网站提供,分辨率统一格式化为100×100。由于盘子、花瓶和碗在各种古玩种类中它们之间的形状差别比较明显,本文实验对这三类古玩图片进行分类。对古玩图片进行了水平翻转处理,增加图片数据量,以加强网络对古玩图片分类的鲁棒性。实验数据如表1所示,图5列出了3类图片的部分样本,实验所用图片均与图5所示图片类似,背景比较单一,少数图片下方有类似阴影。
为了形象表示网络各层提取的不同特征,图6展示了当网络输入为盘子时的各层特征图。卷积层C1中6张特征图分别提取到了输入图片的不同特征,而由于权值共享,同一张特征图中神经元的空间关系保持不变,所以6张特征图都抓住了盘子的圆形特征。采样层S1对C1进行均值采样,相当于模糊滤波,所以S1层各特征图看起来模糊了一些。卷积层C2中每张特征图由6个不同的卷积核卷积S1层各特征图叠加而成,S2层与S1层处理方式相同。
为了说明将背景分离后的图片作为输入的网络与原图输入的网络之间的差异,设计了如表3所示的两种网络结构,网络CNN4只需要4层网络层就可以达到0.19%的错误率,而原图作为输入的CNN8共6层网络层,在网络达到收敛的情况下,错误率为5.24%。由此可以说明,将背景分离后图片作为输入的网络结构更加简单。
网络的训练采用了批量训练方式,即将样本分多批,当一批样本前向传播完之后才进行权值更新,每批大小为100,训练集共2 200张图片,网络迭代次数为1时共进行22次权值更新,所以权值更新的计算次数与迭代次数有如下关系:
计算次数=22×迭代次数(5)
图7为网络在训练集上的误差曲线图,横坐标为误差反向传播的计算次数,纵坐标为训练集上的均方误差。可以看出,当网络训练次数达到270次(计算次数约6 000)时,训练集误差趋于平缓,网络已经基本拟合。训练好的网络可以用来对测试集图片进行分类,表4为不同迭代次数下训练的网络在测试集上的分类错误率,可以看出迭代次数在达到270次后,网络在测试集的错误率收敛,此时只有2张图片出现分类错误。
表5给出了图像分类算法中常用的人工特征+BP神经网络、人工特征+SVM分类器以及Hog特征+SVM分类器与CNN方法的性能比较。人工设计的特征包括图片中目标轮廓的最大长宽比、质心、圆度等特征。从准确率方面来看,CNN方法的准确率高于其他方法,Hog特征方法的准确率远远高于人工特征的方法,说明了特征的好坏对图像分类效果有着很大程度上的影响,CNN提取到的特征比Hog和人工设计的特征更具代表性。从测试时间来看,Hog方法与CNN方法相差不多,采用人工特征的方法时间最长。综合两个方面,CNN方法在测试时间和HOG方法相近的情况下,准确率最高。
4结语
针对网上古玩图片分类问题,为了克服现有算法中人工设计特征困难以及往往依赖个人专业经验的不足,提出一种基于卷积神经网络的方法。将背景分离后的目标图片作为网络输入,可以实现自动提取特征进行分类,背景分离后图片作为网络输入使得网络结构更加简单,并且设置了合适的特征图个数以使网络在古玩图片集上取得较好的分类准确率。实验数据表明,该方法能够解决网上古玩图片的分类问题,并且分类准确率达到99%,其准确率优于常用的Hog特征以及人工特征方法。另外该方法不仅可以应用于网上古玩图片,还可应用于鞋类、服装等其它商品图像的分类。
参考文献参考文献:
[1]K KAVITHA,M.V.SUDHAMANI.Object based image retrieval from database using combined features[C].in Signal and Image Processing (ICSIP),2014.
[2]董红霞,郭斯羽,一种结合形状与纹理特征的植物叶片分类方法[J].计算机工程与应用,2014,50(23):185188.
[3]舒文娉,刘全香,基于支持向量机的印品缺陷分类方法[J].包装工程,2014,35(23):138142.
[4]应义斌,桂江生,饶秀勤,基于Zernike矩的水果形状分类[J].江苏大学学报:自然科学版,2007,28(1):3639.
[5]ZHU Q,YEH M C,CHENG K T,et al.Fast human detection using acascade of histograms of oriented gradients[C].Proceedings of the 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition,2006.
[6]M VILLAMIZAR,J SCANDALIANS,A SANFELIU bining colorbased invariant gradient detector with Hog descriptors for robust image detection in scenes under cast shadows[C].In Robotics and Automation,ICRA IEEE International Conference on.Barcelona,Spain:IEEE,2009.
[7]CHEN J,LI Q,PENG Q,et al.CSIFT based localityconstrained linear coding for image classification[J].Formal Pattern Analysis & Applications,2015,18(2):441450.
[8]AHMAD YOUSEF K M,ALTABANJAH M,HUDAIB E,et al.SIFT based automatic number plate recognition[C].International Conference on Information and Communication Systems.IEEE,2015.
[9]LAWRENCE S,GLIES C L,TSOI A C,et al.Face recognition:a convolutional neuralnetwork approach[J].IEEE Transactions on Neural Networks,1997,8(1):98113.
[10]TREVOR HASTIE,ROBERT TIBSHIRANI,J FRIEDMAN.The elements of statistical learning[M].New York:Springer,2001.
[11]Y LECUN,L BOUOU,Y BENGIO.Gradientbased learning applied to document recognition[J].Proceedings of the IEEE,1998,86(11):22782324.
[12]DAHL J V,KOCH K C,KLEINHANS E,et al.Convolutional networks and applications in vision[C].International Symposium on Circuits and Systems (ISCAS 2010),2010:253256.
[13]余凯,贾磊,陈雨强,等.深度学习的昨天、今天和明天[J].计算机研究与发展,2013(09):17991804.
[14]MAIRAL J,KONIUSZ P,HARCHAOUI Z,et al.Convolutional kernel networks[DB/OL].http:///pdf/1406.3332v2.pdf.
[15]Z世杰,杨东坡与刘金环,基于卷积神经网络的商品图像精细分类[J].山东科技大学学报:自然科学版,2014(6):9196.
[16]程文博等,基于卷积神经网络的注塑制品短射缺陷识别[J].塑料工业,2015(7):3134,38.
[17]邓柳,汪子杰,基于深度卷积神经网络的车型识别研究[J].计算机应用研究,2016(4):14.
[18]T JONATAN,S MURPHY,Y LECUN,et al.Realtime continuous pose recovery of human hands using convolutional networks[J].ACM Transaction on Graphics,2014,33(5):3842.
[19]S SKITTANON,A C SURENARAN,J C PLATT,et al.Convolutional networks for speech detection[C].Interspeech.Lisbon,Portugal:ISCA,2004.
[20]HUBEL D H,WIESEL T N.Integrative action in the cat's lateral geniculate body[J].Journal of Physiology,1961,155(2):385398.
[21]JAKE BOUVRIE.Notes on convolutional neural networks[DB/OL].http:///5869/1/cnn_tutorial.pdf.
关键词:数据挖掘;网络入侵;安全防护系统;信息安全;检测技术
中图分类号:TP393文献标识码:A文章编号:1009-2374(2010)04-0001-02
随着信息技术的发展,网络已经承载了越来越多的公司核心业务。信息安全问题成为了一个业界和用户必须面对的问题。网络用户通常将防火墙当作保障信息安全的手段,而网络攻击者也在变换着攻击的技术和方式,随着攻击者的手法与工具日益繁多,对于一些信息敏感的部门来讲,只用防火墙已经远远不能满足安全需求。在这种情况下,需要采用具有深度的,多样化的防护方式来进行网络安全部署。结合当今越来越复杂的网络环境,设备的配置需要频繁升级和维护,系统的操作和管理也为网络工作人员带来了较大的工作量,而安全隐患经常产生在管理员疏忽大意的时候。所以,针对网络入侵的检测技术和设备越来越受到人们的关注,而且开始在安全需求较高的网络中发挥关键作用。
一、网络攻击导致流量异常的分类及特点
可以将网络入侵行为分为四类,分别是:DOS拒绝服务攻击、R2L远程网络用户攻击、U2L用户获取超级权限攻击以及PROBE探测攻击。和本文相关的(造成网络流量异常情况的)是以下两类异常攻击,现对其特点进行分析:
(一)拒绝服务攻击
对于拒绝服务攻击而言,这种攻击手段严重危害网络安全,其主要模式是利用了网络和服务器的固有弱点而故意制造许多无意义的数据流量,从而挤占了网络为正常使用者提供的请求服务。攻击的手段是将大量ICMP 数据报文、非法的 IP 报文等由攻击者直接向攻击目标不间断发送,导致主机处理能力耗尽。
(二)扫描探测攻击
这属于一种很普遍的攻击行为,比如蠕虫病毒爆发时首先要进行大量端口扫描或主机扫描,蠕虫病毒最大的特点是快速繁殖和自动攻击,结合蠕虫病毒的攻击特点与攻击方式,可以查看网络主机的SYN 位以及SYN/ACK 位,若发现其报文数量有明显差异,则可将其作为一个蠕虫病毒的源头。本文的入侵检测也是基于对网络攻击特征的总结。
二、基于数据挖掘的网络防护系统构建
(一)入侵检测系统整体架构
本文构建的入侵检测系统的建模依据是网络上出现异常的数据流量,下面是组成模块的功能描述。
1.信息采集模块。此模块的主要功能是对信息数据进行捕获,数据来源为网络应用系统的计算机网卡。模块将捕获的信息数据制作一份拷贝,传输到已经分配好的缓冲区,这份拷贝是为系统中别的模块访问而准备的。入侵检测系统在网络中进行配置部署期间便会直接获取数据信息,因此本模块的使用时期为入侵检测系统初步测试期间。当系统一旦正式投运,模块将不再具备效能。可以看出,此模块的主要作用是通过数据的提取来为后续的数据挖掘过程提供数据资源。
2.信息整理模块。模块的功能是对报文进行处理,并将处理之后的报文信息传递到其对应的IP汇聚项。此模块与数据库间的连接,使得模块能够按照一定的周期向数据库中传输经过汇聚的数据信息,从而为对入侵检测下一步的流程处理提供了数据源。
3.数据挖掘模块。本模块的首要任务是调试神经网络系统的系统参数,使其尽可能优化,这一步是在离线的情况下完成。通过定时从数据库将源IP汇聚信息提取出来进行基于神经网络技术的分析,来判别数据流中是否夹杂着攻击行为。模块还可以根据攻击信息而生成相应的报告。
4.报警记录模块。报警模块的功能是在发生攻击行为时用对话框产生报警信号,同时向系统管理员提交报警信息。
系统的神经网络参数可以随时用人工操作的方式在在线分析时进行调整,从而使参数能够尽可能的准确和优化。通过模块所提供的相关功能界面,网络安全管理员能够实时监控和配置对整个入侵检测系统。整个系统模型如图1所示:
本入侵检测系统可以分为两大组成部分,在数据输入数据库之前的模块属于信息采集和整理,这部分的主要功能是汇聚和手机网络上的实施数据,传输到数据库中以备进一步的挖掘处理;在数据库处理后输出的部分则属于对汇聚数据进行分析,主要操作为将数据库中提取出的汇聚信息进行网络流量异常分析,用数据挖掘的方式来确定数据中是否存在异常的网络攻击行为,数据分析模块的信息数据完全来自数据采集模块的输出。
(二)数据挖掘算法的实现
本系统选取一个三层神经网络结构,将样本X加入到输入层中,用NETn表示来自输入层所有神经元Om的输入总和,得到输出结果On。将系统权系数定义为Wmn,采用采用sigmoid函数作为激发函数作用于所有的神经元。
sigmoid函数表示为:f(x)=1/(1-e-x)
以下是具体的算法流程:
1.将权系数初始值进行确定。
2.通过对所有样本的分析计算,对以下流程进行重复,直到系统收敛为止。
(1) 按照前后顺序,对各层单元On进行计算:
NETn=∑Om*Wmn
On=1/(1-e-NETn)
(2) 得出输出层的δn:
δn=(y-On)*On*(1-On)
(3) 按照从后向前的顺序,计算各层的δn值:
δn=On*(1-On)*∑δ1*Wnl
(4)计算各权值修正量,并保存起来。
SWmn(t)=a*SWmn(t-1)+b*δn*Om
最后,对权值进行修正:
Wmn(t+1)=Wmn(t)+SWmn(t)
用以下步骤实现本算法:
系统的权值由随机数产生并把偏置量置为1,偏置量权值同其他输入值。
将首个样本值输入进神经网络系统,经过计算处理后求得其输出值,用实际的分类值作参考与此输出值进行比较,将其间的差异进行后反向传递,从而去调整之前确定的权值,之后到达步骤2;
向神经网络系统中输入第二个样本值,将上一步调整后的权值作为其权值,运算处理的过程则同第一步,从而再次进行权值的调整,之后到达下一步;
继续将第三个样本值输入,其余过程则类似第二步,之后到达下一步;
……
(n)向神经网络系统中将第 n 个样本值输入,调整权值,之后到达下一步;
(n+1)将首个样本值第2次向神经网络系统中输入,调整之前确定的权值,之后到达(n+2)步;
……
有多种方法可以用来停止神经网络学习,如将权值调整的次数规定为一个特定的值,比如800次;此外,还可以规定一个误差值,当样本值在经过神经网络系统处理后的输出与实际的分类值的差的绝对值小于这个误差值时,就停止神经网络学习。
(三)安全防护系统的应用模式
可以把此系统划分为数据挖掘模块和数据采集整理模块两大部分。在通常采用的做法中,数据挖掘技术在入侵检测流程里的角色为:在确定了攻击行为特征属性后,以数据流的具体走向为准,向数据挖掘模块输入来自数据采集整理模块的攻击特征属性,由数据挖掘模块判定是否确定出现了具体的网络攻击行为。
需要注意的是,虽然在入侵检测系统里引入数据挖掘技术可以起到明显的效果,但是数据挖掘的算法本身具有“通用算法”的特点,是基于一般知识的。而将数据挖掘算法应用到信息安全领域时,由于网络随时可能产生众多无意义的信息,因此为了将此类干扰信息降至最低,必须以具有针对性的网络协议进行约束和过滤。只有在具备了完备的特征属性的数据输入的基础上,数据挖掘技术才能发挥效力,如果由于大量无意义信息的存在而导致产生了不合理的特征属性,则会对数据挖掘功能造成某种程度的误导,致使入侵检测失去效能。
三、结语
网络上承载着大量的数据和应用,随之而来的是许多安全审计数据信息。通过对这些信息进行处理和提取,从中萃取出网络入侵行为的特征量,是网络安全防范最核心的问题。对安全审计信息的处理和操作即为网络入侵检测,数据挖掘技术的引入,能够帮助系统在在大量数据中迅速判断提取出隐藏的潜在知识信息,因此数据挖掘在入侵检测中的应用是一个被广泛关注的应用问题。
参考文献
[1]蒋建春,冯登国.网络入侵检测原理与技术[M].国防工业出版社,2008.
[2]Rebecca G.Brace.入侵检测[M].北京:人民邮电出版社,2008.
[3]Axels son S.Research in Intrusion Detection Systems:A Survey Technical Report[R].1998,12(17),Dept.of Computer Eng. Chalmers Univ.of Tech,SE-412 96 Goteborg,Sweden,2006,(12).
关键词:人工神经网络 盈利能力 评价 预测 上市公司
一、人工神经网络简介
人工神经网络(Artificial Neural Network,以下简称ANN),是一种对生物神经网络的结构与功能进行模仿的数学计算模型。神经网络依靠大量的人工“神经元”联结组合而成,每个“神经元”代表一种激励函数,它属于一种特定的输出函数。对每两个“神经元”间的连接都赋予一个权重(Weight),它代表通过该连接信号的加权值,这与活体生物的神经网络相类似。网络的激励函数、连接方式与权重值的不同决定了网络输出的不同。同时,ANN是一种自适应系统,它能根据外界信息的变化改变自身的内部结构,通过对输入、输出变量的不同关系的分析,掌握其中的内在规律,建立不同的非线性统计性数据模型,这一建模的过程也被称为“训练”。
如图1所示,a1、a2、……、an为输入向量的各个分量;W1、W2、……、Wn为神经元各个连接的权重,b为偏置,f为非线性传递函数,t为神经元输出,t=f(WA′+b),其中,W为权向量,A为输入向量,A′为A向量的转置。
盈利能力是衡量企业经营业绩的重要指标,是为维持企业生存、推动企业发展的根本动力,备受企业的管理者、所有者、债权人、政府监管部门等利益相关者的关注。因此,必须对企业的盈利能力进行准确、合理的评价与预测。由于企业的盈利能力不仅涉及到一系列定量的指标,还包括了大量定性的指标,这些指标本身就非常复杂,再加上会计信息本身所特有的模糊性,对盈利能力的评价与预测造成了很大的难度。ANN具备大量公式同时运行、大量数据同时计算、运算程序分布式存储、运算结果综合式处理、自我适应、自我组织与自我学习的能力,它自从被提出以来就在实务界得到广泛的运用,特别是随着近年来计算机电子技术的发展与进步,ANN逐步完成了软件模拟与硬件实现的无缝对接,在信号处理、模式识别、专家系统、优化组合、知识控制、机器人控制等领域发挥着越来越重要的作用。ANN非常适合应用于拥有很多不同的输入向量(即所要处理的问题需要同时考虑多种条件与因素),且输入向量具备不精确、模糊性特征的信息处理问题。笔者根据衡量企业盈利能力的各项评价指标的特征,结合ANN的优点,构建了一个ANN企业盈利能力综合评价与预测模型。
二、基于人工神经网络的企业盈利能力评价与预测模型设计
(一)指标的选择
企业盈利能力指标从不同的角度出发可以分为以下几个方面:第一类是应用最广泛的商品经营盈利能力分析指标,在计算时以企业的利润表为分析基础,包括收入利润率分析与成本利润率分析;第二类为资本经营盈利能力分析指标,在计算时不仅要运用企业的利润表,还涉及到资产负债表,主要是对净资产收益率的计算、分析与评价;第三类为资产经营盈利能力分析指标,主要是指企业的总资产报酬率指标进行分析和评价。盈利能力评价指标的选取是否科学、合理,与最终所建立的ANN企业盈利能力综合评价模型的有效性直接相关,因此,评价指标的选择应坚持科学性、全面性、可行性、可比性、客观性、重点性等原则。笔者在建立ANN企业盈利能力综合评价模型时将运用以下几个指标:销售净利率X0,销售毛利率X1,总资产报酬率X2,净资产报酬率X3,每股收益X4。
(二)模型设计的原理
将笔者已选择的几项企业盈利能力评价指标相应数值作为ANN的输入矢量:X=(X0,X1,X2,X3,X4)T,网络的期望输出t表示企业盈利能力综合评价结果的相应的分值。发挥ANN所特有的自适应、自组织、自学习能力对该网络运用大量的样本进行训练与学习,不断降低相对误差,最终使之符合预定精度,以完成ANN企业盈利能力综合评价模型的构造。
(三)模型的建立
第一步,选取合适的ANN结构。著名ANN基础理论专家S.K.Doherty的研究表明,只含有一个隐含层的三层(输入层、隐含层、输出层)前馈ANN具备以任意精度逼近任何非线性函数关系的特点。因此本文在对企业的盈利能力进行综合评价时将建立一个三层前馈型ANN模型,由于笔者选取了5个企业盈利能力综合评价指标,则输入层神经元个数就是5。虽然到目前为止,隐含层神经元个数的确定方法在理论界尚未形成统一的意见,但根据以往学者研究的经验,隐含层神经元个数n与输入层神经元个数m应满足如下关系:n>1/2m。故本文的隐含层神经元个数确定为3。输出层为唯一的神经元――企业盈利能力综合值。
第二步,网络参数初始化。为隐含层与输入层之间的连接赋予权值Wij、阈值(k,输出层与隐含层之间的连接权值w′ij)、阈值(′k,以较小的随机数确定)。
第三步,本文的样本数据均来自国泰安数据库(下文简称CSMAR)。笔者对所选取的样本数据进行等比例缩放以使所有的盈利能力指标数据落在[0,1]区间内,以便于ANN对数据进行处理,对相互间差异很大的各指标的实际数值进行归一化处理,有利于神经网络预测精度的提高与应用范围的拓展,计算公式为: X′i =(Xi-Xmin)/(Xmax-Xmin)。
第四步,输入层神经元的输入X′已给出,计算输入层的输出Y′:Y′i= f(xj),其中神经元的激活函数为非线性函数,sigmoid函数最为常用,即 f(u)=1/(1+e-u)(该函数的一个特征为:f′(u)=f(u)[1-f(u)]。
第五步,计算隐含层神经元输入X′′:X′′j=∑w′ijy′i-θ′j和输出Y′′:Y′′j= f(X′′j)。
第六步,计算输出层神经元的输入X′′′:X′′′k=∑w′iky′k-θ′k和输出Y′′′:y′′′k=f(X′k)。
第七步,对于给定的一组样本数据(X,T),计算网络的误差uk=(tk-yk)f′k(x′′′k),若该误差不满足要求,则计算隐含层的一般误差Vj=[∑(ukw′jk)]f′j(X′′′j)
第八步,修正权值和阈值:Wjk(N+1)=Wjk(N)+ηWjk(N),其中W′jk(N)=Vj,η为步长。
Wjk(N+1)=W′jk(N)+ηW′jk(N),θ′ k(N+1)=θ′k(N)+θ′ k(N),θj(N+1)=θj(N)+ θi(N)。
第九步,在进行完以上步骤后,取下一个列模式作为输入信号,把所有的训练模式运行一遍,若达到了预定精度,则停止训练,否则重新运行,直到达标为止。
三、基于人工神经网络的企业盈利能力评价与预测实例分析
本文以沪市52家上市公司为样本,对其2013年一季报进行分析,数据来自CSMAR数据库中的“公司研究系列―中国上市公司财务指标分析数据库―盈利能力”,从中挑选出本文所要用到的五个指标,即输入层。接着结合模型建立过程与ANN基本理论,确定本次训练需要使用的各参数,隐藏层到输出层的权矩阵为(-7.1692,-8.3074,-8.0133)T,输入层到隐藏层的权矩阵为:
本文以MATLAB7.0作为编制ANN计算程序的应用软件,以样本中52家上市公司盈利预测作为网络的期望输出。样本包含52组数据,笔者选取其中的36组作为用于训练网络的样本,其余的16组样本用于模拟待测评的对象,也可以用来检验,把上述52组数据经过归一化处理到[0,1]区间内后输入到已编制好的计算机程序中进行训练和仿真。
各参数设置为:显示迭代过程为5,训练精度为le-5,最大训练次数 25 000,经过52次循环学习后网络训练结果与企业的盈利预测基本相似,52家公司的盈利能力预测的相对误差都控制在了5%以内;同时,在36组训练样本运行完毕后,无论是36组训练样本还是16组检验样本的模拟仿真结果排序都与期望输出排序顺序达到了高度一致,验证了ANN系统对企业盈利能力评价与预测结果的准确性。值得注意的是,在实务的具体运用中,通过反复训练,不断调整网络权值与阈值,同时对学习精度进行适当提高,扩大训练样本数量的方法,可以实现ANN误差的进一步降低,精度的进一步提高,从而获得与实际更加接近的仿真结果。基于以上过程构建的ANN企业盈利能力评价模型无疑具有更准确的运行结果与更广泛的应用空间。
【摘要】2016年是“十三五”的开局之年,也是全面建成小康社会决胜阶段的开局之年,设施农业产业将面临更多的机遇和挑战。在以往的研究中,针对物联网对设施农业影响的研究比较多,本文将以人工智能在设施农业领域应用为视角,分析人工智能对设施农业的潜在发展优势。
施农业是集种植、农业装备等多领域为一体的系统工程,是一种在人为可控环境下进行的高效农业生产方式,具有成套的生产技术、完整的设施装备和生产规范[1]。近几年,随着信息技术的发展,物联网技术逐渐被应用到农业生产和科研中,这是现代农业依托新型信息化应用的一次进步[2]。本文结合人工智能研究成果,着重介绍人工智能技术在设施农业种植领域方面的应用前景,根据设施农业产前、产中、产后3个阶段,对现有研究成果进行了阐述。
人工智能概述
“人工智能”一词是1956年在Dartmouth学会上提出。从那以后,研究者们发展了众多理论和原理,人工智能的概念也随之扩展。人工智能(Artificial Intelligence),英文缩写为AI,它是研究用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的新型科学技术[3]。
作为计算机科学的一个重要分支,人工智能技术着眼于探索智能的实质,模拟智能行为,最终制造出能以人类智能相似的方式做出反应的智能机器。著名的美国斯坦福大学人工智能研究中心尼尔逊教授对人工智能下了这样一个定义:“人工智能是关于知识的学科,即怎样表示知识以及怎样获得知识并使用知识的科学。”而另一位美国麻省理工学院的温斯顿教授认为:“人工智能就是研究如何使计算机去做过去只有人才能做的智能工作。”@些说法反映了人工智能学科的基本思想和基本内容。人工智能自诞生以来,理论和技术日益成熟,应用领域不断扩大,可以设想,未来应用了人工智能的科技产品,将会是人类智慧的“容器”。
随着人工智能技术的日益成熟,人们意识到人类已经具备了设计和建造智慧型设施农业所需的硬件和软件技术条件,结合设施农业高投入高产出,资金、技术、劳动力密集型的特点,完成工厂化农业生产已经不是梦想[4]。依靠人工智能技术,作物可以在适宜的温度、湿度、光照、水肥等设施环境下,生产优质、高产的农产品,摆脱对自然环境的依赖,实现设施生产的高度智能化,提高农业生产的效率,降低劳动成本[5]。
人工智能在设施农业领域的应用
人工智能技术在产前阶段的应用
在设施农业产前阶段,凭借人工智能技术可对土壤、灌溉水量需求、作物品种质量鉴别等方面做出分析和评估,为农民做出科学指导,对后续的农业生产起到很好的保障作用。
土壤分析是农业产前阶段最重要的工作之一,是实现定量施肥、宜栽作物选择、经济效益分析等工作的重要前提[6]。在土壤分析等农业生产智能分析系统中,应用最广泛的技术就是人工神经网络(简称ANN)。ANN是模拟人脑神经元连接的,由大量简单处理单元经广泛并互连形成的一种网络系统,它可以实现对人脑系统的简化、抽象和模拟,具有人脑功能的许多基本特征。目前可以通过该技术分析土壤性质特征,并将其与宜栽作物品种间建立关联模型。土壤性质特征的探测主要是借助非侵入性的探地雷达成像技术,然后利用神经网络技术在无人指导的情况下对土壤进行分类研究,进而建立起土壤类别与宜栽作物的关联关系;土壤表层的黏土含量也可通过人工智能方法预测,该技术通过分析电磁感应土壤传感器获取的信号,使用深度加权方法从中提取土壤表层质地信息,然后使用ANN预测土壤表层的黏土含量。
传统农业对灌溉用水的使用量往往依靠经验,无法根据环境变化进行精确调节,对多目标灌溉规划问题也无能为力。人工智能技术可帮助人们选择合适的水源对作物进行灌溉,保证作物用水量,大大减轻灌溉问题对作物产量造成的不良影响。在美国,有专家研制出一个隐层的反馈前向ANN模型和一个位于科罗拉多州地区阿肯色河流域的消费使用模型,使用它们可勘察区域气候变化对灌溉用水供应和需求可能产生的影响。在灌溉项目研究中,为了选择最好的折中灌溉规划策略,还可基于多目标线性规划优化,利用神经网络将非支配的灌溉规划策略加以分类,将这些策略分为若干个小类别。结果表明,在对多目标灌溉规划问题加以建模时,综合模型方法是有效的。
人工智能技术在产中阶段的应用
在设施农业产中阶段,主要应用是农业专家系统、人工神经网络技术、农业机器人等。这些技术能够帮助农民更科学地种植农作物并对温室大棚进行合理的管理,指导农民科学种植,提高作物产量。这些人工智能技术的使用推进了农业现代化的发展,提高了农业生产的效率,使农业生产更加机械化、自动化、规范化。
专家系统是指应用于某一专门领域,拥有该领域相当数量的专家级知识,能模拟专家的思维,能达到专家级水平,能像专家一样解决困难和复杂问题的计算机(软件)系统。国际上农业专家系统的研究始于20世纪70年代末期的美国,1983年日本千叶大学研制出MTCCS(番茄病虫害诊断专家系统),到了20世纪80年代中期,农业专家系统不再是单一的病虫害诊断系统,美国、日本、中国等国家也相继转向开发涉及农业生产管理、经济分析、生态环境等方面的农业专家系统。农业科研人员把人工智能中的专家系统技术应用到农业生产中,开发出了农业专家系统。它可代替农业专家走进生产温室,在各地区具体指导农民科学种植农作物,这是科技普及的一项重大突破。
在设施生产中可以使用机器人来代替农民进行作物采收,不仅可以降低劳动成本,也可以提高工作效率。Wolfgang Heinemann等人研发出的具有独特设计结构的采收机器人,该机器人可以在无需人类干扰的情况下自动采收白芦笋。为了保证机器人能够精确行进,它使用了2个独立的速度控制轮和级联控制结构(其中包含了一个内部的定位误差控制器和一个外部的横向偏置控制器)。借助PID算法①,机器人系统可以分析自己的运动轨迹,优化驱动电机的控制参数,保证系统能够稳定自主的运行。
在中国,应用人工智能技术的智能杂草识别喷雾系统已经得到了长足发展。图像分析系统通过分析田间图像的颜色模型,根据色差分量②颜色特征实现杂草实时识别,并基于Canny算子对识别到的杂草进行边缘检测,提取其特征参数,配合超生测距等技术可以精确控制喷头位置及用药量[7]。该技术的应用可以大大提高除草剂的经济性,对保护环境也大有益处。
人工智能技术在产后阶段的应用
人工智能技术在设施农业产后阶段也有相当多的应用前景。
在农产品分类方面人工智能技术能提供很好的支持。张嘏伟[8]等提出了一种基于图像识别的番茄分类方法,该方法根据番茄的表面缺陷、颜色、形状和大小,使用遗传算法训练的多层前馈神经网络对番茄进行分类,并与BP训练神经网络③进行了比较。结果表明,遗传算法在训练次数和准确性上都具有优势。谢静[9]等对图像识别分类中的图像预处理方法进行了研究,包括图像噪声去除方法、图像分割方法、边缘提取方法等。提出了使用改进的canny算法④和当量直径法相结合来检测水果大小的新思路,并使用模糊聚类方法处理gabor滤波器提取水果表面缺陷特征,对水果表面缺陷进行了分类。
随着社会的发展,人民生活水平的提高,广大消费者及国家都对食品安全问题越来越重视,农产品质量检测方法也在不断进步。图像识别、电子鼻等技术都应用在了农产品检测中。李洪涛[10]等利用人工嗅觉装置,模拟人的嗅觉形成过程分析、识别和检测农产品在腐败过程中释放的不同特征气体。其制作了小型化的传感器阵列并利用半导体制冷片搭建了一个PID温度控制系统,保证传感器正常工作的温度及湿度。在当前技术的发展下,科学家们以彩色计算机视觉系统为重要技术手段,综合运用图像处理、人工神经网络、遗传算法、模拟退火算法以及决策树、专家系统等人工智能领域的技术,研究出了众多实现农产品品质检测和自动分级的新方法。
草莓、葡萄等农产品很容易破损和受伤,依靠人工采摘和搬运,不仅增加了劳动成本,也影响农产品采摘后的品质。结合磁流变(MR)流体技术,工程师们设计出了一种可用于搬运农产品的磁机器人手爪,该手爪经过精确设计,可以搬运胡萝卜、草莓、西兰花和葡萄等不同形状食品,而且不会在食物表面留下任何淤痕和凹陷。为了让机器人手爪更为快速、准确地工作,在磁流变手爪的基础上结合力传感技术开发出了更为灵活、智能的新型手爪。该手爪可在410~530 ms内抓握50~700 g重量的农作物,还能显著减少细菌的交叉感染。
人工智能发展前景
近年来,人工智能技术已经取得了长足的进步,语音识别、自然语言识别、计算机视觉、自动推理、数据挖掘、机器学习以及机器人学都在蓬勃发展。人工智能的未来就是在智能感知的前提下,结合大数据技术自主学习,椭人们做出决策、代替重复性工作。在农业方面出现全天候全自动平台,实现农业生产的全自动化[11]。物联网技术在设施农业中已经得到普及,在温室大棚中的大量智能传感器是机器感知的基础,而感知则是智能实现的前提之一,通过感知,农业数据源源不断地汇集在一起。云计算的发展为大数据存储和大规模并行计算提供了可能[12],而数据则是机器学习的书本。设施农业是物联网、云计算、人工智能三大技术结合应用的领域之一,它们的结合颠覆了传统农业生产方式。
面对众多的新技术、新成果,把它们投入到生产中去才是关键。如何让技术能够适应中国复杂的农业生产环境,同时还要面对不同知识水平的用户,这些都是人工智能技术、云计算技术等高新技术在农业生产中所面临的问题。设施农业高产出高投入的特点,正适合应用这些新技术,这样既可以让新技术有实践的机会,又可以让其他涉农用户对新技术有直观的感知,这对技术进步和技术推广都很有帮助[13]。
人工智能技术虽然前景光明,但其应用的研究才刚刚起步,离目标还很远。未来,人工智能技术可以更好地为人们服务,改善人们的生活,并带来巨大的社会和经济效益[14]。在人工智能的引领下,农业已迈入数字和信息化的崭新时代,借助其技术优势来提高农业生产的经济效益,是全面实现农业生产现代化、智能化、信息化的必由之路。
参考文献
[1]李雪,肖淑兰,赵文忠,等.信息技术在农业领域的应用分析[J].东北农业大学学报,2008,39(3):125-128.
[2]施连敏,陈志峰,盖之华,等.物联网在智慧农业中的应用[J].农机化研究,2013(6):250-252.
[3]刘现,郑回勇,施能强,等.人工智能在农业生产中的应用进展[J].福建农业学报,2013,28(6):609-614.
[4]姜芳,曾碧翼.设施农业物联网技术的应用探讨与发展建议[J].农业网络信息,2013(5):10-12.
[5]陈超,张敏,宋吉轩,等.我国设施农业现状与发展对策分析[J].河北农业科学,2008,12(11):99-101.
[6]邹承俊.物联网技术在蔬菜温室大棚生产中的应用[J].物联网技术,2013(8):18-24.
[7]石礼娟.基于可见光/近红外光谱的稻米质量快速无损检测研究[D].武汉:华中农业大学,2011.
[8]张嘏伟.计算机视觉系统在番茄品质识别与分类中的研究[D].保定:河北农业大学,2005.
[9]谢静.基于计算机视觉的苹果自动分级方法研究[D].合肥:安徽农业大学,2011.
[10]李洪涛.基于农产品品质检测的专用电子鼻系统的设计与研究[D].杭州:浙江大学,2010.
[11]张震,刘学瑜.我国设施农业发展现状与对策[J].农业经济问题,2015(5):64-70.
[12]施连敏.物联网在智慧农业中的应用[J].农机化研究,2013(6):250-252.
关键词:数据挖掘;无监督学习;有监督学习;半监督学习;迁移学习
中图分类号:TP274文献标识码:A文章编号:1007-9599 (2010) 06-0000-07
Summarization of Data Mining Learning Method
Xu Rui
(Guizhou Mobile Corp. Guiyang550004,China)
Abstract: As a new domain of information technology,data mining takes full advantages of database,statistical analysis and artificial intelligence,etc.It is quit important to be familiar with data mining for decision-makers,since it is a new direction of enterprise informationization.In this article,the author summarized some common learning method of data mining,especially the new domain:transfer learning.Finally,the article briefly described difference among these learning methods.
Keywords:Data mining;Unsupervised learning;Supervised learning;Semi-supervised learning;Transfer learning
企业信息化建设经历了办公自动化,信息管理系统,企业资源计划三个阶段,随着企业数据的快速增长,科学决策的广泛应用,数据挖掘和商业智能成为企业信息化建设的新的突破点。数据挖掘综合统计学、人工智能、数据库技术等多学科知识,从海量的数据中迅速发掘有价值的信息。作为一个新兴领域,数据挖掘的研究与应用发展迅速,但数据挖掘并不为企业决策者充分认识。本文将从学习的角度,重点介绍数据挖掘领域常见的算法。
一、引言
数据挖掘算法依据其任务特点,常被分为四类:预测建模、聚类分析、关联分析以及异常检测。另一方面,依据算法所适应的问题类型来分,又可以分为无监督学习(Unsupervised Learning)、有监督学习(Supervised Learning)、半监督学习(Semi-supervised Learning)以及迁移学习(Transfer Learning)。比如针对网页的挖掘,普通用户关注返回结果与自己需求的相关性以及结果展现的可理解性,会更加希望网络搜索引擎进一步将相关的结果根据不同的类别分成不同的组(无监督学习);搜索引擎工程师期望借助由专家进行类别标记的网页,建立准确的引擎,对网页进行分类(有监督学习);为有效提高搜索结果的准确性,搜索引擎通常还会根据用户的搜索习惯或者交互式的反馈,对结果进行筛选(半监督学习);而筛选的结果有时还会用来提供给其他具有类似习惯的用户(迁移学习)。
二、无监督学习
聚类分析通常又被叫做无监督学习。无监督学习可以理解为学习过程中只使用到了训练样本的原始属性,而未涉及到训练样本的类别属性。比如电信行业根据客户消费信息的相似性,将客户归为不同的类别组,并对不同的类别组设计有区别的营销策略和增值服务,在公司内部编制不同的财务成本计算方法。在这一过程中使用的数据都是各营业厅收集的原始数据,得出的结论主要基于对原始数据的相似性归类的结果,在这一归类过程中不辅以任何人为的诸如添加类别标签等指导。
无监督学习方法,或者说聚类算法,通过研究描述数据的属性在不同数据间的相似性,将数据划分为若干有意义的组或者是簇。无监督学习通常要达到两个目标:1.簇内数据尽可能相似;2.簇间数据尽可能相异。为此,无监督学习方法的设计要关注两个关键点:(1)如何评价数据之间的相似性或者相异性;(2)以及如何同时满足所要达到的两个目标。
(一)相似性度量标准
假设用于无监督学习的数据表示形式为X={X1,X2,…},其中X表示用于学习的样本集。对于每个样本Xi,又可以表示为一组属性的集合Xi={xi1,xi2,…,xik},其中k表示描述每个样本的属性数量(或者说维度)。相似度(或相异度)的评价即是设计一个样本之间的距离评价函数d(Xi,Xj)。
对于区间标度类数据,通常可以用明氏距离(式2-1)、欧式距离(式2-1中p为2)、曼哈顿距离(式2-1中p为1)。
(2-1)
对于只有0和1两种状态的二元变量,可以根据两个变量Xi,Xj共同出现时0、1取值的异同,建立距离函数。若令q表示Xi,Xj都取值为1的次数;t表示两者都取值为0的次数;r表示Xi取值为1,Xj取值为0的次数;s表示Xi取值为0,Xj取值为1的次数。则两者的距离函数可以设计为如式2-2,计算两个函数的不匹配率。
(2-2)
但是二元变量常常是非对称的,意思是人们常常关注与取值为1的情况,而其他情况表示为0。比如疾病诊断中,常常把患者疾病检测呈阳性标记为1,而结果呈阴性标记为0。这是Xi,Xj都取值为0的情况(负匹配)被认为不重要的,而只关注两者同时为1的情况(正匹配)。这种情况下通常用Jaccard系数来表示两者的距离函数,如式2-3。
(2-3)
多元变量是二元变量的推广,区别在于可以取得多个状态值。因此,相似地,多元变量的距离函数也通常采用两个对象之间的不匹配率来计算,即Xi、Xj属性取值不相同状态占全部属性的数目。如果多个状态值之间有序,比如说比赛的排名次序,状态的先后次序也是在设计距离函数是非常重要的。这种情况下通常,先将各个取值映射到[0.0,1.0]的区间内,一种简单的方法就是将[0.0,1.0]划分为M-1个区间,M为取值的总数目;然后根据每一个排序后的属性到0.0的区间大小来度量。映射到[0.0,1.0]区间后,可以采用先前介绍的距离函数来进行评价。
由于一个样本的属性常常会包含多种变量类型,可能是区间标度的或者二元、多元的,甚至是非对称的。一种常见的处理方法是将各个属性首先进行归一化处理,将每个属性的取值映射到[0.0,1.0]的区间。比如,区间标量变量,距离函数通过除以最大区间差(属性最大取值减去属性最小取值)来实现映射。对于全部归一化的属性集合,样本利用式2-4的方法进行计算。其中,Iij(k)是指示函数,若xik或xjk缺失,或者非对称二元变量情况下取值同为0,则Iij(k)取值为0;否则取值为1。
(2-4)
文本挖掘中,由于文档对象较为复杂,切以向量形式表示,依靠传统的距离度量计算方式不能获得较好的效果。一种常见的方法是利用描述相似性的余弦度量来建立距离函数,如式2-5。其中XiT表示Xi的转置,||X||表示X的欧几里德范数。
(2-5)
(二)学习策略
常见的聚类算法可以划分为如下几类:
1.划分方法(partitioning methods):划分方法将给定的N个对象构建出数据的k(k≤N)个划分,要求(1)每个划分至少包含一个对象且(2)每个对象属于且只属于某一组。但是在模糊划分技术,第二点唯一性要求可以放宽。
常见的划分方法为K均值(k-means)算法。算法的基本方法是首先初始化K个点作为初始的质心,然后迭代式地将每个点指派到距其最近的质心,形成K个簇,并计算出新的簇的质心;迭代过程持续到质心不再发生变化。
2.层次方法(hierarchical methods):层次方法创建给定数据对象集的层次分解,利用自顶向下或者自底向上的策略不断的建立簇之间的树状关系。
以自底向上策略为例,首先将全部个体点作为独立的簇,然后迭代式的合并最接近的两个簇,并更新簇之间的关系矩阵;迭代过程持续到数据最终合并为一个簇。
3.基于密度的方法(density-based methods):基于密度方法设计的核心思想是邻域中密度较大的点聚集在一起。这种方法可以有效的发现任意形状的簇,而不仅仅是球状的簇。
DBSCAN是一种常见的基于密度的方法。算法核心思想是通过检查每个样本点半径不超过ε的邻域来搜索簇,并利用密度可达关系将密度较大的临近的簇合并起来。如果一个点的ε的邻域中包含大于某个阈值的样本数,则将此样本作为这个簇的核心对象,而邻域内的所有点对核心对象来说都是“直接密度可达”的;将直接密度可达的样本链接起来,则说这些点都是密度可达;通过合并密度可达的核心对象所代表的簇,算法最终可以寻找出任意形状的簇,并剔除噪声点。
三、有监督学习
有监督学习常被认为是分类的另外一种说法(也有学者认为只是分类过程的第一步),这是因为建立分类模型时,总是要求用来学习的样本具有完整的类别标签,来指导(或者说监督)整个学习过程。通常来说,完整的分类过程由两步组成:(1)对于有类别标签数据的学习,以及(2)对未知类别标签数据的预测。根据对训练集的使用方式,有监督学习一般分为两大类:模板匹配法和判别函数法。判别函数法依据判别函数的不同,又可以进一步分为概率统计分类法、线性分类法和非线性分类法。
(一)模版匹配法
将待分类的样本和标准模板进行比较,看与哪个模版匹配程度更相似,从而确定待分类样本的类别,这就是模版匹配的主要思想。比如K近邻算法,算法的思想为:对于一个待分类的样本,首先计算它与训练集中所有样本的距离,并以距离从小到大的顺序选出从空间上最靠近待分类样本的K个训练样本,最后依据这K个样本中出现频率最高的类别作为该待分类样本的类别。再比如,在模式识别应用中,经常会在后台数据库中保存一定量的模版,通过寻找与待分类样本差异最小的模版,来确定待分类样本的类别。模版匹配法思想较为简单,实现起来非常容易,特别是K近邻算法,经常应用于在线算法(要求算法效率非常高)的分类算法部分。但是模版匹配算法有一个明显的缺点就是当存储的训练模版非常大时,算法的存储和计算将成为算法提高效率的瓶颈。
(二)概率统计分类法
基于概率统计的方法主要指基于Bayes决策理论的分类算法。算法的核心思想就是依据Bayes后验概率公式,计算出待分类样本属于每一种类别的可能性,并找出最有可能的类别判为待分类样本的预测类别。
任何决策都有误判的情况,Bayes决策也不例外,如何做出最合理的判决,常常与具体问题结合。其中最具有代表性的是基于最小错误率的Bayes决策以及基于最小风险的Bayes决策。本节将首先介绍Bayes决策理论。
1.Bayes决策理论。
Bayes理论基于样本中每个类别的先验概率P(Ci)以及每个类的条件概率密度P(X|Ci)的统计,利用Bayes公式(式2-6)计算待分类样本分属各类别的概率(后验概率),依据X属于哪个类别具有最高的概率,就把X划分到哪个类。
(2-6)
公式中,先验概率P(X)针对某个类别出现的概率而言,可以通过统计训练集中每个类别所占比例计算;类条件概率密度P(X|Ci)是指在某类别空间中,出现特征向量X的概率,具体应用中一般假设P(X|Ci)服从正态分布,亦即满足式2-7,其中u为均值向量; 的协方差矩阵。
(2-7)
2.最小错误率的Bayes决策。
由Bayes公式可以看出,后验概率的大小只于先验概率和类条件概率密度的乘积P(X|Ci)P(Ci)有关。对于每次分类,总错误率为当X划分为某一类时,出错的可能性的总和。
对于两类问题,若P(X|+)P(+)>P(X|-)P(-),亦即P(+|X)>P(-|X),可以知道,将X分为“+”类的总错误率(1-P(X|+)P(+))将小于将X分为“-”类的总出错率(1-P(X|-)P(-))。对于多类的问题,依据同样的道理,可以证明将X分为使P(Ci|X)最高的类别,可以保证决策具有最小的错误率。
3.最小风险的Bayes决策。
现实生活中,不一定总错误率越小就代表决策越好,比如药厂判别药品质量,若将正常药品判别为劣质药品,造成的损失远小过将劣质药品判为正常药品的代价。此时需要对每种错误赋予一个风险权值,用以评价做出某种决策风险的大小。
对于某一观测值X,当将其分为Ci类时,总风险可以表示为:
(2-8)
式中,λij表示待分类样本X实际属于Cj但将其错误分为Ci所带来的损失。对于X,当计算出每个类别的风险函数后,选择具有最小风险的类别作为X的分类类别。
相对于最小错误率的Bayes决策,最小风险的Bayes决策具有更广泛的适应面,但是风险权值λij的制定相对较为复杂,需要根据具体问题,权衡各种损失的大小。
4.基于概率统计分类法的其他问题。
在实际应用中,类条件概率密度P(X|Ci)并不一定确切知道,潜在的值必须从可用的数据中估计。有时可能知道概率密度的类型(如高斯分布,t分布等),但不知道具体参数,此时一般采取最大似然估计或者最大后验概率来估计;另一方面有时可能知道一些估计的参数,比如均值和方差,但是却不知道具体的分布类型,此时可以采取最大熵估计或者采用著名的EM算法(期望最大算法)来估计类条件概率密度。
(三)线性分类法
Bayes决策分类有其不足的地方,其分类过程依赖于统计,因此更多适应于有统计知识的场合,也就是说服从一定分布的分类问题,但是现实中还有很多问题并不能满足这个要求,分类问题的研究进而转向如何采用非统计的方法来进行分类。
任何一个样本点都可以表示成特征空间的一个点,任何不相同的两个点之间都有一定距离,如果能够找到一个面(线性或者非线性)将属于不同类别的样本隔开,则表示这个面的函数就可以作为分类的依据。这就是几何分类法的思想,可以简单理解为利用几何方法把特征空间分解为不同类别的子空间。有时为了更好的找划分空间的函数,常常会利用映射、投影等方法对特征空间进行转化。
依据划分子空间的面是否为平面,即决策函数是否为线性,可以将几何分类方法分为两类:线性分类法以及非线性分类法。
线性分类就是通过一个或者多个超平面,将特征空间按类别划分为独立子空间。用来表示超平面的决策函数可以表示为g(X)=WTX+W0,其中W表示权值向量,W0被称为偏置(bias)。从图像上来理解,g(X)表示图2-1中的斜线。对于g(X)>0的点,即图中斜线右边的点,被划分为正类;相反地,途中斜线左边的点,被划分为负类。
从系统实现角度来看,一个线性分类器可以表示成一个具有d个输入单元,每个单元与结果具有连接权值的一个模型(图2-2)。每个输入特征向量乘以相应的权值,并输出这些乘积的累加和。利用一个Sigmoid函数(图中的output unit函数),将结果映射到{0,1}或者{-1,1}。
1.线性判别函数的形式。
对于二类问题,直接用g(X)=WTX+w0形成划分平面,平面两侧各属于一类,如图2-1中的例子。
对于多类别问题,情况比较复杂,通常有以下两种策略。
假设拥有d个类别的问题:
(1)如果对于任何一个类别Ci,利用g(X)=WTX+w0能够区分属于Ci以及不属于Ci的样本,此时分类的函数就是由每个类别的判别函数组成。此时分类函数总共有d个。若待分类样本满足gi(X)>0,则将其分到Ci类。若同时有多个类别使得X满足gi(X)>0,则选取具有最大函数值的类别作为X的类别。
(2)如果任两个类别Ci、Cj,可以通过gij(X)=WijTX+wij0区分开,则此时分类函数总共有d(d-1)/2个。对于任意的Cj,若待分类样本满足gij(X)>0恒成立,则将其划分为Ci类。
2.线性判别函数系数的确定。
线性判别函数设计的关键问题是权值的确定,也即使判别函数系数的确定。依据一定的评价准则,线性判别函数不断修正权值的大小,从而达到满足评价准则的系数值。
最常见的确定线性判别函数的算法包括感知器算法、最小二乘法(LSM)以及支持向量机。
(1)感知器算法:感知器算法的原理是每次依据分错的样本(用Y(W)表示),依据式2-8,不断的调整权值。感知器算法实际上就是单层神经网络,通过训练样本的不断指导,不断的修正自己的权值。实际上分错的样本越少,则g(X)距离真实的判别边界越近。
(2-9)
(2)最小二乘法:在某些情况下,尽管线性分类器不是最优的,但其效率和简单常常可以弥补这些问题。因此需要利用最优化的数学方法,计算较优的性能。最小二乘法正是最优化算法在线性分类器中的应用。利用最小二乘的结论公式:W=(XTX)-1XTy,利用矩阵计算的方法解出相应的权值,并使得训练集样本距离超平面的均方和最小。
(3)支持向量机:感知器算法可能会收敛到不同的解,但对于要求严格的问题中,一个给两测类别留了更多可自由活动的空间的决策函数显然产生错误的危险更小。支持向量机理论提供了求出这样平面的方法,通过解决优化问题:
(2-10)
使得超平面两侧拥有最大的间隔。其中满足|WTX+w0|=1的向量叫做支持向量。
(四)非线性分类法
线性分类器具有简单、直观的特点,但是在现实生活中会经常遇到线性不可分的情况,比如最著名的异或(XOR)布尔函数,就无法用一个平面将两各类别分开。最常见的非线性分类的方法有神经网络、多项式分类器以及决策树分类器。
1.神经网络。
一个简单的神经网络由三部分组成:输入层(input)、隐含层(hidden)以及输出层(output),如图2-3。
作为一个可以适应复杂问题的启发式的统计模式识别技术,神经网络具有强大的功能,戈尔莫戈罗夫证明只要给出足够数量的隐含层的神经单元、适当的非线性函数以及权值,任何判决都可以利用三层神经网络来实现。一个常见的神经网络的算法就是利用反向传播算法。限于篇幅,这里只介绍算法的核心思想。
反向传播算法的基本思想主要分为三步:
第一步,初始化所有权值。
第二步,前向计算:从输入层开始,从前往后地依次计算每个神经元的输出,计算方式为带限界的加权和。
第三步,后向计算与权值修正:依据输出的结果,从输出曾开始从后往前地依次计算出来权值修正的大小,并对全部权值进行修正。
反向传播算法可以对空间进行较为复杂的划分,并且可以充分利用并行的高性能计算来完成分类的工作。但是人工神经网络需要较大的训练集来保证结果的正确性。
2.多项式分类器。
对于一个多项式分类器,其核心思想就是进行样本空间的转化,将其转化为线性分类器问题。比如针对XOR问题,原特征空间可以表示为X=[x1,x2],若引入新的特征空间,令X’=[x1,x2,x1x2]=[y1,y2,y3],则完成了从二维空间到三维空间的转化。而对于新的空间,可以建立超平面g(x)=y1+y2-2y3-1/4正确区分两个类别。
然而多项式分类器适用于低维空间的非线性分类问题,对于维度较大的问题,由于产生的新特征空间将过于庞大,增加了计算的复杂性。
3.决策树。
决策树算法的核心思想就是利用一系列的查询来逐步地确定类别,图2-4展现了一个判断水果类型的决策树。
建立一棵决策树的过程可以看作是从不同的属性空间,层次性的分开各个类别的数据。建立的过程如下:
(1)首先,选择一个属性,对训练集进行划分。
(2)其次,对划分的每一个子训练集,判断是否满足停止准则,比如限制树的高度,确定根结点的纯度等。
(3)最后,如果有子训练集不满足停止条件,算法将对该子训练集重复这三个步骤,直到所有的训练子集都满足。
决策树使用比较简单,进行规则的匹配和查询就可以了,而且结果非常直观。但是对于算法实现的细节,比如停止准则的确定,进行划分的特征的选择等会影响分类的结果。限于篇幅,这里就不一一介绍。
四、半监督学习
区别于有监督学习要求训练集具有完整的类别标签,半监督学习只需要小部分训练样本具有类别标签,甚至可以通过向外部的指示器(Oracle)交互式地获得部分样本的标签。
同时区别于无监督学习,不要求训练集具有类别标签,只是通过研究样本属性之间的相似度进行学习,半监督学习通常依靠部分有标签的样本进行指导,还可以有效地提高聚类的效果。
通常半监督学习被认为是分类问题的特殊形式,因为半监督学习多关注与如何有效地利用无类别标签数据来提高分类器的性能。但是半监督学习的研究仍然涉及到聚类、回归等方面。
最常见的半监督学习方法是产生式模型方法(Generative Models),通常来说数据的分布可以描述为P(X,y)=P(X|y)P(y),该方法假设P(X|y)服从特定的混合分布模型(比如高斯混合分布模型)。通过大量的无标签样本,确定组成该混合模型的各个组成部分的参数,利用有标签样本的信息,来进一步确定样本的分布。针对产生式模型的研究,在理论方面集中在以下两个方面:
1.混合模型可识别性研究:给定某一参数向量,能否可以确定唯一的多分布混合的方式。可以知道的是高斯分布的混合模型是可识别的;与此同时,文献[11]证明Bernoulli混合模型是不可识别的;文献[12]在混合模型可识别性方面做了进一步的研究。
2.模型正确性研究:如果对于模型的假设是正确的,可以证明,通过充分学习无标签的样本有助于提升分类的精度;但是如果模型估计错误,无标签样本不会对模型精度带来提升,甚至导致精度下降。通常会利用组合算法或者样本降权的策略来减少模型选择错误带来的风险。在应用方面,常见的方法包括利用EM算法辨别混合组件、利用聚类算法划分样本空间并利用有标签的数据标记各子空间的标签;应用领域主要包括文本分类、文字对齐、人脸识别等。
自主训练方法(Self-training)是半监督学习最早的研究方向之一。该方法使用一个有监督学习算法从一小批有标签样本开始学习,迭代地给无标签样本赋予标签,并加入到训练样本中来。这种思想最早可以追溯到1965年。由于是一种包裹式算法,算法的性能更多依赖于所选择的有监督学习算法的性能。自主学习方法被用于多种自然语言处理任务中,比如语义歧义的识别甚至是情感识别;同时Rosenberg等人还将自主学习应用到图像对象识别系统中。
协同训练(Co-training)最初是Blum和Mitchel针对诸如网页分类等具有两个充分冗余的视图的半监督学习问题提出来的半监督学习算法。最初假设样本包含两个充分冗余的视图,由于这一要求在实际应用中往往无法满足,Nigam和Ghani在文献[24]中通过实验证明,在属性集充分大时,可以随机把属性集划分为两个视图,同样可以取得不错的效果。由于充分大属性集要求过于严格,随机划分属性集的效果不是非常稳定,因此,许多研究者试图寻找不需要充分冗余视图的协同算法。Goldman和Zhou在文献[25]的研究建立在噪声学习理论和统计技术之上,利用不同决策树分类器划分样本空间为若干等价类。每个分类器不断从样例空间的等价类内找出最置信的一批样本给予标签,提交给另一个分类器作为训练样本。他们在文献[3]中进行了扩展,使该算法可以使用多个不同类型分类器。为了进一步放松约束条件,周志华等人提出了Tri-training算法。该算法首先使用重复取样的方法训练三个分类器,然后不断的利用其中两个分类器,共同选出高置信的无标签的样本进行标记,来更新第三个模型。对比Goldman的方法,Tri-training算法显著减少了大量耗时的统计测试技术。为进一步减少噪声的影响,李明等人又在Tri-training的基础上提出了Co-forest方法,可以更好地发挥协同学习的作用。
直推式支持向量机(Transductive Support Vector Machines,TSVM)又被叫做半监督支持向量机(Semi-Supervised Support Vector Machines,S3VM)目的是利用支持向量机技术,将决策边界建立在远离高密度区的空间区域,来建立P(X)与决策边界的联系。由于寻找准确的直推式支持向量机的解是NP难问题,许多算法都主要用于发掘近似解。其他类似的避免高密度区域进行判别的算法还包括基于高斯过程的方法(如文献[18]),以及基于信息论的方法(如文献[19])。
基于图的半监督方法(Graph-based semi-supervised methods)通常将数据集描述为一张图,图中的结点为数据集中的样本(有标签或者无标签的),结点之间的连线通常定义为样本之间的相似度。图方法通常利用矩阵理论或者图算法,来寻找平滑的函数能够最大程度上匹配有标签样本的分布。图的半监督学习算法的关键在于建图、以及损失函数的确定。
除了半监督分类算法,其他半监督算法还包括谱聚类(Spectral Clustering),半监督聚类(Semi-supervised Clustering),半监督回归(Semi-supervised Regression),主动学习(Active Learning),多示例学习(Multi-Instance Learning)等。
五、迁移学习
与半监督学习类似的,迁移学习的提出也是针对训练样本不足的分类情况。但是半监督学习依靠具有独立同分布的训练样本和待分类样本,而迁移学习则通过借助其他领域的训练样本来建立分类器,为本领域的待分类样本进行类别标签预测。
传统的学习方法通常依赖各自领域的训练样本,建立本领域的知识模型来进行领域内的学习任务,如图2-5(a)。但是迁移学习的训练样本来自其他领域(比如有类别标签样本较为丰富的领域),通过该领域样本的学习,抽取出来相关的知识用于本领域的分类任务,如图2-5(b)。但是与传统学习方式相同的是,迁移学习的目标也是分类的经验风险最小化,只是优化经验风险时会利用到源领域的知识。
迁移学习依赖于源领域的知识和目标领域知识分布相似,如果两者的分布不一致,往往会引起分类性能的下降,这种现象叫做负迁移。负迁移成为使用迁移学习的最大风险,为了保证迁移学习的效果,如何降低负迁移成为迁移学习关注的一个领域。
依据有类别标签的样本存在的学习领域,文献[8]将迁移学习领域分为两类:归纳式迁移学习(Inductive Transfer Learning)和直推式迁移学习(Transductive Transfer Learning)。
(一)归纳式迁移学习
归纳式迁移学习的假设为目标领域包含有部分的带有类别标签的样本。因此该领域的研究重点在于如何迁移其他领域的知识,以更好的利用目标领域中带有类别标签的样本。依据迁移的手段可以分为:
1.样本迁移:归纳式迁移学习的样本迁移方法假设目标领域和源领域使用相同的特征空间和标签集合,通过调整权值和重采样技术,实现源领域部分样本的重用。因此,此方式的核心思想是利用目标领域内的带有类别标签的样本指导从源领域进行采样,使得训练样本在分布上与目标领域近似。
以Tradaboost[9]为例,训练的数据来自于源领域和目标领域,每次训练结束对训练结果进行评价。对于目标领域,类似于Adaboost方法提升被分错的样本的权值;而对源领域,则降低被分错样本的权值。下一轮训练则利用调整后的样本权值进行重采样。最后依据分类的置信度输出判定的类别标签。
2.代表特征迁移:归纳式迁移学习的代表特征迁移方式假设源领域和目标领域由于任务的相关性,会共享某些特征。该方法的核心思想为通过空间映射方法(比如特征选择,特征变换,核空间等)提升目标领域和源领域在特征领域的相似性,同时增强样本的类别可区分性。利用优化技术,使得目标领域映射、源领域映射、参数矩阵三个角度都达到优化。
3.模型迁移:归纳式迁移学习的模型迁移方式假设由于各个领域之间的任务具有一定相关性,在一定程度上可以共享相互之间模型的参数。学习算法通过改变各个领域学习目标函数,使得各目标函数在形式上类似,甚至具有相同的重要参数,这时通过共享相同模型参数,实现目标领域的学习的优化。
4.关系知识迁移:归纳式迁移学习的关系知识迁移方法假设目标领域和源领域在样本关系方面具有相似性。该方法首先学习源领域的关系知识,比如学生和导师以及文章三者关系;其次,建立源领域相关对象与目标领域相关对象之间映射关系,比如源领域的学生、导师和文章分别对应目标领域的演员、导演和电影;最后,将从源领域的关系知识直接或者经过变换迁移到目标领域。
该种方法具有一定的针对性,一般用于具有样本相关性的模型中,通过迁移关系知识,提升目标领域的关系模型建立的效率和性能。
(二)直推式迁移学习
直推式迁移学习的假设为目标领域中不包含任何具有类别标签的样本。类似与归纳式迁移学习,直推式迁移学习也包含样本空间和特征空间两个研究的角度。
1.样本迁移:由于目标领域不包含带有类别标签的样本,因此样本迁移方法是依据源领域和目标领域在分布上的差异,给源领域的样本赋予不同的权值,尽可能接近目标领域的分布。特别地,一些基于采样的直推式迁移学习方法假设目标领域和源领域具有相同的后验概率,通过重采样方法生成新的训练集。
2.代表特征迁移:直推式迁移学习中的代表特征迁移方法依然假设目标领域和源领域具有相同的后验概率。该方法的核心思想是通过找到一组特征能够减少目标领域和源领域之间的距离。
直推式的代表特征迁移往往只是针对特定的问题。比如具有相同词典的文本挖掘,文本的属性向量相同或者类似,并以词典分布作为依据,通过协同聚类方式迁移类别标签。
(三)迁移学习相关问题
依据文献[8],依据目标领域是否具有带有类别标签的样本,迁移学习可以分为归纳式迁移学习(Inductive Transfer Learning)和直推式迁移学习(Transductive Transfer Learning)两个方向。而根据源领域是否具有类别标签样本,以及目标领域和源领域学习任务的相似性,迁移学习还涉及到以下几类学习问题:
自助学习(Self-taught Learning):该问题假设目标领域和源属于不同的分布,而且类别标签集也不相同;特别地,源领域有类别标签的样本较少。该方法通过找出共同的属性集合,来实现目标领域的学习。比如图像识别里面,各个识别任务可能不一样,例如识别动物和识别风景。但通过聚类发现识别动物时依据对象边缘的特征,可以有效地区分不同的动物;将该特征可以迁移到对不同风景的识别中。因此自助学习常常使用协同聚类方法找出可以迁移的特征基。
其他相关的研究方向还有:多任务学习(Multi-task Learning)、无监督迁移学习(Unsupervised Transfer Learning)、领域自适应学习(Domain Adaptation)以及样本选择偏差/方差迁移(Sample Selection Bias/Covariance Shift)等。在此不一一介绍。相关领域关系如图2-6所示。
六、总结
本章从学习角度介绍了数据挖掘领域常见的四类算法。有监督学习和无监督学习是数据挖掘传统的学习方法,依据样本是否使用了外在的类别标签作为指导,分别应用于不同的任务场景。由于现实生活中有类别标签的数据往往较少或者获取难度较大,近年来提出了包括半监督学习以及迁移学习等方法,利用无类别标签样本或者类似学习任务来提升有监督学习的效果和性能。
有监督学习、半监督学习、迁移学习主要的目的是为了提高分类任务的性能,图2-7通过犀牛和大象的图片分类任务来形象的区分了三者的核心思想。有监督学习,如图2-7(a),通过学习具有类别标签的大象和犀牛的图片建立学习模型;半监督学习,如图2-7(b),利用具有类别标签的两中动物的图片以及不具备类别标签的两种动物的图片建立学习模型;迁移学习,如图2-7(c),通过学习羊与马的图片,建立源领域模型,并迁移到目标领域大象和犀牛的学习问题中。
参考文献:
[1]Chapelle O,SchÄolkopf B,Zien A. Semi-Supervised Learning.MIT Press,Cambridge.MA,2006
[2]Rosenberg C,Hebert M,Schneiderman H.Semi-supervised self-training of object detection models.in Seventh IEEE Workshop on Applications of Computer Vision,2005
[3]Zhou Y,Goldman S.Democratic co-learning.in Proceedings of the 16th IEEE International Conference on Tools with Artificial Intelligence(ICTAI 2004),2004
[4]Bennett K,Demiriz A. Semi-supervised support vector machines.Advances in Neural Information Processing Systems,1999
[5]Zhu X.Semi-supervised learning with graphs.Ph.D.thesis.Carnegie Mellon University,2005
[6]Zhou Z,Xu J.On the relation between multi-instance learning and semi-supervised learning.in Proceedings of the 24th International Conference on Machine Learning,2007
[7]Duda R,Hart P,Stock D.模式分类(原书第二版).李宏东,姚天翔
[8]Pan J and Yang Q. A Survey on Transfer puter Sciences Technical Report HKUST-CS08-08,2008
[9]Dai W,Yang Q,Xue G,and Yu Y.Boosting for transfer learning.In Proceedings of the 24th International Conference on Machine Learning,2007
[10]Raina R,Battle A,Lee H,etc.Self-taught Learning:Transfer Learning from Unlabeled Data.Proceedings of the 24th International Conference on Machine Learning,2007
[11]McCallum A,Nigam K.A comparison of event models for naive bayes text classification.in AAAI-98 Workshop on Learning for Text Categorization,1998
[12]Corduneanu A,Jaakkola T. Using unlabeled data to improve text classification.Tech.Report AIM-2001-030.MIT AI Memo,2001
[13]Castelli V,Cover T.The relative value of labeled and unlabeled samples in pattern recognition with an unknown mixing parameter.in IEEE Transactions on Information Theory,1996
[14]Nigam K,McCallum A,Thrun S,Mitchell T.Text classification from labeled and unlabeled documents using em.in Machine Learning,2000
[15]Dara R,Kremer S,Stacey D.Clustering unlabeled data with soms improves classification of labeled real-world data. in World Congress on Computational Intelligence(WCCI),2002
[16]Culp M.An iterative algorithm for extending learners to a semi-supervised setting.in The 2007 Joint Statistical Meetings(JSM),2007
[17]Zhou Z,Li M.Tri-training:exploiting unlabeled data using three classifiers. in IEEE Transactions on Knowledge and Data Engineering,2005
[18]Zhu X,Lafferty J,Ghahramani Z.Semi-supervised learning: From gaussian fields to gaussian processes.Tech.Rep.CMU-CS-03-175,Carnegie Mellon University,2003
[19]Szummer M,Jaakkola T.Information regularization with partially labeled data.in Advances in Neural Information Processing Systems,2002
[20]Grira N,Crucianu M,Boujemaa N. Unsupervised and semi-supervised clustering:a brief survey.Tech.Rep.FP6.A Review of Machine Learning Techniques for Processing Multimedia Content,2004
[21]Zhou Z,Li M.Semi-supervised regression with co-training.in International Joint Conference on Artificial Intelligence(IJCAI),2005
[22]McCallum A,Nigam K.Employing em in pool-based active learning for text classification.in Proceedings of the 15th International Conference on Machine Learning,1998
[23]Blum A,Mitchell bining labeled and unlabeled data with co-training.In Proceedings of the Workshop on Computational Learning Theory (COLT),1998
[24]Nigam K,Ghani R.Analyzing the effectiveness and applicability of co-training.in Proceedings of the 9th ACM International Conference on Information and Knowledge Management(CIKM'00),2000
[25]Goldman S,Zhou Y. Enhancing supervised learning with unlabeled data.in Proceeding of the 17th International Conference on Machine Learning(ICML'00),2000
[26]Zhou Z,Li M.Tri-training: exploiting unlabeled data using three classifiers. in IEEE Transactions on Knowledge and Data Engineering,2005