APP下载

改进的BP神经网络在分数线预测中的应用*

2018-07-06郭孝文梁向阳

西安工业大学学报 2018年3期
关键词:分数线个数神经网络

郭孝文,梁向阳

(西安工业大学 计算机科学与工程学院,西安 710021)

数据挖掘问题可以分为以下几类:分类、预测、同质分组和关联分组等,预测在其中占重要的地位,且与实际生活的关系紧密相连.目前大部分的预测研究集中在商品的销售量预测及股票预测上,一般带有盈利性,而针对分数线这类较为公益性的预测研究却很少,预测的方法也均为传统的预测方法.如何采用适当的模型预测分数线,进而为考生填报志愿提供科学的参考依据是一个问题.传统的预测模型主要有线性回归预测模型、灰度预测模型等[1],这些预测模型都是基于数据分布呈线性变化规律.然而在实际中,分数线的影响因素复杂,如学校名气(985学校分数线较高)、学校所在地(一线城市分数高)、考生民族(汉族分数高于少数民族)、考生所在省份、考试改革、考题难度变化、专业细类(王牌专业的分数线较高)、招生人数(侧面反映了扩招政策)和国家政策的改变等,传统的预测模型并不能较好地拟合原始数据,导致预测的结果精度较低.八十年代末,人工智能中的神经网络技术飞速发展[2],出现了基于人工神经网络等方法的预测模型.神经网络具有大规模并行、分布式存储和处理、自组织、自适应和自学能力,特别适合处理需要同时考虑许多因素和条件的、不精确和模糊的信息处理问题,是一种非线性预测能力强的智能学习算法[2-4],目前已成为各个领域的主要预测方法.当然神经网络算法也有其显著的不足,如容易陷入局部最优解,隐含层的节点个数难以确定,算法在后期的收敛速度明显偏慢等[4].近年来深度学习算法的突破又将学者们对神经网络的研究推向高潮[5-7].

文中将详细分析使用神经网络模型进行分数线预测的可行性,分析出对分数线影响最大的相关因素,并对文献[8]中提出的神经网络结构问题上的缺点进行优化,建立自适应节点个数的神经网络,分步骤详细介绍改进的BP(Back Propagation,反向传播)神经网络模型的建立过程,将建立的模型运用到西安工业大学高考录取分数线的预测上,并与传统的预测方法进行对比,给出预测模型的精度分析,从而为考生志愿的填报提供参考依据.

1 模型可行性依据

文中分析了收集的高考分数线数据,发现存在众多与之相关的影响因素,且分数线的分布规律呈现非线性,而神经网络模型适用于影响因素复杂,输入量大的非线性系统预测,因此从理论上来说使用神经网络进行分数线预测是可行的,进而需要详细分析分数线的影响因素.对于预测录取分数线问题并不意味着获得影响的因素越多越好,而是应该分析出主要影响因素,因此需要对收集到的因素进行降维处理,去除一些影响较小的因素.通过主成分提取法(Principal Component Analysis,PCA)筛选出相互独立的对分数线影响较大的因素,初步确定相关因素为学校名气、招生省份、招生专业、招生人数、去年分数以及总体考题难度系数.其中的学校名气、招生省份、招生专业以及招生人数对分数线的影响较为显著,经分析发现上一年的分数线对本年的分数线也有一定的影响(根据往年数据发现,没有特殊的情况出现时,分数线总是在一个界限上下浮动,一般情况下上一年若较高,则下一年就会较低)对于每年考题的难度,如果有相关的专家给出一定的量化数据,则能进一步提高神经网络模型的精确度.

图1 分数线数据分布图

其次通过筛选出某个学校在某一省份的招生分数线的数据来进行分析,进一步降低数据的维度,再推广到其他学校及其他地区中去,对预测的准确性会有进一步的提升,因此将学校名气、招生省份先作为筛选项从影响因素中除去,减少神经网络模型的输入,后续可以类推至其他学校分数线的预测中去.

文中通过观察往年的分数线数据,发现不同年份、不同专业、不同难度下的分数线数据分布呈非线性,部分数据如图1所示.文献[8]指出三层的神经网络能够以任意精度逼近任何的非线性连续函数,而该分布并没有较好的线性函数进行拟合,进而契合了之前所做的可行性分析及使用神经网络进行预测的条件,因此采用神经网络模型来进行拟合并对平均分数线进行预测是可行的.

2 网络的建立与改进

2.1 输入输出确定

文中收集的分数线数据包括年份、学校、招生专业、招生省份、招生人数、最高分、最低分、平均分,对于考生民族暂不考虑,对于一本、二本、三本及文科、理科的分数线,都直接反映在招生专业这一变量上(每种专业已经确定了其属于几本,属于文科或者理科),对于招生政策,都直接反映在招生人数这一变量上.因此在使用神经网络模型进行分数线预测时,将学校、招生省份做为筛选项,对输入变量个数进行降维,确定输入变量为年份、招生专业、招生人数,将平均分做为输出变量,对于最高分数线与最低分数线的预测与平均分数线的预测方法类似.

