前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的神经网络的算法主题范文,仅供参考,欢迎阅读并收藏。
关键词: BP神经网络; 支持向量机; 核函数; 数据挖掘
中图分类号: TN711?34 文献标识码: A 文章编号: 1004?373X(2017)11?0111?04
Research on data mining algorithm based on neural network
WANG Chunmei
(School of Computer Science and Technology, Xi’an University of Posts and Telecommunications, Xi’an 710121, China)
Abstract: The neural network can classify and predict the various network models. The data mining algorithm based on BP neural network and SVM is applied to the air quality prediction in Xi’an region. Although the BP neural network and SVM method have different generalization ability and convergence ability, the past historical data is used to train the network model. The experimental results prove that the data mining algorithm can predict the future data accurately.
Keywords: BP neural network; support vector machine; kernel function; data mining
0 引 言
近年来空气污染严重,空气问题不容忽视,准确的空气质量预测具有极大的现实意义。神经网络算法在数据挖掘中占有重要的地位,因为网络模型、复杂度等不同,神经网络可以拟合各种曲线实现分类、预测等多种模式,至今神经网络已经研究出了多种类型来适应不同的要求。
神经网络要求网络模型对训练数据集有比较好的逼近能力,也需要对训练集之外的分布数据能给出比较精准的预测。泛化能力即经过训练学习得到的预测模型,对没有在训练集中出现但是具有一定规则的数据能有比较准确的预测能力,不只是普通的保存学习过的样本,而是需要进行有限次数据的训练,找到未知的规律。
本文基于神经网络的BP算法和SVM算法利用已有的历史数据训练网络模型,对未来的天气进行较为准确的预测工作。
1 BP算法
前馈神经网络是一种典型的神经网络模型,网络具有分层结构,输入数据从输入层进入到前馈神经网络,经过输入层和隐层传递到输出层。不同的前馈网络节点限制函数、神经元个数、隐层个数、权重修改方法能够实现拥有多样能力的前馈神经网络。
只有一个隐层的感知器只能解决输入数据线性能够区分的问题,但很多分类问题的输入数据都是线性不能区分的。要完成线性不可分的难题,需要在结构中加入隐层。含有多隐层的前馈网络相比于单层感知器的区分效果有明显的提升。因为误差相反传递算法经常用于神经网络,所以也叫BP网络。
1.1 基本思想
BP学习过程分为两个过程,即输入数据经过输入层和隐层正向流给输出层,输出层的误差经隐层反传给输入层。正向传播时,输入数据从输入层到达,经过每个隐层的加工后,再传递给最后的输出层。如果输出数据达不到预期目标,则进入误差的反向传递。误差的反向传递是指将最后一层的误差经过某种方法,经网络的隐层反转传递向输入层,将误差均匀给网络每个层的所有神经元节点,因此得到网络每层神经元节点的误差信号,通过节点获得的误差来调整节点。这两部分反复,通过不断地权重修改将误差减少到比较满意的情况,或达到学习次数上限。
1.2 基本原理
三层BP网络模型图如图1所示。
在该三层前馈网络中,为输入向量,代表隐层神经元节点的阈值;隐层输出为图1中是为输出层神经元引入阈值设置的;输出层的输出向量为预期输出网络的隐层和网络输入层的权值用矩阵表示;用表示网络隐层到网络输出层的权值矩阵。
对于输出层来说:
(1)
对于隐层来说:
(2)
转移函数为:
(3)
1.3 学习算法
当网络输出距离预期结果有差距时,代表输出误差。
隐层:
(4)
输入层:
(5)
据式(5)得知,网络误差展开到输入层只和有关,要想减小误差,就要修改神经元的权值。
假设网络有个隐层,神经元数代表网络隐层的输出,为权重,则权重修改公式如下:
输出层:
(6)
第个隐层:
(7)
递推可得:
(8)
在BP算法中,所有的权重修改公式都一样,都取决于学习率、输入和本层的输出误差。模型每层的输出误差和模型的总误差有关系,反映了模型输出的误差。网络中每一个隐层的误差都和前面每个网络层的误差有联系,都是经过网络的输出层一层一层地向前回传。
2 SVM算法
2.1 基本思想
从线性可分的方向来看,支持向量机的本质是寻找一个最优决策超平面,使其两侧和到平面距离最近的数据点之间的距离最大,有良好的泛化推广能力。而对于非线性可分问题,根据Cover定理:如果分类问题在低维上不可分,那么将其非线性地映射到高维特征空间可能是线性可分的,只要变化是非线性的并且特征空间的维度很高,所以模式空间可以从低维变换到高维特征空间,让问题在高维中有很大的可能可分。
2.2 基本原理
SVM方法是一个三层网络构建的过程,分类超平面的向量为网络的权值,隐层使用非线性映射函数把数据输入向量从低维映射到高维的特征向量空间中。
设是维的输入向量,低维输入的空间经过非线性变换到维特征空间:
(9)
式中:是权重;是偏置。
特征空间分类超平面为:
(10)
式中:代表第个输入向量在高S特征空间的像和输入向量在特征空间的像的内积。
使用内积函数得到超平面:
(11)
支持向量机的基本思路是:对于非线性可分问题,让输入样本从非线性低维变化到高维特征空间后,使其在高维特征空间线性可分,让支持向量的个数是去除向量为零,最优超平面判别函数为:
(12)
2.3 学习算法
在使用内积核函数的情况下,SVM学习算法如下:
(1) 训练样本
(2) 在约束条件下求解,让目标函数:最大化的矩阵的第个元素是。
(3) 计算最优的权值:
(4) 对于待分类模式计算判别函数:
根据的值,判断的类别。
向量机的设计不完全依靠设计人员的经验,因为得到的是全局的最优解,泛化能力较强。但是因为矩阵运算耗时,所以训练速度相对缓慢。
3 测试实验
3.1 BP算法实验
首先定义网络结构,根据多次实验,最终确定的网络结构如图2所示。网络的输入层节点数设计为5、输出层节点数选择为4、隐含层节点数选择为100。隐层的转移函数是Sigmoid函数,输出层转移函数为Purelin函数。
由于是时间序列预测,得到了以前数据后,令是第个输入,令是第个输出。输入层节点总数用表示,代表输出层节点的总数。
利用BP算法,根据2013年11月―2014年12月的西安历史空气质量数据,对2015年1月空气质量预测结果折线图如图3所示,数值参照表如表1所示。
3.2 SVM算法实验
本次实验采用Gauss来模拟RBF网络预测空气质量。Gauss核函数需要参数。如果会发生严重的过学习现象,即泛化能力较弱;当时会有前学习现象。
其次需要样本准备,因为历史空气质量的变化趋势能反映空气质量的规律。输入参数是历史的空气质量输出是下一日期的空气质量。是输入空间的维度,是空气质量预测的步长。此处选取来预测未来1个月的空气质量。
使用lssvm的tunelssvm函数,采用最小二乘法对Gauss核函数的参数和SVM参数进行寻优,找到合适的Gauss函数参数,再使用工具箱trainlssvm函数进行训练,然后连续预测得到2015年1月的空气质量预测值。
利用SVM算法,根据2013年11月―2014年12月的西安历史空气质量,对2015年1月空气质量预测结果折线图如图4所示,数值参照表如表2所示。
3.3 实验结果对比
从图5和图6得知,针对得到的样本和实现的算法模型,BP算法模型和SVM支持向量机对2015年1月空气质量的总体走势的预测相差不多,对于实际的空气质量,仍旧有较大的误差。SVM的均方误差略小于BP的均方误差,但是BP算法网络模型需要大量的时间训练,而SVM网络参数寻优使用的时间要少得多。
4 结 语
BP算法在神经网络中使用最普遍,但却不能适用于所有的问题,确定网络的层数和节点数仍然需要网络设计者的经验和不断的试验调整。BP网络还具有学习速率慢,易陷入极小值,泛化能力等问题需要人们解决。SVM由统计和数学理论发展而来,它能够解决分类、回归、预测等问题。对于线性不可分的问题,SVM能够把其对应于特征空间内,使其线性可分。SVM核心在于核函数,不一样的核函数可以模拟不同网络应用在不同问题。但是关于核函数的参数如何选取,在领域内仍然没有一个成熟的理论。数据挖掘中BP算法和SVM算法仍然有一些问题没有统一的解决理论,但是这并不妨碍数据挖掘的潜力。相信随着研究的不断深入,理论的不断完善,这些问题都将会迎刃而解。
参考文献
[1] HAN Jiawei,KAMBER MIcheline,PEI Jian.数据挖掘:概念与技术[M].3版.北京:机械工业出版社,2012.
[2] 张良均.数据挖掘:实用案例分析[M].北京:机械工业出版社,2013.
[3] 陈封能.数据挖掘导论[M].北京:人民邮电出版社,2011.
[4] 朱明.数据挖掘[M].合肥:中国科学技术大学出版社,2008.
[5] 韩力群.人工神经网络理论、设计及应用[M].2版.北京:化学工业出版社,2007.
[6] 王小川.Matlab神经网络43个案例分析[M].北京:北京航空航天大学出版社,2013.
[7] 施彦,韩力群,廉小亲.神经网络设计方法与实例分析[M].北京:北京邮电大学出版社,2009.
[8] 张德丰.Matlab神经网络应用设计[M].北京:机械工业出版社,2011.
(①昆明理工大学国土资源与工程学院,昆明 650093;②黄河勘测规划设计有限公司,郑州 450003)
(①Faculty of Land Resource Engineering,Kunming University of science and Technology,Kunming 650093,China;
②The Yellow River Survey Planning and Design Co.,Ltd.,Zhengzhou 450003,China)
摘要: 随着神经网络理论的深入研究,神经网络已在图像的分类中起到非常重要的地位。本文章使用IDL语言来实现神经网络在权值调整过程算法优化,并在ENVI上集成,已达到神经网络分类速度快,且精度可靠的目的。
Abstract: With the deep research in the theory of neural network, neural network has played a very important role in the classification of the image. This article uses the IDL language to implement the algorithm to optimize the weights of neural network to the adjustment process, and on the ENVI integration, has reached the neural network classification speed, precision and reliable.
关键词 : 神经网络;图像分类;ENVI;IDL;集成;精度
Key words: neural network;image classification;ENVI;IDL;integration;precision
中图分类号:P237 文献标识码:A
文章编号:1006-4311(2015)06-0234-02
0 引言
ENVI是一套功能强大的遥感图像处理软件,在ENVI上进行遥感图像分类中有很多方法,如神经网络、最大似然、最小距离、 ISODATA算法、决策树和面向对象等分类方法,神经网络在分类时比其它分类所花费时间要长,且速度很慢,因为从算法机理可知神经网络在权值调整时是迭代收敛的过程,其分类过程自然很慢。针对此问题,决定使用IDL语言来编程优化算法。
1 IDL的语言环境
IDL(Interactive Data Language)是美国RSI公司推出的面向矩阵的第四代计算机语言,它语法简单,自带大量的功能函数,使用很少的代码就能实现其它语言很难实现的功能。IDL是进行数据分析、可视化及跨平台应用开发的最佳选择,利用IDL可以快速地进行科学数据读写、图像处理、集成数学统计、信号分析、数值计算和三维图像建模等。IDL集可视、交互分析、大型商业开发为一体,为您提供了最完善、最灵活最有效的开发环境。
IDL的开发应用已经深入到了人类日常生活的方方面面,给人类对未知领域的探索与发现提供了强有力的工具,推动了人类向前发展。对IDL的语言环境熟悉之后,紧接着就开始针对目前存在的基于神经网络的遥感图像分类问题进行改进,并结合ENVI软件,使用IDL语言设计出改进后的优化算法。
2 ENVI中基于神经网络分类的剖析
ENVI中采用的神经网络属于BP网络,含有输入层、输出层以及处于输入输出层之间的隐含层,如果进行非线性分类,输入的区域并非线性分类或需要两个超平面才能区分类别时候,隐层数设置为大于或等于一。隐含层的状态影响输入与输出之间的关系,改变隐含层的权系数,可以改变整个多层神经网络的性能。
ENVI中采用的BP神经网络通过误差函数的最小化过程来完成输入到输出的映射。为了完成最小化过程,这种BP反向传播算法分正向传播和反向传播两步进行。在正向传播中,输入的样本从输入层经过隐单元一层一层进行处理,通过所有的隐含层之后,则传向输出层;在逐层处理的过程中,每一层神经元的状态只对下一层神经元的状态产生影响;在输出层把现行输出和期望输出进行比较,如果现行输出不等于期望输出,则进入反向传播过程。在反向传播过程中,反向传播把误差信号按原来正向传播的通路反向传回,反复修改(这是个迭代的过程)各节点的权重和阈值,逐渐减小误差,直到达到预先设定的要求。当误差小于某一相当小的正数或迭代误差不再减少时,完成BP网络的训练、输入与输出的映射的确定。
我们的落脚点是在BP网络的反向传播过程中网络各节点权值的迭代调整,但是该网络在此方面存在缺陷,就是迭代时间长,尤其对处理大数据,需要花费很长时间才能达到收敛。针对BP网络中学习算法收敛速度慢的缺点,运用数学中埃特金加速收敛算法,对传统的BP算法进行改进,然后使用IDL语言进行汇编,最后在ENVI上进行功能的扩展,已达到适用的生产目的。
3 编写迭代函数
为了能在ENVI菜单上调用埃特金迭代收敛函数,需要在ENVI菜单中创建一个新的菜单项,并定义一个此用户函数。这个用户函数可以通过在ENVI菜单中选择这个新的菜单项来进行调用。具体工程如下:
①在现有的ENVI菜单基础上创建新的功能菜单,首先用文本编辑器打开envi.men文件,添加如下部分:
PRO MY_PROCESS_DEFINE_BUTTONS, buttonInfo
COMPILE_OPT IDL2
ENVI_DEFINE_MENU_BUTTON, buttonInfo, VALUE = ‘New Function’, $
/MENU, REF_VALUE = ‘Supervised’, REF_INDEX = 0, $
POSITION = ‘last’
ENVI_DEFINE_MENU_BUTTON, buttonInfo, VALUE = ‘Function1’, $
UVALUE = ‘Function 1’, EVENT_PRO = ‘my_process_event’, $
REF_VALUE = ‘New Function’
END
如果ENVI已经打开,需要关闭并重新启动ENVI,然后在ENVI主菜单上,会看到Classification菜单下的Supervised的子菜单内增加了新的菜单“New Function”。
②编写迭代函数。在运行ENVI的IDL开发环境中,迭代功能函数的部分代码如下:
ENVI_NEURAL_NET_DOIT
FUNCTION bm_func,X,[X0,X1……Xn]
nx=Xn,
t = FINDGEN(nx-X)
… … … … …
4 实验过程与精度评定
本实验主要运用ENVI4.8版本图像处理软件进行图像分类,使用的数据是网上下载的经过数据预处理后的Landsat5 TM研究区影像。调用迭代函数开始进行基于神经网络的遥感图像分类,其分类时间所反映的进度条如图1所示,以及最终的迭代均方根训练函数如图2所示。
在神经网络分类结束后,所花费时间很短,分类速度很快,具体的分类结果图如图3所示。对调用迭代函数的神经网络分类结果进行精度分析,使用混淆矩阵,具体报表如图4所示。从混淆矩阵报表可知,总体分类精度为94.2374%,其Kappa系数为0.9272,分类效果很好,精度很高,满足要求。
5 结束语
ENVI上调用迭代函数的神经网络总体上比原来的神经网络分类要优越,其鲜明的特色就是分类速度快,精度也高。这大大提速原有的神经网络分类速度,尤其在处理大数据优越明显。但是ENVI上仍存在神经网络分类单一化现象,怎样使其减少人为的干预,使其更智能化是今后的研究趋势。
参考文献:
[1]董彦卿.IDL程序设计—数据可视化与ENVI二次开发[M].北京:高等教育出版社,2012.
关键词:谐波分析 神经网络 遗传算法 MATLAB
中图分类号:TM1文献标识码:A文章编号:1007-3973(2010)06-083-02
随着现代工业科技的发展,电力电子装置的应用越来越广泛,非线性和时变性电子装置大量投入到电网使得电力系统中的非线性负荷急剧增加,导致了配电网中电压和电流波形的严重失真,由此而产生了电网谐波污染问题,谐波的产生降低了电能质量,直接影响工业用电设备和居民用电设备的正常安全运行。另一方面随着科技的发展,各种精密仪器的投入使用对电能质量提出了更高的要求。谐波问题作为降低电能质量问题的核心内容对电力系统的安全经济运行带来了巨大的挑战 。
对谐波含量准确进行分析计算时保证谐波治理效果的重要前提,本文采用遗传算法改进神经网络算法进行谐波含量计算,其实时性和结果精确性都有较大提高。
1谐波含量计算问题
原始理想的电压和电流波形应该是标准的正弦波波形, 可以假设电源瞬时电压为
考虑到负载电流发生畸变,含有谐波分量,根据傅里叶级数将负载电流分解为:
其中,为基波有功电流;为基波无功电流;为高次谐波电流,可以将式(2)改写成权值模式:
对谐波含量的分析计算目标即为求出的值,其中体现高次谐波的含量 。实际电网中由于电力系统为三相系统,偶次谐波基本消除,因此只考虑奇次谐波,占总谐波含量97%以上的谐波集中在25次谐波以下,本文只分析25次以下(包括25次)奇次谐波含量,根据以上分析,式(4)可以简化成
其中 谐波分析即为求取式(5)中权值系数 的值。
2基于神经网络谐波检测算法
本系统采用单层感知器―误差修正学习法 。由式(5)可知,神经网络谐波权值计算可用如图1所示,作为网络的输入,为理论电流:
为实测电流值,也就是期望电流值,为期望电流值与网络实际输出之差,即误差信号:
误差信号为驱动控制信号,其目的是修正调节各次谐波权值,使网络输出一步一步接近期望输出 ,这一目标通过最小化性能指标来实现 ,性能指标定义如下:
权值修正法则如下:
其中表示第n个输入量第k+1表示第次迭代后结果,为学习率,为学习误差,为第n个输入向量。
综合以上分析可知,采用单层感知器-误差修正神经网络的谐波算法计算步骤如下:
(1)给定初始谐波权值
初始权值赋值可采用在规定区间内的随机赋值法,初值赋值区间为[-2,2]。
(2)给定当前输入
由前面分析可知为神经网络输入,输入量在不同的时刻t不同,因此必须建立查表机制来查询不同时刻的网络输入,用表示第n次迭代中第个输入量( 的顺序依次编号)。
(3)由权值和输入量计算网络输出值
(4)根据网络输出和期望输出计算学习误差,如式(7)所示。
(5)根据学习误差调节权值
其中表示第次迭代中第n个输入量的连接权值
(6)回到2继续进行下一次迭代计算
基于单层感知器-误差修正学习网络最大的优点就是迭代过程相对简单,最后系统能稳定收敛到目标范围。但系统的稳定性受系统反馈参数影响较大,学习率的选取对于系统重复学习过程中的稳定性和收敛性是非常重要的,的值过大,会加快收敛速度但误差过大,的值过小,学习速度过慢,也将影响系统实时响应速度。
3遗传算法改进神经网络算法
上一节中提到的单层感知器-误差修正神经网络是一种简单的寻优算法,但神经网络权值寻优算法存在全局搜索能力差的缺点,初始权值随机性过大影响网络的泛化能力,而遗传算法可以对复杂的,非线性的、多峰的不可微函数实现最优全局搜索,能有效利用历史信息来推测下一代更优质的寻优点集 。这样不断进化,最后收敛到一个最适应环境的个体上,进而得出问题的最优解。因此,可以先用遗传算法对初始权值进行优化,在大范围解空间定位出适用于优化目标的较好搜索空间,然后利用神经网络在这一个较小解空间进行局部寻优,这样既可以避免在寻优过程陷入局部最优,还可以加快算法收敛。据此本文将遗传算法与单层感知器-学习修正神经网络算法进行结合来优化谐波含量计算。遗传算法进化步骤如下 :
第一步:确定决策变量和约束条件
包括基波权值在内,一共有13组,总共有26个权值,谐波权值的范围一般在[-1,1],权值可能溢出,本文将权值范围扩大到[-2,2],即:
第二步:建立优化模型
优化目标为使得性能指标到合理范围
第三步:确定编码、解码方法
对于每一个权值其取值区间为[-2,2],由于遗传算法计算目的为搜索最优区间,而非最优解,因此将[-2,2]区间以0.2为单位分为20等份,计算最终目标只需求出最优解所在区间即可,可知每个权值从-2到2有21个取值可能,可用4位二进制编码串表示,一共有26个权值,按照的顺序需要104位二进制编码串来表示,这便构成了染色体编码方法。解码时先将104位的二进制编码串截成26段4位二进制编码串,每一段编码串表示一个权值编码,设某一段编码为,解码后表示权值实际值为,可知
第四步:确定个体评价方法
可知个体评价方法即为性能指标控制到合理范围。
第五步:设计遗传算子
选择运算选用比例选择算子;交叉运算使用单点交叉算子;编译运算使用基本位变异算子。
第六步:设定遗传算法运行参数
包括群体大小、终止代数、交叉概率和变异概率
结合前面神经网络算法的分析,可得出遗传算法改进神经网络算法计算谐波的总计算流程,如图2所示:
4MATLAB仿真分析
根据前面对算法的分析,使用MATLAB提供的神经网络和遗传算法工具性进行仿真处理 。设置遗传算法群体大小为80,终止代数为100,交叉概率为0.7,变异概率为0.001,神经网络算法学习率为0.1,使用遗传算法改进神经网络算法的训练样本曲线如图3所示,单独使用神经网络算法的训练样本曲线如图4所示:
由图3和图4可知,采用遗传算法改进神经网络算法进行谐波分析,在遗传算法完成100步迭代后适应度最高样本的训练误差已经降到,此后进行神经网络训练到160步后训练误差已经降到,相比单独使用神经网络算法,需要到350步训练误差才能到,可见采用遗传算法改进神经网络算法大大加快了迭代速度和计算结果的准确性。
5遗传算法改进神经网络算法的优点
使用遗传算法改进神经网络算法为谐波计算分析提出了新的解决思路,主要特点包括:(1)全局搜索能力强,算法精确度高 。(2)抗干扰能力强.。(3)自适应能力强。智能算法进行谐波分析作为一种新兴的谐波分析思路,但是由于智能算法对于训练样本的依耐性非常大,算法参数的设置对于整体计算精度和效率影响非常大,现场应用不够,因此还需作更为深入的探索研究。
注释:
吕润如. 电力系统高次谐波[M].北京:中国电力出版社,1998.
危韧勇,李志勇.基于人工神经元网络的电力系统谐波测量方法[J]. 电网技术,1999,23(12):20-23.
焦李成.神经网络计算[M].西安:西安电子科技大学出版社,1993.
危韧勇,李志勇,李群湛.一种基于ANN理论的谐波电流动态检测方法研究[J]. 铁道学报,2000,22(1):40-43.
陈国良,王熙法,庄镇泉,王东生.遗传算法及其应用[M].北京:人民邮电出版社,1999.
王小平,曹立民.遗传算法-理论、应用于软件实现[M].西安:西安交通大学出版社,2002.
关键词 蚁群优化算法 神经网络 信息素分布函数
中图分类号:TH183 文献标志码:A
20世纪90年代初,意大利学者Dorigo、Maniezzo首先提出了一种新的模拟进化算法―蚁群算法,基本的蚁群优化算法,主要用于离散的参数优化问题,并已经成功的解决了TSP,VRP,QAP,JSP等一些列困难的组合优化问题。而神经网络的的训练是典型的连续优化问题,本文在分析基本的蚁群优化算法特点的基础上,提出一种新的信息素分布方式及其概率分布函数,将蚁群算法成功的延伸到连续优化的范畴,并且建立了蚁群优化算法训练神经网络的基本模型,克服了传统BP算法的不足,同时使得该算法同时具有蚁群算法的快速全局寻优能力和神经网络的广泛映射能力。
一、改进的蚁群算法训练神经网络
(一)优化模型。
常规的神经网络是属于连续性优化的范畴,其优化的目的是从每一个的参数的取值范围中选取一个具体的值,使得神经网络的输出误差,满足误差条件。本文用于连续优化的模型与组合优化相似,只是其解空间从离散变量变成了连续变量的组合。图1比较直观地表达了蚂蚁觅食时路径的选择。
其中m表示蚂蚁的个数,依次从n个连续的取值范围内选取一个值,组成自己的解Sj,其中Xji表示蚂蚁在个元素的取值范围内所选取的具体值。每一个蚂蚁在信息素的影响作用下,依照概率原则,构建一组的完整的解。通过蚂蚁间的团体协作,构建一个全局最优解。
(二)改进的蚁群优化算法。
1、信息素的分布。理想化的状态下,蚂蚁对信息素的感知力不受左右两侧信息素浓度的影响,但在实际生活中,这种影响是无法避免的,并且路径两侧的蚂蚁对该信息素的感知会随着距离的增大而减弱,而且关于信息素的散发点是对称的。在此模型中考虑这种因素,可以克服常规蚁群算法易陷入局部最优,以及解空间搜索不够的缺点。
通过比较不难发现,这种信息素的分布类似于正态分布,因此可以选择用正态分布函数来表达信息素的分布函数:
(1)
其中 为随即变量的方差,可以通过控制的大小来控制 该路径上信息素对周围区域的影响程度。图2比较形象的表达了信息素的分布形状与 的关系:
u=0, 分别取1/2,1,2。
图2
正态分布函数只是决定了信息的分布形状,反映了某一路径上的信息素对两侧各路径上蚂蚁的影响,蚂蚁在选择路径时会根据解的质量散发出不同浓度的信息素,依据神经网络的优化特点,这里采用输出误差来描述解的质量的比较合适,即释放出的信息素与解的误差成反比,可以得出第j只蚂蚁在所选取的路径上所散发的信息素为:
(2)
上式中,h为一个常数;t为样本的数量;E(l)为输出误差。因为所得到的最优解是针对所有样本的,因此输出误差应取为所有样本的误差绝对值之和。将上式中信息素分布的峰值与函数的形状结合,可得到第j只蚂蚁在第i参数上散发的信息素浓度公式为:
(3)
式中,Xji为第j只蚂蚁在第i个参数的取值范围内选取的具体值。
每一只都会在自己所选取的待优化的参数上散发信息素,所有的蚂蚁散发完信息素之后,对每一个参数在其整个取值范围内进行求和,可以得出每一个参数上的信息素浓度分布函数:
(4)
式中,kj为蚂蚁所选取的解的加权系数,该解的质量越高,即最终输出误差越小,则加权系数的值就越大。
2、信息素概率分布函数 在蚂蚁选取路径的过程中,每一个参数被选取的几率与该参数上的信息素浓度有关,信息素浓度越大,则被选取的概率越大,反之,则越小,根据上文得出的公式,蚂蚁按照一下概率分布函数,依次选择每一个参数的具体值: (5)
该式中,Ximin与Ximax分别为待选取参数i在其取值范围内的上,下两个极值。
(三)优化算法的流程。
用改进后的蚁群算法优化神经网络的大致过程如下:
(1)建立前向型的神经网络模型,要包括神经网络的层数,每一层的节点数,和每一个待优化的权值的取值范围以及蚂蚁样本;(2)在算法开始,蚂蚁们没有信息素的指导,从各个参数的取值范围内随机的选取一个具体值,从而构建去一条路径;(3)当所有的蚂蚁完成了解的构建之后,输入样本根据式(4)来更新各路径上信息素,并初始化所有蚂蚁的路径;(4)根据公式(5)计算出所有参数的概率分布函数,所有蚂蚁根据该函数,依次从n个参数各自的取值范围内选取一个具体的值,构建出一个完整的解;
重复执行步骤(3)~(5),直到最终输出误差满足终止条件。
二、实验验证及结果分析
为了更加直观的验证该算法的有效性,在这里我们用已知非线性函数y=3x2e-x对算法进行验证,而神经网络的结构,我们采用三层前向式神经网络,共包括输入层,隐含层,输出层,三者各有1,10,1个节点。
在此实例中,我们利用上述函数表达式,在[0,5]内随机选取50个值作为输入样本,利用该函数在样本上的理论输出值作为输出样本,以该样本的理论输出值与神经网络的实际输出值之差的绝对值,作为需要优化的目标函数。
在这里,输出层的激励函数采用线性函数:
F(x) = x
隐含层的激励函数采用Sigmoid函数:
F(x) = (1-e-x)/(1+e-x)
因此,待优化的权值共有31个,其取值范围为[-2,2]。
在此实例中,蚂蚁的个数设定为31个,经过蚂蚁间的协作寻优,对神经网络的权值不断优化,样本的平均误差很快达到了0.00033。
通过该实例可以总结出,只要有足够多可以利用的,并且具有代表性的样本,该改进后的算法可以用来表达任何的非线性函数。同时,也可以通过修改蚂蚁的个数和样本的数量来控制该算法的鲁棒性跟其收敛速度,蚂蚁与样本的数量越大,该算法的鲁棒性就越强,但收敛速度就比较慢;反之,蚂蚁样本的数量越小,该算法的鲁棒性就越差,但是收敛速度较快。
三、结论
1、本文针对传统的蚁群优化算法主要用于组合优化的特点,将它进行了改进,将离散的信息素矩阵与概率矩阵延伸为连续的信息素分布函数与信息素概率分布函数,使得该算法可以应用至连续优化的范畴,与其他算法相比,该优化算法简单易懂,容易理解。
2、利用改进后的蚁群算法来训练神经网络的权值,并给出该算法的具体步骤,用实例证明了该算法的可行性与有效性。
3、该算法克服了传统神经网络算法自身的不足,不仅使其具有神经网络的广泛映射能力,还具有了蚁群算法的快速全局寻优能力。
(作者:兰州交通大学机电工程学院在读硕士研究生,研究方向:虚拟仪器,智能交通系统)
参考文献:
[1]Dorigo M , Gambardella L M . Ant colony system : a cooperative learning approach to the traveling salesman problem.IEEE p.1997(1):53-66.
[2]杨勇,宋晓峰等.蚁群算法求解连续空间优化问题.控制与决策,2003,18(5):573-576.
[3]张国立,王晶等.利用蚁群算法优化前向神经网络.电子商务,2005(18):65-67.
[4]汪镭,吴启迪.蚁群算法在连续空间寻优问题求解中的应用.控制与决策,2003,18(1):45-48.
[5]Maniezzo V , carbonaro A . An ants heuristic for the frequency assignment problem. Futrue Generation Computer Systems,2000,16:927-935.
Abstract: The establishment of highway engineering cost estimate model which based on Estimate of distribution network provides technological conditions for fast and efficient cost estimate.At the same time, this study is also a meaningful attempt of construction cost estimate in practical application.
关键词: 估价模型;神经网络;分布估计算法
Key words: Estimate Model;Neural Network;Estimation of Distribution Algorithm
中图分类号:TU71 文献标识码:A 文章编号:1006-4311(2013)08-0105-02
0 引言
公路工程估价的合理性直接影响着公路工程建设项目投资决策的正确性,它是公路工程建设项目可行性研究的重要环节,也是建设项目标底编制的控制标准。如何快速、合理地估算工程造价是关系到公路工程建设项目投资决策的重要课题,对建设项目成本管理具有重要意义。
本文拟在公路工程建设项目中建立基于分布估计神经网络算法的造价估算模型。首先对涉及公路工程造价的各个主要特征进行定量化描述,然后结合所建立的分布估计神经网络算法模型,运用相关专业软件快速估算公路工程造价。公路工程造价分布估计神经网络算法通过模拟智能决策,快速、合理估算出公路工程造价,有助于项目决策者做出相对准确的投资决策。
1 相关研究
国内外对工程造价估算智能化的研究,大致可以分为三类:
1.1 利用计算机模拟技术建立模型 通过分析、模拟实际施工过程,对各分项工程先给出可能造价的先验概率,可以由计算机产生一个随机数,这个随机数进入到下一个分项工程当中,然后结合这项工程的先验概率再产生一个随机数。这些随机数代表每个分项工程的实际造价。以此类推,直到全部分项工程计算完毕,产生所有分项工程造价之和作为总的估算造价。这种模型优点是在样本库齐全的前提下估算更符合客观实际,缺点是确定先验概率需要大量的已建工程样本资料,计算比较繁琐[1],而且各分项工程造价样本值受工程所在地实际情况影响较大。
1.2 基于神经网络技术的工程造价估算专家系统 人工神经网络在工程估价中的应用可分为两种:一种是基于Hopfield的工程应用;另一种是基于BP神经网络的工程应用。Jason Portas等人将人工神经网络应用于劳动生产力效率预测和成本预测中建立三层BP结构模型,该模型的输出不是精确的值而是模糊集[2],可以较好的应用于工程前期造价估算。许宁[3]采用模糊神经网络估算工程造价,采用模糊数学中的隶属函数来反映工程特征间的差异性,再结合定性分析和定量分析将工程特征进行量化描述后,通过归一化处理得到隶属度。刘鹏[4]汇总整理了神经网络的缺点和不足,提出利用遗传神经网络算法快速估算工程造价的设想。
1.3 利用模糊数学建模 这类模型运用模糊数学聚类分析技术和灰色系统理论,引用隶属度和贴近度等概念建模。但这类造价估算模型也有尚待商榷之处,未能全面考虑工程造价动态性的影响,估算精度可信度较低,需要搜集大量已建工程样本作为基础数据,具有较强的主观性且估价速度并不理想。
国内工程造价估算多采用扩大指标估算法和概算指标估算法。所采用的估算指标是由本行业和地方统一制定,并没有考虑建设工程质量、实际管理水平等问题,逐渐难以适应市场经济体制的发展。国内造价软件做得较好的有:广联达三山软件、上海神机妙算、上海鲁班算量、同望公路等,现有软件基本都分属于工程项目管理类或预决算类,但是真正将两者有机结合并向前后延伸,有助于实现工程造价全生命周期管理的造价软件明显不足。
遗传、模糊、神经网络技术在工程造价估算中的应用相当广泛,目前遗传算法的主要不足在于:收敛速度较慢且解的精度不高。有关研究人员提出了一种方法就是分布估计算法(Estimation of Distribution Algorithms, EDAs)[5]。分布估计算法与GA的最大区别在于它们产生后代的方式不同,分布估计算法不使用GA的重组操作,而是对解集进行分析,从解集中选择部分好的解集提取信息,利用这些信息建立适当的概率分布,再从概率分布中进行抽样得到下一代。这种方法避免了GA中建筑块的破坏。本文的研究动机就是在公路工程估价中引入分布估计算法的同时结合神经网络来解决工程造价估算的问题。
2 用于公路工程造价估算的分布估计神经网络算法
分布估计算法有多种实现方式,这些算法的区别主要在于所采用的概率模型和采样方法;共同点是产生下一代的方式,它们都从解集中选择好的解集,并从中提取信息,利用这些信息建立合适的概率分布,再从概率分布中抽样得到下一代。本文采用UMDA(Univariate marginal distribution algorithm)算法与神经网络BP算法相结合[6],具体算法如下:
算法3.1:分布估计神经网络
输入:训练数据集,即拟建项目的特征因素的代表值;
输出:BP神经网络估算公路工程造价;
(1)随机初始化种群
P(0)={g1,g2,…,gm},gi={x1,x2,…,xn}, t=0;
(2)计算P(0)中个体的适应值;
(3)while(不满足终止准则)do
{
①根据个体的适应值及选择策略从P(t)中选择M个优秀解;
②根据这M个个体更新概率向量:
p(x,t+1)=■p(x■,t+1)=■■
其中?啄■(X■=x■)={1,X■=x■;0,其他}
③根据新的概率向量随机采样,产生下一代种群P’(t);
④计算P(t)中个体的适应值;
⑤t=t+1;
}
(4)将所得到的解分解为BP网络所对应的权值和阈值;
(5)运行BP,输出仿真值。
3 实验结果比较
本文采用文献[7]中的影响公路工程造价和工程量的9种主要特征作为估算模型的输入,以每公里公路工程单方造价作为本估算模型的输出。
当以案例中的前13个样本进行训练,用后4个样本作为测试数据时,经过10次运算的神经网络估算模型误差情况如表1和表2,从表上数据可以看出遗传BP网络较分布估计BP网络的单点之间的误差大,且网络震荡现象频发,而经过分布估计算法优化改进后的BP神经网络的稳定性和容错性能大幅提升;由以上对比可以看出,改进后的BP网络在性能上优于一般BP网络模型,能在降低计算结果的平均误差的同时大幅提高计算精度。
4 结论
针对公路工程造价估算问题是工程中一个非常重要的问题,本文着重论述了如何进行公路工程造价估算,以便得到更为合理的公路工程造价,并研究了利用分布估计算法和神经网络相结合来解决该问题,实验结果表明,本文提出的算法在寻优性能上优于遗传神经网络算法。
参考文献:
[1]Buchanan JS,Cost models for estimating[M].London: Royal Institution of Chartered Surveyors 1982.
[2]王波,蒋鹏,卿晓霞.人工智能技术及其在建筑行业中的应用[J].微型机与应用,2004(8):4-7.
[3]许宁.基于遗传模糊神经网络的建筑工程造价估计方法[J].江汉石油学院学报,2000,22(1):87-88.
[4]刘鹏.遗传神经网络模式下的工程造价快速估算研究[J].价格月刊,2009(6):15-16.
[5]Larr naga P, Lozano J A. Estimation of Distribution Algorithms[M]. A New Tool for Evolutionary Computation. Boston: Kluwer Academic Publishers, 2002.
[6]陈佳,李敏.用于多维数据实视图选择的分布估计算法[J].计算机工程,2012,38(11):45-47.
[7]景晨光,段晓晨.基于遗传神经网络的工程造价估算方法研究[J].石家庄铁道大学学报(社会科学版),2010,4(4):11-17.
[8]周其明,汪淼,任宏.神经网络集成在工程造价估算中的应用研究[J].重庆交通学院学报,2005(04).
[9]田原.Matlab语言的Neural Network Toolbox及其在同步中的应用[J].现代电子技术,2008(20)
[10]孙莉,骆汉宾.基于贴近度方法优化质量事故诊断案例的选择[J].四川建筑,2007(01).
[11]邓焕彬,强茂山,刘可.基于神经网络的公路工程造价快速估算方法[J].中南公路工程,2006(03).
[12]刘浩,白振兴.BP网络的Matlab实现及应用研究[J].现代电子技术,2006(02).
[13]李茂英,曾庆军.基于神经网络的公路工程造价推测模型[J].广东交通职业技术学院学报,2002(01).
关键词:网络拥塞控制;往返延时; 模糊神经网络; 智能预测
中图分类号:TP312 文献标识码:A 文章编号:16727800(2013)009005303
基金项目:江苏省高校自然科学基金项目(13KJB520007)
作者简介:张莉(1981-),女,硕士,天津现代职业技术学院讲师,研究方向为软件开发、数据库应用;邹宽胜(1983-),男,博士,江苏师范大学讲师,研究方向为图像处理、多媒体检索。
0引言
RTT作为网络拥塞控制的重要参数,能对网络所发生的拥塞作出较早的反映。文献[1]根据求得的RTT估计值,提出一种RTT驱动的拥塞控制算法,此算法在实时性和网络状态的震荡抑制等方面,比基于丢包率的拥塞控制算法有明显改善。
选取公式(1)来估计RTT的值:
RTTn+1=RTTn+gE (E=RTTm-RTTn) (1)
其中RTTm为当前所测得的RTT值;RTTn为上一探测包的平均RTT估值,g∈(0,1]。不同网络或同一网络的不同时段对g的选取有很大影响。文献[2]针对可靠组播传输,提出了一种基于主动式网络的往返行程时间估算策略,可靠组播协议借助这一策略可以有效地减少网络中不必要的控制信息,根据网络环境可以及时准确地确定进入网络的数据包速率,从而提高整个组播组的吞吐量。RTT预测研究目前是一个热点问题,对RTT进行精确预测很有意义。文献[3]采用基于波形平滑指数和波形突变指数的滑动窗口加权平均RTT估计算法,对RTT值进行平滑估计。利用神经网络对RTT进行了预测,达到了较好的效果。但这仅限于网络比较空闲的状态下。利用算术平均滤波和BP网络相结合的办法,对RTT进行预测,在网络较拥塞的情况下,预测结果不太理想。这是由于RTT误差值随着网络负荷加重时也会增加,因为队列延时和延时的抖动都会随着网络拥塞程度加重而明显增加。另外,在网络拥塞时会导致数据包或ACK包丢失,这些都会导致估计RTT的难度增加并且估计出的RTT值也不准确,出现一些波动,导致网络有时出现训练失控状态。所以本文采用了低通滤波和MBP网络相结合的预测策略。本文主要分析了RTT的特性,发现其有很强的高频噪声,采用低通滤波和MBP网络相结合的RTT预测策略。实验表明,即使在网络状况较忙的情况下,也能获得很好的预测结果。
1网络往返延时特性
网络环境和网络设备的性能对数据吞吐量影响很大,致使网络上的数据具有较强的随机性,常常表现为短期的高频噪声。由于网络中两个节点之间的通信数据流可以有很多的路径到达,如果每个数据包所流经的路径不同, RTT就可能不同;另一方面,即使每个数据包是经由相同的路径到达目的节点,但是由于这个路径中的网络设备是网络共享的,在不同的数据包通过时网络设备所承担的数据传送任务也不会相同,这就导致RTT也可能不相同,相关研究结果的准确性会受到这种短期噪声导致的随机性影响。
网络状况和网络设备性能在较长期内的参数是相对稳定的。由于网络数据是在随机和稳定这两种因素的共同制约下产生的,所以滤波对于研究网络数据是必不可少的,因为此时我们主要关注的是网络节点的群体行为给予网络数据的规律性。
2RTT数据预处理
低通滑动滤波算法的思想为:取a为(0,1)之间的数据,则:
本次滤波结果=(1-a)×本次采样值+a×上次滤波结果。它的优点在于对周期性的干扰具有很好的抑制作用,适用于波动频率较高的场合。选取a=0.05。
RTT的测试实验是在校园网上进行的。源节点和反馈节点分别位于天津职业技术师范大学和天津工业大学。在实验中,每隔100ms就发送200个10bytes大小的TCP数据包,然后记录发送时间和接收返回结果的时间,并计算它们的差值,差值就是RTT。
3基于MBP网络的RTT预测算法
图1所示,RTT在网络比较忙的时候,有极强的波动性,用BP网络作为RTT智能预测器,采用低通滤波和BP网络相结合的算法,预测曲线有太多毛刺,在RTT值突变更大的情况下,极容易出现失控现象。由于BP网络是一种全反传式的前向网络,所以BP网络学习算法的收敛速度很慢,即只要存在误差反传信号,网络所有层的权值将会统一修正,这样就会拖延学习时间。如果在修正神经网络的误差反传权值时增加一个协调器,该协调器把全反传式网络变成了局部反传式网络,则可大大提高网络学习速率。对网络的灵敏度的分析决定了协调器的协调方法,这里我们选用滑动滤波算法和降低网络灵敏度的MBP算法相结合的策略,设计新的智能RTT预测器。
定理:在网络输入扰动、网络参数变化或被辨识系统参数变化时,根据系统在被辨识过程中的误差,动态地控制神经网络各层权值,特别是最末一级隐层到输出层的权值矩阵(即输出层的权值矩阵)修正,可以使网络输出的均方差快速减小,从而使网络灵敏度降低。
所以当网络参数变化时,降低网络灵敏度的方法是动态地控制网络各层,特别是输出层的权值修正。
(1)在BP学习算法的基础上,增加一个协调器放在网络的误差反向传播信号线上,用于控制各层权值的修正。
(2)协调器控制网络输出层的权值阵随着网络的综合误差增大而增大。
(3)当训练误差为10%≤|e|
(4)当训练误差|e|
通过这种BP网络改进算法,动态地将全局反向传播式网络变成局部反传式网络,可以使网络学习速率大大提高,降低了网络的灵敏度。
4预测模型
由于测试的RTT数据序列是按时间顺序排列的,它们之间这种统计意义上的关系不好用确定的函数或方程组来描述。
在用神经网络对RTT进行预测时,通常的做法是在已掌握的样本数据之上对网络进行训练。假如希望用过去掌握的N(N≥1)个数据去预测未来的M(M≥1)个数据,也就是进行M步预测,取N个相邻的样本为滑动窗,并将它们映射为M个值。如表1所示,该表把训练数据分成K段长度为(N+M)而且有一定重叠的数据段,每一段的前N个数据作为网络的输入,后M个数据作为网络的输出。
5实验结果
在本次实验中,选择的网络训练样本是前140个RTT数据,其中每5个数据一组,作为神经网络的输入向量,第6个数据作为目标向量,即取N=5,M=1,这样可以得到135组训练样本。网络的测试样本用136~200之间的数据。
6结语
本文采用低通滤波和MBP网络结合的算法对RTT进行预测,得到了不错的结果。即使在网络比较忙的情况下,也可以使预测结果达到比较满意的程度。由于程序运行开始, RTT存在一个低通滤波的过程,会有一些短期的振荡,但这并不影响算法的有效性。
参考文献:
[1]洪奕光, 程代展. 非线性系统的分析与控制[M].北京:科学出版社, 2005.
关键词: 灰霾; 肺结节; 图像处理; CAD; BP神经网络
中图分类号:TP391.7 文献标志码:A 文章编号:1006-8228(2014)10-24-03
Research of lung nodules detection algorithm based on BPNN
Zhong Mingxia, Jiang Bojun
(Zhejiang Vocational College of Commerce, Hangzhou, Zhejiang 310053, China)
Abstract: Through long-term monitoring, the incidence of lung cancer has increased to four times higher than the past. The weather experts conclude that the grey haze is the prime cause of high incidence of lung cancer, especially in cities. It is important to early diagnose lung cancer. This project will use the computer image processing technology to detect early lung cancer markers, lung nodules, to improve the accuracy in diagnosis of lung cancer, at the same time can reduce the workload of doctors. A CAD system is designed. The detection of lung nodules are realized by four steps: lung parenchyma segmentation, interested area (ROI) extraction, feature extracting and calculating, lung nodule detection.
Key words: grey haze; lung nodules; image processing; CAD; the BP neural network
0 引言
根据2014年全国肿瘤登记中心的《2013年中国肿瘤登记年报》[1]中,居全国恶性肿瘤发病第一位的是肺癌,居全国恶性肿瘤死亡第一位的仍是肺癌。曾在2011年11月,广州气象专家吴兑经过多年研究发现,广州的灰霾天数增加与肺癌发生率两者的变化曲线相当吻合,有力地证明了在高污染的大城市中(如广州),空气质量下降和肺癌之间的关系[2]。研究数据证明,随着近年来大力推行控烟政策,我国吸烟率已呈现小幅下降趋势,已经不足以成为肺癌的主要杀手,而当前以PM2.5为主的灰霾空气污染已成为肺癌高发的最重要诱因。
1 肺癌早期标志物及CT检测
肺癌和所有癌症一样,早期诊断是治疗的关键,提倡“早发现,早治疗”。肺癌早期一般表现为肺癌影像出现直径小于3cm而大于3mm的长在肺实质区域内的类球形病灶,临床上把它叫做肺结节[3]。因此,肺癌的早期诊断最终归结为对肺结节的检测上面。
肺结节的检测方法有X线胸片检测和CT检测两种。使用CT检测肺结节显著优于X线胸片,与传统的胸部X光片相比,CT表现出了更加卓越的灵敏度,直径小于1cm的小结节易被X线胸片遗漏,CT检出肺结节的概率可为X线胸片的8倍。在大型医院中,每天要接待几百名甚至近千名需要做CT扫描的病患,每套CT片数量大约在20至40张左右不等。在视觉上分辨肺结节的过程中,经常会被CT中突起状的血管混淆[4],区分这两者需要医生人工在大量多重CT片及容积分析中来判别,这个过程可能导致人眼疲劳和分心,尤其可能还存在其他病变的干扰,难免存在误诊和漏诊的情况。而且,假阳性结节的检测可能导致增加花费,给患者带来焦虑感甚至给没有肺癌的患者增加负担。
2 CAD检测系统设计
本项目旨在利用计算机图像处理技术,设计一个肺结节CAD系统,用于检测肺癌标志物――肺结节,从而提高肺癌诊断的准确率,同时减轻医生的工作量。
该系统尝试通过四个步骤实现肺结节的检测:肺实质分割、感兴趣区(ROI)的提取、特征的提取与计算、肺结节检测。CAD检测系统流程图如图1所示。
[感兴趣区
(ROI)的提取][CT影像] [肺实质分割][特征的提取
与计算][肺结节检测][输出标注过肺结点
区域的CT图像]
图1 CAD系统检测流程图
2.1 肺实质分割
以一幅CT图像为例,肺实质分割和提取过程如图2和图3所示,其中主要的分割算法包括数学形态学操作、阈值分割以及区域生长法等图像处理技术。
(a) 原始CT图像 (b) 提取躯干轮廓 (c) 去除气管干扰
图2 CT图像预处理
(a) 原始CT图像 (b) 8邻域形态学轮廓提取
(c) 躯干模板 (d) 模板内部区域 (e) 肺实质
图3 肺实质提取过程
2.2 感兴趣区(ROI)的提取
在图像处理领域,感兴趣区域(ROI)是从图像中选择的一个图像区域,这个区域是图像分析所关注的重点,也就是医生真正关注的内容[5]。在这一步骤中将圈定ROI区域,剔除图像中无关部分,之后的处理操作均是针对该ROI区域,这样可以减少处理时间,增加检测精度。这部分实验的输入图是经过上一步处理后提取出的肺实质图像。为了尽可能不发生漏检情况,该步骤采用基于数学Hessian矩阵的圆点滤波器进行检测,自适应地选取 ROI。以图像为例,数学Hessian矩阵的圆点滤波器检测结果如图4所示。
(a) 上一步得到的肺实质图像 (b) Hessian矩阵检测结果 (c) 标注ROI区域
图4 提取ROI区域
2.3 特征提取与计算
在上一个步骤中虽然标注出了ROI区域,但这些区域并不单单只是肺结节,肺气管内的软组织和血管可能与肺结节重叠,在图像处理后表现出一样的高亮度效果,所以上一步完成后仍然有很多肺结节的假阳性(FP,false positive)存在。所以需要分类处理,分类识别的关键是提取特征,特征的形成是分类识别的关键,这些特征必须有足够的区别肺结节(肺癌标志物)和非结节(组织或血管等)的能力。
表1 对检测区域提取的特征
[特征内容\&特征\&特征描述\&视觉特征\&圆形度\&特征反映了目标接近圆形的程度\&紧凑度\&描述区域特征\&一致性\&当所有灰度值相等时,该度量最大并从此处开始减小\&平滑度\&区域中亮度的相对平滑度度量 \&曲率\&边界曲率\&边界不规则度\&边界点到重心距离的关系\&统计特征\&方差\&平均亮度度量\&最大值\&\&最小值\&\&三阶矩\&平均对比度度量\&不变矩\&均值的三阶矩,度量直方图的偏斜\&变换系数特征\&傅立叶描述子\&对平移、缩放、镜像和旋转都不敏感的7个不变矩\&]
2.4 肺结节检测
接下去采用BP神经网络分类器进行特征优化与肺结节的检测,网络通常采用三层结构,如图5所示。
[误差反向传播] [输入层][隐含层][输出层][信息正向传播][V][W] [x1][xi][xn][i][n][q][m][j][z1][zk][zq][y1][yj][ym]
图5 3层BP神经网络结构图
在BP神经网络中我们将使用上一步中的特征向量作为输入层数据进行分类测试,但输入之前必须先采用主分量分析算法(PCA)对原始特征进行优化。PCA算法在保留原始数据所有信息的基础上对数据源进行降维处理,这样可以克服传统的特征选择单纯删除原始数据某些维数所带来的信息量不全的缺陷,从而提高神经网络的分类能力。采用PCA算法后优化后的特征向量包括八个,如表2所示。
接下来,在BP神经网络中使用表2征向量作为输入层数据进行分类测试,比较各类特征向量的分类能力。从含有结节的图像中提取32像素*32像素的结节区域,为了增加样本数,将每个结节区域分别按顺时针旋转90度、180度、270度,得到三个新的区域作为训练样本,这样共有256个训练样本,按16×16的结构组成512×512像素大小的训练样本图像,用于网络训练。网络的输出介于0~1之间,当输出值大于0.5时认为是结节,否则认为是血管。
仍然以同样的CT图像为例,BP神经网络分类结果如图6所示,其中图6(a)表示原始CT图像,图6(b)表示上一步中标注的ROI区域(包含组织或血管),图6(c)表示神经网络分类后的肺结节(剔除假阳性),图6(d)表示在CT源图像上标记肺结节。
3 结束语
本项目研究如何设计一个可靠的计算机辅助诊断系统,采用图像处理算法将肺部CT影像进行计算处理,分割出肺癌标志物――肺结节,从而检测肺癌的早期病变,帮助放射科专家或相关行业医生快速的作医学诊断,提高效率。该研究成果可用于开发计算机辅助诊断系统,作为开发人员的参考资料。如果能将这种计算机辅助检测系统引进到实际应用或临床医疗中,以此作为检测早期病变的辅助手段,会有巨大的市场潜力,且意义重大。
参考文献:
[1] 2013中国肿瘤登记年报[R].全国肿瘤登记中心,2014.4.
[2]吴兑.中国灰霾天气研究10周年记[J].环境科学学报,2012.32(2):
257-269
[3] 田捷等著.医学影像处理与分析[M].电子工业出版社,2003.
[4] 聂生东,郑斌,李雯.CT图像肺结节计算机辅助检测与分类系统设计[J].
系统仿真学报,2007.19(5):935-944
关键词:足球机器人;神经网络;PID;运动控制
中图分类号:TP
文献标识码:A
文章编号:1672-3198(2010)12-0292-01
1 基于BP神经网络参数整定的PID控制器仿真
仿真的一项重要内容就是神经网络初始权值的确定。我们可知隐含层节点的输入为ui=∑4wijxj在计算中常用两个矩阵来表示。输入矩阵,输出矩阵,输入层至隐含层和隐含层至输出层权值矩阵。初始权值矩阵选取是关键之一,其决定最终优化效果,但是权值初始化非常困难,一般采用的方法是随机生成初始权值矩阵,进行仿真,取仿真效果较好的几组随机初始矩阵值。此法随机性较大,需要通过输入不同目标点进行检测,取得仿真效果较好(多数样本有效)的一组作为初始矩阵。但此法还是有一定缺陷,只能局部目标点可以采用。为了获得良好控制效果,这里对PID控制器进行简单改进。将PID控制器的偏差量error(k),error(k-1)(上次误差),error(k-2)(前次误差)全部进行预处理,即同时除以第一次误差d1。然后按神经网络输出的PID参数原值进行计算,得到输出。
2 基于BP神经网络参数整定的PID控制器设计改进
通过研究,在能到达目标点的前提下,机器人的速度曲线理想情况下应该要使启动平稳,在增量PID中若初始压低输出(即经过一段距离后,控制器输出才到达最大值,距离长短由角度控制器决定),随时间累积到达一定值时被控对象输入为最大值,最大值持续输出一段距离后,被控对象输入开始下降,使被控对象输出下降到一定的可控范围内。此时,PID控制器中随时间累积的项就是积分项。但积分作用初始很强,所以初始速度过猛,这就需要减弱微分作用的灵敏度,于是本文就采用不完全微分控制算法,来达到此改进目的。不完全微分控制算法的作用就是减弱初始一段时间的积分作用,将其作用延后,即如上图所示,中间段速度持续最大值。
这里改进后控制器输出为:u(k)=a×u(k-1)+(1-a)×du(k)。
3 PID控制器与基于BP神经网络整定的控制器的仿真对比
下面,通过与P控制比较来分析基于神经网络整定的PID调节的优点。为了便于设计和调节,在此简化PID控制器为P控制器,即v=k1×Ed,w=k2×Er。进行仿真对比,这里针对一般目标点(1000,5000),两个特殊目标点(10000,50)、(50,10000)三个点进行检测。对比例系数调节过程遵循两个原则:
(1)末端可控(即末态速度在下一阶段开始时的速度可控范围内);
(2)在规定时间内到达目标点。接下来就是根据快速性和平稳性优化参数。在此我们不妨观察目标点为(10000,50)时两者的对比图。其中(k1=0.67,k2=15),
图1 目标点为(10000,50)的PID控制器仿真
图2 目标点为(10000,50)改进后的神经网络控制器仿真
图1 目标点为(10000,50)改进后的神经网络控制器仿真(the simulation of improved neural network controller on target point(10000,50))
通过上面P控制器和基于BP神经网络的PID控制的仿真的比较,可以看出,改进后的控制效果明显优化了很多,初始速度有一段上升时间,可见控制器的输出被压低取得明显效果,并且能保证大的输出持续一段时间(积分作用有效),最后输出下降,有利于下一阶段控制。这是控制器进行不完全积分后取得的好效果。本次设计的控制器PID参数是实时在线进行优化的,所以每次PID参数都在改变,有利于实时跟踪输入信号,达到优化控制的目的。
参考文献
关键词: 模拟电路; 特征选择; 故障诊断; 神经网络; 粒子群算法
中图分类号: TN710.4?34; TP183 文献标识码: A 文章编号: 1004?373X(2016)19?0140?04
Abstract: The analog circuit is influenced by its characteristics and external environment, and its fault is non?linear and time?varying. The available fault diagnosis models of analog circuit are difficult to solve the match problem of features and classifier parameters, an analog circuit fault diagnosis model based on particle swarm algorithm optimizing feature and neural network is presented. The current situations of analog circuit fault diagnosis are analyzed, and their shortcomings are pointed out. The features of analog circuit fault diagnosis are extracted. The neural network is used as the classifier of analog circuit fault diagnosis. The analog circuit fault features and neural network parameters are optimized with particle swarm optimization, and simula?ted with Matlab 2012. The results show that the performance of the proposed model is superior to that of other reference models, and has wide application prospects.
Keywords: analog circuit; feature selection; fault diagnosis; neural network; particle swarm optimization
0 引 言
当前电网系统规模不断增大,各种电路越来越复杂,电路出现故障的概率急剧上升,相对于数字电路,模拟电路工作环境更加复杂,再加上自身特性,模拟电路故障诊断具有更加重要的实际应用价值,一直是电网系统研究中的重点[1]。
国内外学者对模拟电路故障诊断进行了相应的探索和研究,提出了许多有效的模拟电路故障诊断模型[2]。当前模拟电路故障方法主要分为传统模型和现代模型两类方法,传统模型主要有专家系统与灰色理论等[3?4],属于线性的模拟电路故障诊断模型,对小规模模拟电路故障诊断效果好,但对于大规模的模拟电路,建模效率低,同时由于模拟电路工作状态与特征间是一种复杂的非线性关系,传统模型无法描述其变化特点,故障诊断正确率急剧下降,难以满足模拟电路故障诊断的实际应用要求[5]。现代模型基于非线性理论进行模拟电路故障诊断建模,主要有神经网络与支持向量机等[6?7],现代模型通过自适应学习拟合电路工作状态与特征间的非线性关系,成为当前模拟电路故障诊断的主要研究方向,其中支持向量机的训练过程相当耗时,很难满足模拟电路的故障诊断要求,应用范围受到一定的限制[8]。神经网络的学习速度要快于支持向量机,且模拟电路故障诊断结果不错,尤其是BP神经网络进行故障诊断时,速度较快,应用最为广泛[9]。BP神经网络的模拟电路故障诊断结果与参数相关,如参数选择不当,则会导致模拟电路故障诊断性能下降[10]。模拟电路的状态特征同时亦与诊断结果密切相关,然而当前模拟电路故障诊断模型将神经网络参数与特征选择问题分开考虑,完全割裂了两者之间的关系,无法构建高准确率的模拟电路故障诊断模型[11]。
针对当前模拟电路故障诊断中的特征和神经网络参数不匹配的问题,提出一种粒子群算法选择特征和神经网络的模拟电路故障诊断模型(PSO?BPNN)。在Matlab 2012平台进行了仿真实验。结果表明,本文提出模型的模拟电路故障诊断性能要远远优于其他参比模型。
1 相关理论
1.1 模拟电路工作状态的特征提取
Step3:更新惯性权重,调整粒子的飞行速度和位置,产生新的粒子群。
Step4:若达到了结束条件,就可以得到模拟电路故障诊断的最优特征子集和最合理的BP神经网络参数。
Step5:建立模拟电路故障诊断模型,并对待检测的模拟电路故障进行检测,根据检测结果采取相应的措施。
3 结果与分析
为了分析PSO?BPNN的模拟电路故障诊断性能,采用图2的模拟电路进行仿真实验,在Matlab 2012平台下进行编程实现PSO?BPNN,模拟电路故障诊断参比模型为:
(1) 原始模拟电路故障诊断特征,BP神经网络参数随机确定的模拟电路故障诊断模型(BPNN1);
(2) 原始模拟电路故障诊断特征,粒子群算法优化BP神经网络参数的模拟电路故障诊断模型(BPNN2);
(3) 粒子群算法选择模拟电路故障诊断特征,然后随机确定BP神经网络参数的模拟电路故障诊断模型(BPNN3)。
共收集100个模拟电路故障诊断的训练样本,50个模拟电路故障诊断测试样本,采用PSO?BPNN对训练样本进行学习,所有模型都运行100次,然后统计测试样本的实验结果,其平均诊断率和误诊率如图3,图4所示,对图3,图4的模拟电路故障诊断结果进行对比和分析,可以得到如下结论:
(1) 与BPNN1的实验结果相比较可以发现,BPNN2获得了更优的模拟电路故障诊断结果,因为BPNN2采用粒子群算法优化了BP神经网络参数,使得模拟电路故障诊断率更高,这表明BP神经网络参数会影响模拟电路故障诊断的结果。
(2) BPNN3的模拟电路故障诊断也要优于BPNN1,这是由于粒子群算法对模拟电路故障特征进行了选择和优化,得到了对电路故障诊断结果有重要作用的特征子集。
(3) 在所有模拟电路故障诊断模型中,PSO?BPNN的模拟电路故障诊断率最高,误诊率得到了降低,这是由于BPNN2和BPNN3只从一个方面对特征或者BP神经网络参数进行了优化,没有同时对它们进行优化,因此不可能建立性能优异的模拟电路故障诊断模型,而PSO?BPNN同时从特征和BP神经网络参数两个方面进行优化,因而能够获得更加理想的模拟电路故障诊断结果。
4 结 语
传统模拟电路故障诊断模型仅对特征或者BP神经网络参数进行优化,易出现特征和分类器参数不匹配的问题,为此提出基于PSO?BPNN的模拟电路故障诊断模型,首先根据Volterra级数提取模拟电路工作状态的特征,然后采用BP神经网络作为模拟电路故障分类器,并利用粒子群算法优化特征和BP神经网络参数,最后进行仿真实验,仿真结果表明,PSO?BPNN解决了当前模拟电路故障诊断模型存在的局限性,获得了更高的模拟电路故障诊断率,在模拟电路故障诊断中具有广泛的应用前景。
参考文献
[1] 朱大奇.电子设备故障诊断原理与实践[M].北京:电子工业出版社,2008.
[2] 陈圣俭,洪炳熔,王月芳,等.可诊断容差模拟电路软故障的新故障字典法[J].电子学报,2006,4(2):129?136.
[3] 金瑜,陈光福,刘红.基于小波神经网络的模拟电路故障诊断[J].仪器仪表学报,2007,28(9):1600?1604.
[4] 刘本德,胡昌华,蔡艳宁.基于聚类和SVM多分类的容差模拟电路故障诊断[J].系统仿真学报,2009,21(20):6479?6482.
[5] 黄洁,何怡刚.模拟电路故障诊断的发展现状与展望[J].微电子学,2004,34(1):21?25.
[6] 彭敏放,何怡刚,王耀南.模拟电路的融合智能故障诊断[J].中国电机工程学报,2006,26(3):19?24.
[7] 张超杰,贺国,梁述海.小波变换与主元分析相结合的模拟电路检测方法[J].哈尔滨工程大学学报,2010,31(5):570?575.
[8] 刘美容,何怡刚,方葛丰,等.遗传小波神经网络在模拟电路故障诊断中的应用[J].湖南大学学报,2009,36(3):40?44.
[9] 申宇皓,孟晨,张磊,等.基于同步优化的支持向量机模拟电路故障诊断方法研究[J].太原理工大学学报,2010,41(4):420?424.
[10] 胡清,王荣杰,詹宜巨.基于支持向量机的电力电子电路故障诊断技术[J].中国电机工程学报,2008,28(12):107?111.
[11] 王承,叶韵,梁海浪,等.基于多频测试和神经网络的模拟电路故障诊断[J].计算机工程与应用,2013,49(5):1?3.