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

欧阳亮(1984―),女,湖南大学工商管理学院(长沙,410082)。研 究方向:金融工程与风险管理。
[关键词]汇率预测;汇率波动;神经网络
汇率作为一个重要的经济变量,其变动对国民收入的增减、工农业的发展、国内利率、就业 等各方面都有着重要的影响。因此,汇率预测受到广泛的关注,大量的计量经济模型和时间 序列模型被用于汇率预测。其中,人工神经网络(Artificial Neural Networks, ANN)作为 一种非参数的数据驱动型的方法,不需要对数据特征进行事先假设,通过合理的样本训练, 学习专家的经验、模拟专家的行为,并引入非线性转换函数来求解各种复杂的非线性问题, 具有很强的模式识别能力和高速信息处理能力,从而在时间序列数据预测方面有独特的优 势。[1]
利用神经网络方法预测汇率波动,国内外学者已经进行了比较广泛的研究。总结国内外学者 的研究成果,用神经网络预测汇率有3个层次。它们分别是同质神经网络模型、 异质神经网络模型和神经网络组合模型。
一、汇率预测的同质神经网络模型
同质神经网络预测模型是用神经网络根据历史汇率数据来预测未来汇率,这是作为一种汇 率预测的非参数方法提出来的。由于汇率波动具有非线性相关性和 长效记忆性,因此通过历史数据进行汇率预测是一种可行的方法。同质神经网络预测模型认 为;汇率有一个隐含的生成机制,历史汇率和未来的汇率都由这个机制生成,通过对历史数 据的观测,识别这个生成机 制,就可用这个生成机制预测未来的汇率。由于神经网络是一个数据驱动的自适应的非参数 方法,不基于假设,即使产生数据的过程是未知的,或者很复杂,神经网络也能识别。
用同质神经网络进行汇率预测,是根据汇率的历史数据加上输入延迟来预测汇率的变化或变 化趋势。用于汇率预测的神经网络模型很多,其中最常用的是多层后向神经网络模型,即BP 神经网络。BP神经网络一般采用三层结构:输入层、隐含层、输出层。BP神经网络的算法 和训练如图1。
以t时刻汇率种类R的预测为例,滞后期为n,预测长度为L。输入层的数据是从时刻t开始前n 期的历史汇率观测值序列,yt,…, yt-n,输入才由长度n的滑动窗口产生。输出层 依次输出从t时刻开始的L个汇率预测值,yt+1,…, yt+L。相邻汇率的时间间 隔是等长的。汇率预测的同质神经网络模型的结构如上图2。
用同质神经网络预测汇率的研究很多,1993年,Refenes等人采用神经网络方法预测汇率变 动,他们将数据分成训练组(Training Subsample)、测试组(Testing Subsample)和预测组( Forecasting Subsample),先用训练组和测试组数据训练神经网络,然后用预测组数据进行 预测,这种尝试以及随后的评议肯定了神经网络在一定的情况下比“标准”的预测方法表现 要好。[2]Kuan和Liu(1995)用神经网络对5个不同币种兑美元的汇率进行预测。这5 种货币包括英镑、加拿大元、德国马克、日元以及瑞士法郎。研究发现神经网络对日元和英 镑的预测的均方差(MSE)很低,但对其余3个币种的预测效果一般。[3]De Matos(19 94)通过对日元期货预测比较了多层后向神经网络(MLFN)和重复网络的预测效果。[4]Zhang和Hu(1998)用多层后向神经网络对英镑和美元的汇率进行预测,发现神经网络的预 测效果明显优于线性模型,尤其在预测期比较短的时候。[5]
虽然研究表明神经网络的预测效果比其他方法好,但是其预测精度和可靠性仍然不尽人意。 对此,学者们对神经网络进行了改进,提出了诸如聚类神经网络、重复神经网络、广义回归 神经网络、模糊神经网络等经改进的神经网络进行汇率预测,或者将其他方法与神经网络结 合,以改善神经网络的预测能力。例如,Shazly等(1999)用遗传算法训练神经网络的权值。 惠晓 峰和胡运权等(2002)结合遗传算法,提出了基于实数编码的GA-BP神经网络汇率预测人民币 兑美元汇率的模型。姚洪兴, 盛昭瀚和陈洪香(2002)提出了一种改进的小波神经网络结构。
这些研究在一定程度上提高了神经网络的预测效果,但是神经网络的结构、训练算法、阀值 函数的选择以及滞后期的确定等问题仍然难以解决。而且,汇率由历史汇率唯一决定这一 前提也缺乏足够的理论支持。
二、汇率预测的异质神经网络模型
用异质神经网络模型进行汇率预测,是指在预测过程中,考虑影响汇率的各种因素,如利率 、通货膨胀率、原油价格、货币供应、贸易收支差额、消费价格指数、消费信心指数等,根 据这些影响因素来预测汇率。Shazly(1997)选取一个月欧洲美元存款利率、一个月欧洲外币 存款利率、即期汇率 和一个月的远期汇率作为输入变量,预测一个月后的即期汇率。结果表明,神经网络的预测 效果比通过远期汇率进行的预测效果要好。[6]杨火斤 和马洪波(1999)选取GNP、CPI、工业股 票价格指数、短期利率、货币供应量、长期利率6个影响因素,将这些变量作为神经网络的 输入变量,训练神经网络根据这些变量预测汇率。[7]Hui Xiao-feng等(2005)也用 模糊神经网 络进行汇率预测,输入的变量包括两国的CPI和GDP、两国的利率差、货币供应比、净出口额 等。[8]
异质神经网络模型的网络结构和训练算法与同质神经网络相似。区别在于同质神经网络的输 入是一段时滞的历史汇率数据,是一维的数据,而异质神经网络的输入数据是多个变量的数 据,是二维的数据。令x1, x2,…, xn分别表示影响汇率变动的各个因素,异质神经 网络的结构如图3所示。
图3 异质神经网络模型
随着布雷顿森林体系的崩溃,各国纷纷采用浮动汇率制度,影响汇率变动的因素更加多样化 、复杂化,难以确定。因此,学者们开始用神经网络与其他预测方法结合使用。一种是与基 本因素分析模型如购买力平价模型、利率平价模型等相结合。根据这些模型确定的影响因素 作为神经网络的输入变量,通过神经网络训练优化变量的权值,从而进行汇率预测。例如, Qi和Wu(2003)用基于货币理论的神经网络对英镑和马克1个月、6个月、12个月的汇率进行预 测,输入变量为货币供应量M1,各个国家的实际工业生产收入、利率作为输入变量。Lee和W ong(2007)用微观结构理论和宏观经济的6个变量作为神经网络的输入,预测汇率波动。
另一种方法是用神经网络与协整方法结合。先通过协整分析确定影响汇率变动的因素,再用 神经网络确定各变量的权值。Inc和Trafalis(2006)构建了一个结合协整方法和人工神经网 络的汇率预测模型方法,先用协整方法确定对汇率有影响作用的变量,然后用ANN对这些变 量进行非线性组合,预测汇率。[9]
异质神经网络模型将汇率视为整体经济系统中的一个变量,汇率波动受众多因素的影响,因 此汇率的波动是根据这些影响因素的波动来预测的,与同质神经网络模型相比有更强的理论 支持。但是,它的预测效果取决于影响因素的选择,因此汇率的影响因素的选择是异质神经 网络预测模型的关键。
三、汇率预测的神经网络组合模型
神经网络进行汇率非线性组合预测是一个两步组合预测模型。Bates和Granger(1969)证明了 预测方法的线性组合比单模型能产生更小的误差。[10]此后,一些学者在这方面做 了很多研 究。在众多的组合方法中,神经网络非线性组合是最广泛使用的方法。Hu和Tsoukalas(1999 )用不同的GARCH模型预测条件波动,并对这些预测值分别进行线形和非线性组合,结果表明 用神经网络进行非线性组合的预测效果是最好的。[11]Tseng等(2002)用BP神经网 络和时间 序列模型――SARIMA模型进行组合,用SARMIA(Seasonal Autoregression Moving Integrat e Average)对汇率进行线性预测,再用神经网络处理SARMIA模型预测的残差,进行汇率预测 。[12]用同样的方法还有Zhang(2003)用ARIMA和ANN组和对英镑和美元汇率进行预 测。[13]Yu, Wang和Lai(2005)组合广义线性自回归模型(GLAR)和神经网络进行 汇率预测。[14]
用神经网络对汇率进行非线性组合预测时,是将汇率数据分解成线性部分和非线性部分。先 用基本因素模型或者参数模型对汇率进行第一步预测;然后用神经网络对第一步预测残差进 行非线性组合;再根据两步的预测结果进行汇率预测。或者用神经网络对不同的参数模型的 预测结果进行非线性组合。下面以神经网络和ARIMA模型的非线性组合为例,说明神经网络 组合模型的基本原理。
(3)用神经网络mode残差:[AKn^]t=f(et-1,et-2,…,et-n)[JY](4)
其中,f表示神经网络的预测的非线性函数,et是随机误差。
(4)组合ARIMA和神经网络:[AKy^]=[AKl^]+[AKn^]t[JY](5)
神经网络组合模型使用神经网络和线性方法进行非线性组合,考虑了汇率作为一个复杂系统 同时具有线性和非线性特征的实际,充分利用了参数方法和非参数方法的优势,并综合了各 种汇率理论的分析结果。大量的实际研究表明,组合预测的效果比单独用线性模型或单独用 神经网络预测的效果要好。
四、比较与结论
同质神经网络预测模型是根据历史数据进行汇率预测,是用一维的数据训练神经网络。它没 有 考虑汇率作为经济系统中的一个变量,受到众多因素的影响,而仅仅把汇率视为一系列没有 经济含义的无规则数据。而异质神经网络模型则把汇率视为复杂经济系统中的一个变量,认 为在统计上无规则的汇率数据是由众多因素共同决定的。异质神经网络模型用二维数据进行 训练,与同质神经网络模型相比,其预测有更充分的理论支持。但是,影响汇率的因素至今 没有定论也没有统一的选取法则。
同质神经网络预测模型和异质神经网络预测模型都将汇率视为单纯的非线性变化的时间序列 ,而实际汇率的波动不是单纯的线性或非线性的,而是同时包含线性和非线性模式,因此单 纯的线性模型和非线性模型都不能很好地预测汇率。而神经网络组合预测模型则与前两种方 法有本质的不同,它同时考虑了汇率的线性和非线性特征,在线性预测的基础上再进行非线 性组合,充分利用参数方法和非参数方法的优势。一方面,研究表明线性预测有很多效果很 好 的方法,如ARIMA,GARCH等参数模型;另一方面,这些模型都基于很强的假设条件,不同的 条 件下预测效果有很大差别。因此,在实际预测时候,很难确定某个模型比其他模型有更好的 样本外预测效果。最优模型的选择是件很困难的事情。用神经网络组合模型,避免了 最优模型选择的问题,又综合了不同的汇率理论的分析结果。
另外,同质神经网络预测模型和异质神经网络预测模型都是单模型的一步预测的方法,研究 表明单一的模型往往只能适应某一特定的情况或者反映一部分的信息,而实际汇率是一个复 杂的系统,组合不同的参数模型或者参数模型不同参数的预测结果,能够较大限度地利用各 种预测样本信息,比单个预测模型考虑的问题更系统、更全面,从而提高了预测的精度。
自2005年7月21日起,中国实行汇率改革以来,央行入市干预的力度明显减弱。由市场供求 关系决定的人 民币汇率受到众多因素的影响,波动幅度较以往明显加大。用神经网络组合模型对人民币汇 率进行预测,充分考虑了汇率波动的复杂性。结合线性方法和非线性方法的优势,能抓住汇 率波动的线性和非线性特征,并能全面挖掘和反映样本信息,有较好的样本外预测效果。因 此,神经网络组合模型是人民币汇率预测的最佳选择。
但是,用神经网络组合模型进行汇率预测也存在一些难以解决的问题。首先是神经网络自身 的优化问题,如隐藏层数及隐藏层结点数的确定、激活函数的确定、局部最优等,神经网络 的结构直接影响着预测效果。其次,在神经网络进行组合预测时,如何选择被组合的模型以 及模型的个数,是另外一个难以解决的问题。第三,神经网络可以根据残差最小的原则不断 地调整参数来改变预测效果,但是它不能改变输入数据,而汇率数据往往是剧烈波动,存在 噪音的。因此,如何对数据进行除噪,优化神经网络的输入数据是另一个值得研究的问题。
主要参考文献:
[1]Guoqiang Zhang, Eddy Patuwo, Michael Hu. Forecasting with artificialneural networks: The state of the art[J]. International Journal of Forecastin g, 1998, 14: 35-62.
[2]Refenes. Constructive learning and its application to currency excha nge rate forecasting. In: Neural networks in finance and investing: using artifi cial intelligence to improve real world performance, 1993, 465-493.
[3]CM Kuan, T Liu. Forecasting exchange rates using feedforward and rec urrent neural networks[J]. Journal of Applied Econometrics, 1995, 10(4): 347-6 4.
[4]De Matos. Neural networks for forecasting exchange rates: [disserta tion n]. Canada: The University of Manitoba, 1994.
[5]Gioqinang Zhang, Michael Y. Hu. Neural Network Forecasting of the Br itish Pound/US Dollar Exchange Rate[J]. Omega, Int. J. Mgmt Sci, 1998, 26(4):495-506.
[6]Mona R. El Shazly, Hassan E. El Shazly. Comparing the forecasting pe rformance of neural networks and forward exchange rates[J]. Journal of Multina tional Financial Management, 1997(7): 345-356.
[7]杨 火斤, 马洪波. 人工神经网络在中长 期汇率预侧中的应用[J]. 系统工程, 1999, 17(1): 18-24.
[8]HUI Xiao-feng, LI Zhe, WEl Qing-quan. Using fuzzy neural networks fo r RMB/USD real exchange rate forecasting[J]. Journal of Harbin Institute of Te chnology (New Series), 2005, 12(2): 189-192.
[9]Huseyin Ince, Theodore B. Trafalis. A hybrid model for exchange rateprediction[J]. Decision Support Systems, 2006, 42(10): 1054-1062.
[10]Bates JM, Granger CWJ. The combination of forecasts[J]. Operation s Research Quarterly, 1969, 20: 451-68.
[11]Michael Y. Hu, Christos Tsoukalas. Combining conditional volatilityforecasts using neural networks: an application to the EMS exchange rates[J].Journal of International Financial Markets, Institutions and Money, 1999, (9):407-422.
[12]Fang-Mei Tseng, Hsiao-Cheng Yub, Gwo-Hsiung Tzeng. Combining neuralnetwork model with seasonal time series ARIMA model[J]. Technological Forecas ting & Social Change, 2002, 69: 71-87.
[13]G peter Zhang. Time series forecasting using a hybrid ARIMA and neu ral network model[J]. Neuro computing, 2003, 50: 159-175.
[14]LeanYu, Shouyang Wang, K. K. Lai. A novel nonlinear ensemble foreca sting model incorporating GLAR and ANN for foreign exchange rates[J]. Computer s & Operations Research, 2005, 32: 2523-2541.
Forecasting Exchange Rate with ANN: A Comparative Anal ysis
Xie Chi1 Ouyang Liang2 Abstract:With the popularity of floating exchange rate system,a lot of methods with parameter and non-parameter are adopted to forecast the ex change rate, and ANN is one of them. There are three types of ANN for exchange r ate forecasting, namely the homogenous ANN model, the heterogeneous ANN model an d the hybrid ANN model. This paper researches on the three models, specificallytheir characteristics and limitations, and draw the conclusion that both ANN mod el give full consideration to the linearity and nonlinearity characters of the e xchange rate. The ANN model can offer better results in a more systematic and co mprehensive way, because it adopts the thoughts integrating the analysis of diff erent exchange rate theories, and broadly utilizes the forecast samples.
Key words:Exchange Rate Forecasting; Exchange Rate Fluctuation;ANN
关键词: 网络异常检测; BP神经网络; 遗传算法; 异常流量
中图分类号: TN711?34; TP393 文献标识码: A 文章编号: 1004?373X(2016)03?0090?04
Network anomaly detection method with improved BP neural network based on GA
CUI Baocai
(Tianjin Electronic Information College, Tianjin 300350, China)
Abstract: Since the conventional BP neural network algorithm is easy to fall into local optimal solution, and the established network abnormal flow detection model has low detection efficiency and poor accuracy, an improved BP neural network algorithm based on GA is proposed, by which the network abnormal flow detection model was established. The conventional genetic algorithm in the search process often influences on the search effect because of the high fitness individual, so it is necessary to improve the conventional genetic algorithm. The hybrid encoding mode is used to optimize and correct the parameters of crossover operator, mutation operator, crossover probability and mutation probability. The experiment study for network abnormal flow data in KDD CUP99 database is conducted, and the research results show that the detection performance of the proposed method is better than that of the conventional algorithm. The improved genetic algorithm is used to synchronous optimization the network, weight and threshold of BP neural, and can avoid the problem causing by the blind selection of BP neural network structure parameter, and avoid that the BP neural network is easy to fall into the local optimal solution.
Keywords: network anomaly detection; BP neural network; genetic algorithm; abnormal flow
0 引 言
网络异常流量类型多样复杂,异常可能来自Alpha Anomaly异常流量、DDos异常流量、Port Scan异常流量、Network Scan异常流量、Worms异常流量以及Flash Crowd异常流量等。在大型Internet供应商以及企业网络中对异常进行检测具有非常大的难度。常规异常检测具有检测率低、误报率高等问题,因此本文对网络异常流量检测方法进行深入研究[1?3]。
近年来,人们常常利用BP神经网络建立网络异常流量检测模型,但是由于BP神经网络算法存在容易陷入局部最优解,训练时间长,效率低等问题,因此本文提出一种利用遗传算法对BP神经网络进行改进的方法以提高BP神经网络算法性能[4?5]。
1 遗传算法优化BP神经网络模型
1.1 遗传算法优化BP神经网络
使用遗传算法对BP神经网络算法进行优化可以描述为:
式中:[E1]是BP神经网络训练输出与实际样本的总体误差;[yi(t)]是期望的输出;[yi(t)]是BP神经网络的实际输出。
BP神经网络的实际输出[yi(t)]表示为:
式中:[f]是输出神经元的激励函数;[g]是隐含层神经元的激励函数;[wij]是BP神经网络输入层和隐含层节点之间的连接权值;[vit]是隐含层与输出层节点之间的连接权值;[ξi]是过程神经元的阈值;[ηt]是输出神经元的阈值。
权值的修正值可以用如下方法表示:
式中:[α]是动量因数;[n]是迭代次数;[η]是自适应学习率;[g(n)]是误差函数对权值的梯度。
建立遗传算法优化BP神经网络的检测模型过程如下:
步骤1:建立BP神经网络,设定BP神经网络的初始结构参数和函数等;
步骤2:使用遗传算法对BP神经网络进行参数优化,生产初始种群,通过种群优化、交叉、变异等操作对BP神经网络的权值、阈值等进行优化;
步骤3:使用遗传算法得到的最优权值、阈值等参数更新BP神经网络,使用训练数据对模型进行训练,完成检测模型的建立。
建立遗传算法优化BP神经网络的检测模型流程如图1所示[6?7]。
1.2 遗传算法改进方法
常规遗传算法在搜索过程中,往往会由于出现影响生产适应度高的个体而对遗传算法搜索过程产生影响的现象发生,因此需要对常规遗传算法进行改进。本文使用的方法是通过混合编码方式进行改进,同时对交叉算子、变异算子、交叉概率[Pc]以及变异概率[Pm]等参数进行优化修正。
(1) 混合编码方案
二进制编码解码的优点是操作简便、易于实现等;实数编码方法的优点是针对连续参数优化问题的精度高、直观等。因此本文将两种编码方式进行结合,发挥其各自优点,实现对遗传算法的改进。通过此种方法改进后,遗传操作速度加快、全局搜索范围增加,同时也提高了优化的精度等。
(2) 适应值函数选取
寻找使得所有进化过程网络误差平方和最小的网络权值即为遗传算法的搜索目标。遗传算法通常的进化方向是向着适应值增加的方向发展,因此,本文通过优化得到的权值、阈值,计算得到对应神经网络的误差平方和,适应误差的倒数为适应度函数。各个个体的适应值可以表示为:
网络的目标函数表示为:
式中:[qijk]是使用第[j]个训练数据样本进行输入时,第[k]个节点的输出;[pjk]是期望网络的输出;[n]是训练数据样本数量;[m]是BP神经网络的输出层神经元个数;[L]为种群规模数;[i=1,2,…,L。]
(3) 选择算子
本文使用的选取方法为排序法。排序法思想是把个体适应度的不同转换为排序序列,适应度较大的个体被选取的概率就越大,适应度较小的个体被选取的概率就越小。针对个体按照其适应度完成升序的排序,之后按下面方法对个体的选取概率进行计算:
式中:[Pmax]是最优染色体选取概率;[n(i)]是种群中第[i]个染色体适应值的排序。
对个体使用比例选择法进行选取。对每个个体累计选取概率[qi(i=1,2,…,L)]进行计算,在[(0,qL)]区域内生产一个随机序列[rj(j=1,2,…,L),]该序列为升序排序,如果[qi-1
(4) 交叉算子
交叉算子对于确保优良性能得以遗传具有重要作用。本文使用的方法是在二进制的编码过程中,使用单点交叉法,随机抽取2个父代串中的交叉点并交换对应子串,在交叉点的第[k]位进行交叉操作的方法为:
在进行实数编码时,使用算数交叉法,即通过两个个体组合成新的染色体。两个个体[Xli]和[Llj]是通过种群随机抽取的,交叉算子为:
式中:[Xli]和[Xlj]是交叉前的一对个体;[Xli]和[Xlj]是交叉后的一对个体;[c]是0~1的随机数。
本文使用的这种交叉方法因为能够得到多种组合,所以使得两个个体的信息得到充分交换对找到全局的最佳值是有利的[9]。
(5) 变异算子
保证种群多样性的一个主要方法就是通过变异操作。本文在二进制编码过程中使用基本位变异操作,实数编码过程使用非均匀变异操作。非均匀变异操作中使用的新基因值[x′k]为:
式中:[Δ(t,Ukmax-ηk)]是[0,Ukmax-ηk]范围内的随机数;[Δ(t,ηk-Ukmin)]是[0,ηk-Ukmin]范围内的随机数。
(6) 确定交叉和变异概率
交叉概率[Pc]以及变异概率[Pm]对遗传算法的优化性能具有至关重要的作用。本文使用自适应交叉概率和变异概率以不对适应值高的个体进行破坏的同时确保种群的多样性:
式中:[λ1,][λ2,][λ3,][λ4]为0~1的常数;[fmax]是种群中适应值的最大值;[f]是种群中适应值的平均值;[f]是较大的交叉互换适应值;[f]是变异个体的适应值。
当种群陷入局部最小值时可以将交叉概率[Pc]以及变异概率[Pm]适当增加;当种群在解空间比较分散时,可以将交叉概率[Pc]以及变异概率[Pm]适当减小;另外,对于适应度较高的个体,应减小交叉概率[Pc]以及变异概率[Pm;]对于适应度较低的个体,应增加交叉概率[Pc]以及变异概率[Pm,]这样交叉概率[Pc]以及变异概率[Pm]会跟随种群个体的适应度改变而变化[10]。
2 实验分析
本文使用Mitlincoln实验室的KDD CUP99数据库中的网络异常流量数据进行实验研究。主要选取常见的Alpha Anomaly异常流量、DDos异常流量、PortScan异常流量、NetworkScan异常流量、Worms异常流量以及FlashCrowd异常流量数据各100条。对各种流量数据样本随机抽取50条作为训练样本,另外50条用于对检测模型进行性能测试[11]。
网络异常流量类型与主要流特征对应关系如表1所示[12]。
为了对比本文研究的GA改进BP神经网络网络异常流量检测方法的性能,使用常规BP神经网络建立同样的检测模型。使用Matlab建立两种方法的检测模型,神经网络采用3层结构,由异常类型及异常类型对应的特征流决定了神经网络的输入层有6个神经元,输出层也有6个神经元,设定学习速率为0.1。常规BP神经网络使用随机函数对权值、阈值进行初始化设定,而本文研究的遗传算法优化BP神经网络则使用经过训练得到的最佳个体对权值、阈值进行初始化设定[13]。
两种算法的网络误差平方和响应曲线如图2所示。
可以看出,本文研究的方法通过对个体交叉概率和变异概率进行调节,相比常规BP神经网络能够使用更短的速度达到误差要求,迭代步数更少,训练速度更快,效率更高。
针对上述测试数据,使用两种方法进行测试。使用误报率和检测率对网络异常检测方法的检测性能进行评价:
[误报率=被误报为异常的正常样本数量正常样本总数×100%] (13)
[检测率=检测出异常样本数量异常样本总数×100%] (14)
使用两种算法建立的检测模型的检测率和误报率对比如表2所示。
从测试结果可以看出:本文研究方法针对6种异常流量的平均检测率为95.3%,平均误报率为4.7%;而常规BP神经网络算法建立的检测模型的平均检测率仅为81.8%,平均误报率为18.2%。本文研究方法的检测性能要明显优于常规算法,说明本文提出的改进型遗传算法对BP神经网络的结构、权值以及阈值进行同步优化,避免了盲目选择BP神经网络结构参数带来的问题,避免了常规BP神经网络容易陷入局部最优解的问题。
3 结 语
由于网络异常流量类型多样复杂,在大型Internet供应商以及企业网络中对异常进行检测具有非常大的难度,而常规异常检测具有检测率低、误报率高等问题,因此本文对网络异常流量检测方法进行深入研究。针对BP神经网络算法存在容易陷入局部最优解,训练时间长,效率低等问题,本文提出一种利用遗传算法对BP神经网络进行改进的方法以提高BP神经网络算法性能。本文将二进制编码和实数编码两种编码方式进行结合,发挥其各自优点,实现对遗传算法的改进。通过此种方法改进后,遗传操作速度加快、全局搜索范围增加,同时也提高了优化的精度等。通过遗传算法对BP神经网络的权值、阈值进行优化,加快了BP神经网络的学习速率,提高训练效率,极大改进了BP神经网络的逼近能力以及泛化能力。
参考文献
[1] 王涛,余顺争.基于机器学习的网络流量分类研究进展[J].小型微型计算机系统,2012(5):1034?1040.
[2] 姚宏林,韩伟杰,吴忠望.基于模糊相对熵的网络异常流量检测方法研究[J].信息安全与技术,2014(8):16?18.
[3] 赵鑫.基于NetFlow的网络流量异常检测技术研究[D].保定:河北大学,2014.
[4] 李洪洋.浅析网络异常流量分析检测研究与实现[J].网络安全技术与应用,2013(10):63?64.
[5] 燕发文,黄敏,王中飞.基于BF算法的网络异常流量行为检测[J].计算机工程,2013(7):165?168.
[6] 彭基伟,吕文华,行鸿彦,等.基于改进GA?BP神经网络的湿度传感器的温度补偿[J].仪器仪表学报,2013(1):153?160.
[7] 行鸿彦,邹水平,徐伟,等.基于PSO?BP神经网络的湿度传感器温度补偿[J].传感技术学报,2015(6):864?869.
[8] 何嘉.基于遗传算法优化的中文分词研究[D].成都:电子科技大学,2012.
[9] 夏玫.BP神经网络泛化能力改进研究[D].太原:太原科技大学,2009.
[10] 周凌翱.改进BP神经网络在模式识别中的应用及研究[D].南京:南京理工大学,2010.
[11] 吴小花.网络异常流量识别技术的研究[D].长春:长春工业大学,2013.
为降低神经网络的冗余连接及不必要的计算代价,将量子免疫克隆算法应用于神经网络的优化过程,通过产生具有稀疏度的权值来优化神经网络结构。算法能够有效删除神经网络中的冗余连接和隐层节点,并同时提高神经网络的学习效率、函数逼近精度和泛化能力。该算法已应用于秦始皇帝陵博物院野外文物安防系统。经实际检验,算法提高了目标分类概率,降低了误报率。
关键词:神经网络;量子免疫克隆算法;目标分类;冗余连接;网络优化
中图分类号: TP273
文献标志码:A
Quantum-inspired clonal algorithm based method for optimizing neural networks
Abstract:
In order to reduce the redundant connections and unnecessary computing cost, quantum-inspired clonal algorithm was applied to optimize neural networks. By generating neural network weights which have certain sparse ratio, the algorithm not only effectively removed redundant neural network connections and hidden layer nodes, but also improved the learning efficiency of neural network, the approximation of function accuracy and generalization ability. This method had been applied to wild relics security system of Emperor Qinshihuangs mausoleum site museum, and the results show that the method can raise the probability of target classification and reduce the false alarm rate.
Key words:
neural network; quantum-inspired clonal algorithm; target classification; redundant connection; network optimization
0 引言
神经网络已经被广泛地应用于模式分类、函数逼近、信号预测等各种领域,是近年来的研究热点之一[1-2]。在应用过程中,研究人员发现,当神经网络的规模过大会产生连接数量冗余大、计算代价过高的问题,降低了大规模神经网络的实用性。针对此问题,研究人员提出了多种方法在保持神经网络的前提下优化神经网络的结构和参数权值。Leung等[3-4]改进了传统的遗传算法(Genetic Algorithm, GA)并将其应用于神经网络的结构和权值优化过程,利用遗传算法的快速收敛性来提高神经网络的学习速度,其缺点在于当目标函数维数过大时容易陷入局部最优。Xiao等[5]使用混合优点(Hybrid Good Point, HGP)优化前向神经网络的参数和结构,避免权值陷入局部最优,但其对网络结构的优化没有达到最优。Shu等[6]提出正交模拟褪火(Orthogonal Simulated Annealing, OSA)算法, 使用褪火算法和正交算法的优点来同时优化神经网络结构和参数,其算法收敛速度快、鲁棒性好,缺点则在于计算代价较大。杜文莉等[7]提出了使用量子差分进化(Cooperative Quantum Differential Evolution, CQGADE)算法来优化神经网络权值,使用量子遗传算法优化网络结构和隐层节点数,算法综合了量子遗传算法和量子差分算法的优点,收敛速度快,但其缺点在于需要同时协同两种算法的优化结果,算法复杂度较高,且容易陷入局部最优。Tsai等[8]提出混合田口遗传算法(Hybrid Taguchi Genetic Algorithm, HTGA),将传统的GA与Taguchi方法结合起来,使得算法具有鲁棒性好、收敛性快等优点,但其缺点在于获得最优解的计算代价较大。
量子免疫克隆算法[9-12](Quantum-inspired Immune Clonal Algorithm, QICA)也称为量子遗传算法(Quantum Genetic Algorithm, QGA),其将量子搜索机制和免疫算法克隆选择原理相结合,利用量子编码的叠加性和随机性构造抗体,利用遗传算法的克隆操作产生原始种群和克隆子群实现种群扩张,使搜索空间扩大,提高了局部搜索能力;同时借助全干扰交叉操作避免陷入局部最优。QICA采用了多状态量子比特编码方式和通用的量子旋转门操作, 引入动态调整旋转角机制和量子交叉[11]。QICA在组合优化问题中具有良好的表现。
针对上述问题,提出了使用量子克隆免疫算法对神经网络的结构和连接权值同时进行优化,通过产生具有一定稀疏度的连接权值对网络隐层数量和连接权值进行优化,提高了算法的效率和收敛速度,避免了算法陷入局部最优。
1 带开关权值的神经网络模型
在经典的神经网络理论中,网络结构在初始化后便不再变动,仅通过权值的变化来计算产生结果,这种算法增加了神经网络的结构复杂性,在实际应用中增加了计算结果的代价。Leung等[3-4]提出了带开关权值的神经网络,通过调整开关的通断就能调整神经网络的结构和连接数量,从而减少计算代价。带开关权值的神经网络模型如图1所示[7]。
2.2 权值计算及优化方法
根据量子克隆免疫理论,将神经网络权值计算及优化过程分为以下四个过程。
2.2.1 权值抗体初始化
量子克隆免疫算法是基于量子计算和遗传算法组成的,其抗体的编码方式采用量子比特编码。一个抗体中的量子位的状态是不确定的,可以为0或1,其状态表示为式(5):
3.1 算法复杂度分析
量子克隆免疫算法的实质是通过量子理论的随机特性提供丰富的种群数量,并通过使用遗传算法对种群进行淘汰和进化,因此其算法的复杂度等于种群生成算法的复杂度:假设神经网络有x个输入,其隐层节点数量为N,输出为y,则网络中的输入与隐层节点间的连接权值ω的数量为:x*N,隐层节点与输出层的连接权值v的数量为:N*y。种群生成需要对所有节点进行权值初始化,并将随机位置的n(nN)个节点的权值设置为0, 其算法复杂度为O(n2)。而克隆免疫算法在种群克隆及抗体选择过程中使用遗传算法,因此其算法的复杂度与传统遗传算法相同,其算法复杂度也为O(n2)。因此,使用量子免疫克隆的神经网络优化算法的复杂度为O(n2)。
3.2 非线性函数逼近
选取复杂交互非线性函数(Complicated Interaction Function,CIF):
其中0
选取样本700组,其中500组用于训练,其余200组用于检测性能。神经网络的初始隐层神经元设置为20个,初始网络结构为:2-20-1,初始连接权值为随机值。在此条件下验证不同稀疏度条件下对CIF的二维逼近效果如图3所示。
图3显示随着稀疏度的不断降低,神经网络的逼近能力有所减弱,逼近误差则逐渐增大。这主要是因为神经网络中的连接权值数量降低,造成神经网络的适应性差。具体逼近效果见表2。
从表2中可以看出,隐层节点数量直接影响着神经网络的性能。高稀疏度条件下的计算量大,但逼近精度高;低稀疏度条件下的计算量小,但逼近精度较差。实验表明当稀疏度大于0.6时,算法的逼近精度高于90%,优化后的网络具有较好的非线性逼近能力。当神经网络隐层节点数量低于12时逼近精度大幅下降,说明此时神经网络处理信息的能力也随之大幅减弱,隐层节点的最合适的数量为12~14个,这也符合文献[14]的实验结果。
图4为不同稀疏度下,算法适应度的收敛情况。可以看出量子克隆免疫算法具有很好的收敛特性,算法收敛速度很快,能够在很短的进化次数内收敛至极值,且稀疏度越低,神经网络的连接权值数量越少,算法收敛速度越低,最优适应度越差。
表3为相同条件下,不同算法的最优计算结果,包括目标分类的准确度、隐藏层节点数量等。可以看出,当稀疏度高于0.8时,本文算法收敛性和适应度均优于混沌粒子群(Chaotic Particle Swarm Optimization,CPSO)[15]、粒子群优化算法(Particle Swarm Optimization,PSO)[16]、混合田口遗传算法[Hybrid Taguchi-Genetic Algorithm,HTGA][8]等其他算法,说明算法具有很好的收敛速度、寻优精度和鲁棒性。
3.3 微地震信号目标分类
实验场地选择在秦始皇兵马俑博物馆内K9901号坑旁。所有传感器节点沿公路一侧直线部署,距离公路1m左右。可能产生地震波的活动物体包括人员行走、机动车和挖掘活动。将采集到的微地震信号进行滤波、分帧、特征提取等处理后输入至神经网络进行模式识别。
系统对传感器采集到的数据进行分帧,并使用功率谱二次分析[17]算法对其进行处理,最后将经过预处理的数据输入至神经网络对其进行分类。根据其活动特点,将输出目标分为三类:人员活动、挖掘活动以及机动车辆活动。传感器采集到的三类活动的经典波形如图5所示。
表6中给出了算法的最优计算结果,包括不同稀疏度条件下神经网络的隐藏层节点数量、最优适应度以及分类准确率等。可以看出,算法能够有效减少冗余的隐藏层节点数量,并降低节点连接数量。算法的稀疏度越高,其适应度越好,其分类的准确性越好,但稀疏度高带来的则是计算代价增大、计算复杂度增加。当稀疏度低于0.7时,算法的适应度变差,目标的识别率为90%,在实际应用过程中带来了误判率较高的问题,降低了实用性。因此在秦始皇帝陵博物院野外文物安防系统中使用了稀疏度为0.7的算法对模式识别的神经网络进行优化。
4 结语
本文提出了基于量子免疫克隆算法的神经网络优化算法,该算法在训练神经网络优化权值的同时删除了冗余连接和多余的隐层节点,实现了神经网络结构和网络权值的优化。通过经典非线性函数逼近和目标识别检验,算法能够有效地优化神经网络,提高神经网络的优化效率,减少计算复杂度。使用优化后的神经网络已经用于秦始皇帝陵博物院野外文物安防系统中。
参考文献:
[1] QIAO H, ZHOU Y,SHAO N, et al. Software reliability prediction based on learning vector quantization neutral network[J]. Journal of Computer Applications, 2012,32(05):1436-1438.)(乔辉,周雁舟,邵楠,等.基于学习向量量化神经网络的软件可靠性预测[J].计算机应用,2012,32(5):1436-1438.)
[2] PAN Y, DENG Y, ZHANG Q, et al. Deterministic prediction of wavelet neural network model and its application[J]. Journal of Computer Applications,2013, 33(4):1001-1005.(潘玉民,邓永红,张全柱,等.小波神经网络模型的确定性预测及应用[J].计算机应用,2013,33(4):1001-1005.)
[3] LEUNG H F,LAM H F, LING S F, et al. Tuning of the structure and parameters of neural network using an improved genetic algorithm[C]// Proceedings of the 27th Annual Conference of IEEE Industrial Electronics Society. Piscataway: IEEE,2001:25-30.
[4] LEUNG H F, LAM H F, LING S H, et al. Tuning of the structure and parameters of a neural network using an improved genetic algorithm[J]. IEEE Transactions on Neural Network,2003,14(1):79-88.
[5] XIAO C, CAI Z, WANG Y, et al. Tuning of the structure and parameters of a neural network using a good points set evolutionary strategy[C]// Proceedings of the 9th International Conference for Young Computer Scientists. Piscataway: IEEE, 2008:1749-1754.
[6] SHU L, HO S Y, HO S J. Tuning the structure and parameters of a neural network using an orthogonal simulated annealing algorithm[C]// Proceedings of the 2009 Joint Conferences on Pervasive Computing. Piscataway: IEEE,2009:789-792.
[7] DU W, ZHOU R, ZHOU L, et al. Cooperative quantum differential evolution algorithm based method for optimizing neural networks[J].Journal of Tsinghua University: Science and Technology, 2012,52(3):331-335.(杜文莉,周仁,赵亮,等. 基于量子差分进化算法的神经网络优化方法[J].清华大学学报:自然科学版,2012,52(3):331-335.)
[8] TSAI J, CHOU J, LIU T. Tuning the structure and parameters of a neural network by using hybrid Taguchi-genetic algorithm[J]. IEEE Transactions on Neural Network, 2006,17(1):69-80.
[9] LI Y, JIAO L. Quantum-inspired immune clonal algorithm and its application[C]// Proceedings of the 2007 International Symposium on Intelligent Signal Processing and Communication Systems. Piscataway: IEEE, 2007:670-673.
[10] JIAO L, LI Y, GONG M,et al. Quantum-inspired immune clonal algorithm for global optimization[J]. IEEE Transactions on Systems, Man and Cybernetics, Part B: Cybernetics, 2008,38(5):1234-1253.
[11] ZHOU C, QIAN F. Improvement of quantum genetic algorithm and its application[J]. Journal of Computer Applications, 2008,28(2):286-288.(周传华,钱峰.改进量子遗传算法及其应用[J].计算机应用, 2008,28(2):286-288)
[12] ZHOU Q, JIANG S, ZHAO X, et al. Improved quantum genetic algorithm and its application in test data generation[J]. Journal of Computer Applications,2012,32(2):557-560.(周绮,姜淑娟,赵雪峰,等.改进的量子遗传算法及其在测试数据生成中的应用[J].计算机应用,2012,32(2):557-560.)
[13] QIAO J,LEE Y G, SCOTT D S, et al. Self-organizing radial basis function network for real-time approximation of continuous-time dynamical systems[J]. IEEE Transactions on Neural Networks,2008,19(3):460-474.
[14] HAN H, QIAO J, BO Y, et al. On structure design for RBF neural network based on information strength[J]. Acta Automatica Sinica, 2012,38(7):1083-1090.(韩红桂,乔俊飞,薄迎春,等.基于信息强度的RBF神经网络结构设计研究[J].自动化学报, 2012,38(7):1083-1090.)
[15] ZHAO L. Fuzzy identification and neural networks learning based on cooperative PSO algorithm[D]. Shanghai: Shanghai Jiao Tong University,2008.(赵亮.基于协同PSO算法的模糊辨识与神经网络学习[D].上海:上海交通大学,2008.)
关键词:回归神经网络;时间序列;数据预测;归一化方法
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)07-1508-03
在工业、气象、金融、地理、医药、交通、环境等领域,都存在大量需要进行分析与处理的数据信息,在对这些数据信息进行挖掘分析的过程中,为了能提高分析效能与提高分析性能,在进行数据分析初期阶段需要对原始数据进行预处理,将原始数据值通过某种算法转化为所需分布范围数据,即数据标准化处理。
利用神经网络模型来进时间序列数据趋势预测是一个已经开展了很长时间研究的热门话题,这方面也有了许多研究成果。Connor[1]等运用非线性自回归平均移动预测模型来进行时间序列问题鲁棒预测,cheung[2]等运用神经网络模型对未来的金融数据进行预测,Wang[3]等设计出一种基于回归神经网络的多维并行预测模型,文献[4] 采用基于自回归神经网络进行多维动态预测。在运用神经网络预测模型进行趋势预测时,需要对时间序列数据进行缺失值及数据标准化处理,下文运用多维动态预测模型对几种常见的数据归一化方法进行分析。
1 回归神经网络预测模型
图一为基于回归神经网络的多维动态预测模型[5]。网络模型分为输入层、分配层、隐层与输出层四层;隐层为具有延迟一步功能的反馈单元,作用函数为Sigmoid函数,输出层作用函数为线性累加函数。
2 数据归一化方法
数据归一化方法很多,用的较多的有线性归一化与非线性归一化两种方法。线性归一化方法主要运用极值或则均值通过线性运算公式对原始数据进行运算,将数据转换为[-1,1]区间内的数值;非线性归一化方法主要运用一些非线性行数对原始数据进行运算,将数据转换为一定分布范围数据。
从实验结果来看,初始数据的归一化处理方法对自回归神经网络预测模型的预测性能有明显的影响,线性归一化方法中最大值运算法要优于最大最小值法;非线性归一化方法中,对数运算法优于反正切运算法,总体来看,运用最大值运算法对初始数据进行归一化标准化处理适合于自回归神经网络预测模型。
4 结论
通过运用基于自回归神经网络的动态预测模型来分析几种常见数据归一化方法对模型预测性能的影响,结果表明,数据归一化方法的选择会对自回归神经网络预测模型性能有明显影响;对于自回归神经网络预测模型,运用最大值运算法来进行数据归一化处理要优于其它几种常见方法。
参考文献:
[1] Connor J T,Martin R. D,Atlas L E.Recurrent neural networks and robust time series prediction[J].In IEEE Trans. on neural networks,1994(5):240–254.
[2] Cheung Y M,Leung W M,Xu L.A RPCL-CLP architeeture for finaneial time series forecasting[C].Proceedings of IEEE International Conference on Neural Network,1995,2:829-832.
关键字 :神经网络,BP模型,预测
中图分类号:TP183文献标识码: A
1 引言
在系统建模、辨识和预测中,对于线性系统,在频域,传递函数矩阵可以很好地表达系统的黑箱式输入输出模型;在时域,Box-Jenkins方法、回归分析方法、ARMA模型等,通过各种参数估计方法也可以给出描述。对于非线性时间序列预测系统,双线性模型、门限自回归模型、ARCH模型都需要在对数据的内在规律知道不多的情况下对序列间关系进行假定。可以说传统的非线性系统预测,在理论研究和实际应用方面,都存在极大的困难。相比之下,神经网络可以在不了解输入或输出变量间关系的前提下完成非线性建模[4,6]。神经元、神经网络都有非线性、非局域性、非定常性、非凸性和混沌等特性,与各种预测方法有机结合具有很好的发展前景,也给预测系统带来了新的方向与突破。建模算法和预测系统的稳定性、动态性等研究成为当今热点问题。目前在系统建模与预测中,应用最多的是静态的多层前向神经网络,这主要是因为这种网络具有通过学习逼近任意非线性映射的能力。利用静态的多层前向神经网络建立系统的输入/输出模型,本质上就是基于网络逼近能力,通过学习获知系统差分方程中的非线性函数。但在实际应用中,需要建模和预测的多为非线性动态系统,利用静态的多层前向神经网络必须事先给定模型的阶次,即预先确定系统的模型,这一点非常难做到。近来,有关基于动态网络的建模和预测的研究,代表了神经网络建模和预测新的发展方向。
2 BP神经网络模型
BP网络是采用Widrow-Hoff学习算法和非线性可微转移函数的多层网络。典型的BP算法采用梯度下降法,也就是Widrow-Hoff算法。现在有许多基本的优化算法,例如变尺度算法和牛顿算法。如图1所示,BP神经网络包括以下单元:①处理单元(神经元)(图中用圆圈表示),即神经网络的基本组成部分。输入层的处理单元只是将输入值转入相邻的联接权重,隐层和输出层的处理单元将它们的输入值求和并根据转移函数计算输出值。②联接权重(图中如V,W)。它将神经网络中的处理单元联系起来,其值随各处理单元的联接程度而变化。③层。神经网络一般具有输入层x、隐层y和输出层o。④阈值。其值可为恒值或可变值,它可使网络能更自由地获取所要描述的函数关系。⑤转移函数F。它是将输入的数据转化为输出的处理单元,通常为非线性函数。
图1 BP神经网络结构
2.1 基本算法
BP算法主要包含4步,分为向前传播和向后传播两个阶段:
1)向前传播阶段
(1)从样本集中取一个样本(Xp,Yp),将Xp输入网络;
(2)计算相应的实际输出Op
在此阶段,信息从输入层经过逐级的变换,传送到输出层。这个过程也是网络在完成训练后正常运行时的执行过程。
2)向后传播阶段
(1)计算实际输出Op与相应的理想输出Yp的差;
(2)按极小化误差的方式调整权矩阵。
这两个阶段的工作受到精度要求的控制,在这里取 作为网络关于第p个样本的误差测度,而将网络关于整个样本集的误差测度定义为 。图2是基本BP算法的流程图。
图2 BP基本算法流程
2.2 动态BP神经网络预测算法
在经典的BP算法以及其他的训练算法中都有很多变量,这些训练算法可以确定一个ANN结构,它们只训练固定结构的ANN权值(包括联接权值和结点转换函数)。在自动设计ANN结构方面,也已有较多的尝试,比如构造性算法和剪枝算法。前一种是先随机化网络,然后在训练过程中有必要地增加新的层和结点;而剪枝法则正好相反。文献[2]中提出了演化神经网络的理念,并把EP算法与BP进行了组合演化;也有很多学者把遗传算法和BP进行结合,但这些算法都以时间复杂度以及空间复杂度的增加为代价。根据Kolmogorov定理,对于任意给定的L2型连续函数f: [ 0, 1 ]n Rm , f可以精确地用一个三层前向神经网络来实现,因而可以只考虑演化网络的权值和结点数而不影响演化结果。基于此,在BP原有算法的基础上,增加结点数演化因子,然后记录每层因子各异时演化出的结构,最后选取最优的因子及其网络结构,这样就可以避免由于增加或剪枝得到的局部最优。根据实验得知,不同的预测精度也影响网络层神经元的结点数,所以可根据要求动态地建立预测系统。具体步骤如下:
(1)将输入向量和目标向量进行归一化处理。
(2)读取输入向量、目标向量,记录输入维数m、输出层结点数n。
(3)当训练集确定之后,输入层结点数和输出层结点数随之而确定,首先遇到的一个十分重要而又困难的问题是如何优化隐层结点数和隐层数。实验表明,如果隐层结点数过少,网络不能具有必要的学习能力和信息处理能力。反之,若过多,不仅会大大增加网络结构的复杂性(这一点对硬件实现的网络尤其重要),网络在学习过程中更易陷入局部极小点,而且会使网络的学习速度变得很慢。隐层结点数的选择问题一直受到神经网络研究工作者的高度重视。Gorman指出隐层结点数s与模式数N的关系是:s=log2N;Kolmogorov定理表明,隐层结点数s=2n+1(n为输入层结点数);而根据文献[7]:s=sqrt(0.43mn+0.12nn+2.54m+0.77n+0.35)+0.51[7]。
(4)设置结点数演化因子a。为了快速建立网络,可以对其向量初始化,
并从小到大排序[4,7]。
(5)建立BP神经网络。隐含层传递函数用tansig,输出层用logsig,训练函数采用动态自适应BP算法,并制订停止准则:目标误差精度以及训练代数。
(6)初始化网络。
(7)训练网络直到满足停止判断准则。
(8)用测试向量对网络进行预测,并记录误差和逼近曲线,评估其网络的适应性。其适应度函数采取规则化均方误差函数。
(9)转到(5),选取下一个演化因子,动态增加隐含层结点数,直到最后得到最佳预测网络。
3 基于神经网络的预测原理[4]
3.1 正向建模
正向建模是指训练一个神经网络表达系统正向动态的过程,这一过程建立的神经网络模型称为正向模型,其结构如图3所示。其中,神经网络与待辨识的系统并联,两者的输出误差用做网络的训练信号。显然,这是一个典型的有导师学习问题,实际系统作为教师,向神经网络提供算法所需要的期望输出。当系统是被控对象或传统控制器时,神经网络多采用多层前向网络的形式,可直接选用BP网络或它的各种变形。而当系统为性能评价器时,则可选择再励学习算法,这时网络既可以采用具有全局逼近能力的网络(如多层感知器),也可选用具有局部逼近能力的网络(如小脑模型控制器等)。
图3 正向建模结构
3.2 逆向建模
建立动态系统的逆模型,在神经网络中起着关键作用,并且得到了广泛的应用。其中,比较简单的是直接逆建模法,也称为广义逆学习。其结构如图4所示,拟预报的系统输出作为网络的输入,网络输出与系统输入比较,相应的输入误差用于训练,因而网络将通过学习建立系统的逆模型。但是,如果所辨识的非线性系统是不可逆的,利用上述方法将得到一个不正确的逆模型。因此,在建立系统时,可逆性应该先有所保证。
图4 直接逆建模结构
4 应用实例分析
以我国西南某地震常发地区的地震资料作为样本来源,实现基于动态神经网络的地震预报。根据资料,提取出7个预报因子和实际发生的震级M作为输入和目标向量。预报因子为半年内M>=3的地震累计频度、半年内能量释放积累值、b值、异常地震群个数、地震条带个数、是否处于活动期内以及相关地震区地震级。在训练前,对数据进行归一化处理。由于输入样本为7维的输入向量,一般情况下输入层设7个神经元。根据实际情况,输出层神经元个数为1。隐含层神经元的传递函数为S型正切函数,输出层也可以动态选择传递函数。实例数据来自文献[4],将数据集分为训练集、测试集和确定集。表1中的7×7数组表示归一化后的训练向量,第一个7表示预报因子数,第二个7表示样本数。
表1 归一化后的训练向量
在不同神经元数情况下,对网络进行训练和仿真,得到如图5所示的一组预测误差曲线。其中,曲线A表示隐层结点数为6时的预测误差曲线,曲线B表示隐含层结点数为3时的预测误差曲线,曲线C表示隐含层结点数为5时的预测误差曲线,曲线D表示隐含层结点数为4时的预测误差曲线。将五种情况下的误差进行对比,曲线C表示的网络预测性能最好,其隐含层神经元数为5,图中曲线E表示的是隐含层结点数为15时的预测误差曲线(文献[4]中的最好结果)。同时也证明,在设计BP网络时,不能无限制地增加层神经元的个数。若过多,不仅会大大增加网络结构的复杂性,网络在学习过程中更易陷入局部极小点,而且会使网络的学习速度、预测速度变得很慢。
图5 不同神经元数预测误差对比曲线
5 结论
本文针对基本的BP神经网络,提出了可动态改变神经元数(与精度相关)的BP神经网络预测方法,可以根据实际情况建立预测系统。用此种方法可以建立最好的神经网络,不会有多余的神经元,也不会让网络在学习过程中过早陷于局部极小点。
参考文献
[1]潘正君,康立山,陈毓屏. 演化计算[M ]. 北京:清华大学出版社,1998
[2]飞思科技产品研发中心. 神经网络理论与实现. 北京:电子工业出版社,2005
[3]蔡晓芬,方建斌. 演化神经网络算法. 江汉大学学报,第33卷第3期,2005.9