2.2 数据清洗及归一化

以西安工业大学2013年~2015年在陕西省的招生信息为数据进行清洗,筛选出年份、专业细类、平均分、招生人数.由于专业细类为非数值型数据,因此将专业细类量化为四个等级,王牌专业、优秀专业、一般专业、其他专业,分别对应数值4、3、2、1,部分清洗数据见表1.

其次,对输入的数据进行归一化处理,将各个输入参数的类型及范围统一,采用线性归一化方法处理,降低数据分布不均匀的情况,表达式为

(1)

归一化的结果见表2,即将数据归一化至范围-1到1,使各个参数对结果的影响更加均匀,进而加快神经网络的收敛速度.

表2 部分归一化数据表

2.3 分数线神经网络的改进

文中构造一个四层的前馈神经网络N来拟合该非线性数据,如图3所示,其中包括输入层、两层隐含层、输出层,过多的隐含层数会影响拟合的效果[9].

每一层的人工神经元模型如图3所示.

图2 三层神经网络模型

图3 人工神经元模型

其中xi为其他神经元传来的输入信号,wij表示从神经元j到神经元i的连接权值,θ表示截距或偏置,yi为输出信号,f为激励函数.

神经元i的输出与输入的关系表达式为

(2)

文献[9]指出每层节点个数N大致的计算公式为

(3)

其中m为输入节点个数,n为输出节点个数,θ为偏移量(范围一般为1~10).

该公式只能大致确定隐含层节点的个数,而具体的值需要在实验中手动修改,得出最佳的节点个数,且对于分数线数据,若输入输出的变量个数发生变化,该值也要发生变化,在推广到其他的学校时,该模型可能不实用,导致模型在重建时,节点个数需要重复繁琐地实验才能得到较为适用的模型.

因此文中建立了自适应的分数线神经网络,可以根据输入输出的变化自动调整隐含层节点的值,使整个网络的代价函数最小,具体的步骤为

① 对原始数据进行预处理,归一化输入输出.

② 由式(3)初始化节点数i为最小,初始化代价函数为最大.

③ 利用梯度下降算法求解神经网络,计算总体构建代价函数.

④ 比较两次的代价函数,记录下最小代价函数对应的节点数N.

⑤i=i+1,若i<式(3)最大值,跳至第③步.

⑥ 输出最后的节点个数N.

通过实验发现,在第一层采用8个节点,第二层采用10个节点,部分节点数对整体代价函数的影响见表3.

表3 节点数对整体代价函数的影响表

对于该原始数据分布,文中通过选定节点数后调整不同的激活函数发现,在第一层和第二层使用双曲正切S形激活函数或者对数S型转移激活函数,第三层使用线性函数拟合的效果最佳.部分不同激活函数的选择对整体代价函数的影响见表4.

表4 不同激活函数对整体代价函数的影响表

其中线性函数,字符串表示为purelin,表达式为

f(x)=x

(4)

对数S型转移函数sigmoid,字符串表示为logsig,表达式为

(5)

双曲正切S形函数tanh,字符串表示为tansig,表达式为

(6)

线性激活函数即一条过原点的直线,其余两种激活函数的图像如图5所示.

该神经网络的第一层神经元的输出可简化表示为

a1=f1(x*w1+b)

(7)

第二层的输出为

a2=f2(a1*w2+b)

(8)

输出层为

a3=f3(a2*w3+b)

(9)

其中x为输入,wi为权重,b为偏移量,ai为每一层的输出,fi为激励函数.

图4 两种激活函数模型

2.4学习算法

对于该神经网络,采用BP算法作为该分数线神经网络的学习算法来计算神经元之间的权重w的值,具体来讲,对于单个样例(x,y),构造其代价函数表达式为[10-12]

(10)

式中:h为网络输出;w为权重;b为偏移量;x为输入;y为实际输出;λ为学习步长.

最终的目标是使整体的代价函数达到最小,之后对目标函数使用诸如批量梯度下降法的最优化算法[13].因为J(W,b)是一个非凸函数,梯度下降法很可能会收敛到局部最优解如图6所示,不同的初始位置可能得到不同的最小值,文中采用梯度下降法得到了较可靠的结果.

梯度下降法中每一次迭代都将参数W和b更新为

(11)

(12)

进而可以使整体的代价函数达到最小.

图5 随机梯度下降算法示意图

3 实验分析

以近三年西安工业大学的数据为研究对象,图7为分数线预测值与真实值的对比图.其中X轴为样本序号,Y轴为分数线,对比可以发现预测值与真实值的曲线拟合效果突出,在120次的样本抽查中,77.5%(93个)的样本的误差在5分以下,22.5%(27个)样本的误差在10分左右.

图6 预测值与真实值对比图

进一步分析每一次预测的绝对误差,将改进的神经网络得出的预测值与传统方法的预测值进行对比,对比的结果见表5.发现该改进的神经网络分数线模型较传统模型相比,将预测的误差平均降低了5至10分,能为考生提供更加准确的分数信息,.若考题专家能给出较准确的当年考题难度等级的量化数据,进而可以更加准确的预测当年的分数线,在其他考试的分数线预测中值得进一步推广.

