Matlab 在中职学校网络流量预测中的应用

时间:2022-10-08 03:36:05

Matlab 在中职学校网络流量预测中的应用

摘要:近年来国家对中职教育越来越重视,不断加大对中职学校的投资力度,中职学校的办学条件得到有效改善,在中职学校各类投资建设中,信息化建设是构建现代职教体系的基础,中职学校的数字化校园网已经形成。但在现有的各类网络管理设备上,对中职学校的网络流量预测并未涉及,本文将通过matlab编程建立、训练中职学校的网络流量预测模型,然后通过测试样本对建立的预测模型进行测试验证。

关键词:预测;matlab;神经网络;nntool工具箱

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)11-0171-02

1 BP神经网络

BP神经网络是一种前馈神经网络(Back-Propagation Network),采用反向传播误差算法,其算法的核心思想是[1][2]:将输出误差反向传播给上一层,计算出上一层的误差,这个误差一层一层反向传递,根据各层计算的误差不断调整权系数、阈值,使神经网络误差达到期望值。

BP神经网络由输入层(input layer)、隐含层(hide layer)和输出层(output layer),其中隐含层可以有多层,每层神经元之间无连接,层与层神经元之间为全连接。通常一个三层的BP神经网络就可以完成任意的n维到m维的映射,可以逼近任何一个在闭区间内续函数[3]。

三层BP神经网络的结构如图1:

2 数据的采集与归一化

将学校AC上网行为审计设备生成的日志数据库文件导出,使用SQL语言对数据进行数据降维并进行汇总生成符合本次实验的数据样本。本次数据采集自2014年11月2日00:00:00至2014年11月29日23:59:59结束,时间粒度1小时,共计28天,数据结构为28×24的阵列。然后对生成的数据进行归一化处理,下图为未归一化和归一化后的部分数据。

3 使用nntool建立BP神经网络预测模型

获取的数据中用前21天共21*24个数据点作为输入样本,剩余7天共7*24个数据作为测试有样本。因为本次实验使用一天的数据流量来预测第二天的数据流量,因此输入层神经元个数为24,输出层神经元个数也为24,根据隐含层神经元个数计算公式,结合实际经验隐含层神经元个数确定为14个,即BP神经网络的网络结构为24-14-24。迭代次数设置为1000次,误差设为0.001,学习函数为trainlm,激活函数为logsig,具体实现代码如下,

……

p=mapminmax(p,0,1);

t=mapminmax(t,0,1);

net=newff(minmax(p),[14,24],{'logsig','logsig'},'trainlm');

net.trainParam.epochs=1000;

net.trainParam.goal=0.001;

net=train(net,p,t);

y=sim(net,p);

……

4 实验验证

通过对BP神经网络的训练,生成中职学校网络流量预测模型。使用测试样本中前两天的数据进行试验验证,网络流量预测效果如下图,

从图4、图5网络流量预测的对比实验发现,应用matlab训练生成的BP神经网络预测模型预测出的网络流量和实际网络流量基本一致,也就是说该预测模型完全可以用于中职学校网络流量的预测。显而易见,学校网络管理员可以使用预测而来网络流量数据提前对学校网络流量进行合理控制,同时也可以对各类应用控制策略进行适当配置,从而确保学校网络始终工作在最优的环境中。

参考文献:

[1] RUM ELHARTD E. Learning Representation by BP errors[J].Natrue(London), 1986,7:64-70.

[2] NG S C,CHEUNG C C,LEUNG SH. Fast Convergence for Back-Propagation Network with Magnified Gradient Function[J].IEEE,2003,9(3):1903-1908.

[3] 王燕妮,樊养余.改进BP神经网络的自适应预测算法[J].计算机工程与应用. 2010.46(17):23-26.

上一篇:大学生成功就业的学习资源平台设计与构建 下一篇:基于机械设计加工问题综述