表5 部分误差对比表

4 结 论

文中分析了传统预测方法的优缺点,通过确定分数线的主要影响因素,建立了分数线神经网络预测模型,改进了神经网络自适应节点难以确定的问题并给出了最适合分数线模型的激活函数选择及每层的节点个数选择,使用反向传播算法作为最终的学习算法.以近三年西安工业大学的分数线数据为研究对象,对模型的精度进行验证,与传统分数线预测的相比精度提高了20%.

结果表明,改进的分数线神经网络模型能在5~10分的误差内,可以反应分数线变化趋势并进行预测,相较传统的预测方法相比,预测结果更准确,普遍将预测分差缩小了5分.推广到其他学校分数线的预测上,能为考生志愿的填报提供依据.

参考文献:

[1] 郑鹏.改进的BP神经网络模型在辽宁中部河流水质预测中的应用研究[J].吉林水利,2017,18(2):18.

ZHENG Peng.Application of an Improved BP Neural Network Model to the Prediction of River Water Quality in Middle Part of Liaoning Province [J].Jilin Water Resources,2017,18(2):18.(in Chinese)

[2] 刘哲思.基于灰色G(1,1)模型的经济学类考研英语分数线预测[J].现代营销,2017,7(3):176.

LIU Zhesi.GM(1,1) Model Based on Gray Economics Class One’s Deceased FatherGrind English Fractional Line Prediction[J].Modern Marketing,2017,7(3):176.(in Chinese)

[3] 郭宇,杨育.基于灰色粗糙集与BP神经网络的设备故障预测[J].计算机应用研究,2017,34(9):1.

GUO Yu,YANG Yu.Equipment Fault Prediction Based on Grey Rough Set and BPNeural Network[J].Computer Application Research,2017,34(9):1.

(in Chinese)

[4] 吴鹏.神经网络在卷烟销售量预测的研究应用[J].计算机仿真,2012,29(3):227.

WU Peng.Application of Neural Network in Cigarette Sales Forecasting[J].Computer Simulation,2012,29(3):227.(in Chinese)

[5] SILVER D.Mastering the Game of Go with Deep Neural Networks and Tree Search[J].Nature,2016(10):318

[6] 朱大奇,史慧.人工神经网络原理及应用[M].北京:科学出版社,2005.

ZHU Daqi,SHI Hui.Principle and Application of Artificial Neural Network[M].Beijing:Science Press,2005.(in Chinese)

[7] 陈相佐.基于评估模型的分数线预测及录取概率分析[J].价值工程,2016(33):177.

CHENG Xiangzuo.Analysis of the Grade Cut-off Point Predication and Admission Possibility Based on Evaluation Model[J].Value Engineering,2016(33):177.(in Chinese)

[8] 谢星峰.基于神经网络的卷烟销售预测模型的研究及应用[D].昆明:昆明理工大学,2005.

XIE Xingfeng. Research on and Application of Cigarette Sales Forecasting Model Based on Neural Network [D].Kunming:Kunming University of Science and Technology,2005.(in Chinese)

[9] MISHKIN D,MATAS J.All You Need Is a Good Init[J].Tetrahedron,2015,69(14):3013.

[10] HINTON G,DAHL GE,Mohamed A.Deep Neural Networks for Acoustic Modeling in Speech Recognition.IEEE Signal Processing Magazine[J],2012,29(6):82.

[11] MAX JADERBERG,WOJCIECH MARIAN CARNECKI.Decoupled Neural Interfaces Using Synthetic Gradients[J].Arxiv,2016,28(8):160.

[12] 赵云丰,刘万军.人工神经网络在ERP系统中的应用[J].计算机应用,2005,25(4):748.

ZHAO Yunfeng,LIU Wanjun. Application of Artificial Neural Network in ERP System[J].Computer Application,2005,25(4):748.

[13] 哈根.神经网络设计[M].北京:机械工业出版社,2005.

GEN H.Neural Network Design[M].Beijing: Mechanical Industry Press,2005.(in Chinese)

[14] 冯俊.基于神经网络的煤气流量测量[D].昆明:昆明理工大学,2005.

FENG Jun.Gas Flow Measurement Based on Neural Network[D].Kunming:Kunming University of Science and Technology,2005.(in Chinese)

[15] DECHPICHAI P,DAVY P.A Negative Log Likelihood Function-Based Nonlinear Neural Network Approach[J].Research Gate,2009,18(6):473.

猜你喜欢

分数线个数神经网络
怎样数出小正方体的个数
我省近两年普通高校专升本选拔考试第二批招生院校录取最低控制分数线对比
等腰三角形个数探索
神经网络抑制无线通信干扰探究
怎样数出小木块的个数
2017年-2018年专升本院校录取分数线
基于神经网络的中小学生情感分析
怎样数出小正方体的个数
基于神经网络的拉矫机控制模型建立
基于支持向量机回归和RBF神经网络的PID整定