基于双重扰动与核ELM融合的大学生贫困认定模型研究

2021-06-10 07:29郑建华刘双印贺超波
关键词:隐层贫困生分类器

郑建华,朱 蓉,刘双印,贺超波

(1.仲恺农业工程学院 信息科学与技术学院,广州 510225;2.广东省高校智慧农业工程技术研究中心,广州 510225)

高等教育肩负国家人才培养重任。我国各类高等教育2018年在学总规模达到3 833万人[1],其中贫困生约占20%,保证每个大学生不因贫困而辍学是实现人才兴国的重要前提。习近平总书记在“五个一批”的脱贫攻坚计划中特别强调“做好高校贫困大学生生活困难补助”[2],但作为开展资助工作前提的贫困认定却始终不尽如人意。大学生贫困认定需要经过个人申请、班级审批、院校认定等步骤,整个过程需要学生提交相关证明材料。目前的贫困认定过程存在以下问题:①部分真正贫困的学生因为自卑不愿意把自家隐私暴露,导致真贫困学生无法享受资助;②地方基层配合学生提供造假材料,导致伪贫困学生享受资助。由于以上现象的存在,广大学生对于贫困认定结果认可度不高[3]。2013年,习总书记进一步提出“精准扶贫”要求[4]:确保扶贫资源真正用在扶贫对象身上、真正用在贫困地区。因此,在精准扶贫视阈下,精准识别贫困大学生是帮扶大学生的首要关键。

判断贫困生涉及很多因素,目前大部分贫困认定研究主要围绕政策、理论、制度、实施方案等展开,在精准量化贫困认定方面的研究成果不多。大部分研究者综合学生的消费数据、学生家庭经济收入、学生家庭情况、学生助学贷款等多方面信息,运用决策树、模糊层次分析法、HMM进行分析[5-7]。以上方法虽取得了一定效果,但往往很难收集学生家庭收入、家庭人均居住面积、学生高档消费品等精确数据,而学生家庭是否属于低保、家庭成员病残健康情况又涉及隐私。同样,在分析方法上,贫困认定涉及因素众多,目前仍未有一种方法能较好地对贫困学生实现精准识别。

极限学习机(extreme learning machine,ELM)是Huang等[8]提出的一种高效单隐层前馈神经网络(SLFN)学习算法,具有训练速度快、泛化能力强的特点,目前已广泛应用于社交网络用户行为预测[9]、医 疗 诊 断[10]、电 力 预 测[11-12]、故 障 诊断[13]、室内定位[14]等领域。为此,在不摄取学生隐私信息和保障数据客观性的前提下,以学生一卡通消费数据、学生家庭住址、家庭学生数量这些客观数据为基础,采用特征分桶、交叉算法构建贫困认定模型特征,并针对贫困生数据集不平衡的特点,构建融合输入属性、数据样本双重扰动和核ELM的DP_KELM高校大学贫困认定模型,以期为校园精准扶贫提供辅助决策依据。

1 大学生贫困认定模型特征构建

1.1 贫困认定模型特征筛选

数据和特征决定了机器学习的上限,选择合适的特征是构建高校大学生贫困认定模型的关键。美国贫困大学生资助系统计算公式为:资助需求=入学成本-预期家庭贡献(需要考虑家庭年收入)。胡苗苗等[15]评价方法中考虑了家庭经济收入、家庭人员组成以及学生在校学习生活平均消费情况。虽然年家庭收入可以真实反映家庭贫困情况,但在我国尚未建立完善的收入管理系统时,这是一个动态且主观的数据,学生可以任意虚构。针对这种情况,田志磊等[16]考虑了非收入变量,如居住地与公共服务的可得性、住房条件等属性特征。宋美喆[7]则基于学生是否单亲、家庭致灾情况、家庭成员健康状况、家庭成员工作状况等信息,采用模糊综合评价方法对贫困大学生进行认定。显然,以上信息是影响家庭贫困与否判断的重要因素,但非收入数据很难量化。对此,广东省教育厅印发的《广东省家庭经济困难学生认定工作指标解释》明确了各种情况的量化分数,但实际上这样的信息涉及隐私,且自卑的学生通常不愿意提供真实数据。综上,筛选出能够反映学生家庭情况的客观、可量化特征是实现高校大学生贫困识别的关键。

近些年,随着高校一卡通系统的建立,通过一卡通可以采集到学生在学校就餐的次数、消费均值、消费总次数等数据。这些反映学生消费能力的信息可以成为反映学生家庭收入情况的指标。郑州大学、中国科学技术大学、电子科技大学、南京理工大学等高校基于学生消费数据自动生成贫困家庭学生建议名单,并进行资助[17]。本文中以一卡通数据为基础,采用统计方法,筛选了6个消费特征:总消费次数(TotalTimes)、消费总量(TotalAmount)、次消费均值(TranMean)、次消费均值中位数(TranMeanMedian)、月消费均值(TranMonth-Mean)、次最大消费金额(MaxAmoun)。

然而,仅仅依靠一卡通数据并不能精准识别贫困生。王泽原等[5]利用随机森林算法对一卡通消费数据进行处理,识别平均准确率为79%。实际上,一个学生的消费情况不仅与贫困情况有关,还与性别有关,比如女生次消费均值可能低于男生。另外,学生贫困情况还可能与学生生源地有关。为此,筛选了学生性别(Sex)、学生居住地(Address)2个特征,并采用家庭学生数量(Stu-Num)反映一个家庭支出压力,同时构建一个表示学生的消费能力的特征PerStu=TranMean/Stu-Num。显然,这4个特征可以反映学生的个体特征和家庭背景,且这4个特征是客观、稳定特征,数据容易获取,且不会涉及学生隐私。至此,共筛选出10个贫困认定模型的特征。

1.2 贫困认定模型特征预处理、分箱与交叉

1.2.1 特征预处理

在筛选出的贫困认定模型的10个特征中,Address是一个离散变量,本文中采用One-Hot编码对Address进行特征预处理,使得每个城市成为1个特征。例如,目前广东省有21个地级市、20个县级市,将Address数据预处理后形成了City_1,City_2,…,City_41共41个特征,不过现实中将根据实际数据集的情况决定有多少个City特征。

1.2.2 特征分箱与特征交叉

在选定的10个特征中,涉及消费信息的特征都是连续变量特征,有时特征数值稍有变动就会对模型的结果造成很大波动。为提高模型的稳定性、避免异常值的干扰,对TotalTimes、TranMean进行分箱处理,将每个特征分成6个均衡的区间。

机器学习算法对非线性规律的拟合能力往往决定了算法能达到的精度。为提高算法对特征非线性规律的拟合能力,采用特征交叉算法,将2个或多个输入特征相组合来表达特征的非线性特征规律。比如,同样每次平均消费8.5元,对于判断男生和女生是否为贫困生的结果可能是不一样的,因此可以构建“男生-8.5”,“女生-8.5”两个不同特征。本文中主要将Sex与分箱后的Tran-Mean,Sex与分箱后的TotalTimes分别进行特征交叉,最终形成24个新特征,具体特征交叉算法描述如表1所示。

表1 特征交叉算法

最后,删除总消费次数(TotalTimes)、消费均值(TranMean)、家庭住址(Address)3个已经处理后的特征。

2 DP_KELM贫困认定模型设计

2.1 KELM数学模型

极限学习机(extreme learning machine ELM)是一种高效的单隐层前馈神经网络学习算法,其学习过程无需对网络权重和偏置进行迭代调整。该算法具有训练速度快、泛化能力强的特点,同时具有SLFN的插值能力、通用逼近能力和分类能力。

给定有N个样本的训练数据集{xi,yi|xi∈RD,yi∈Rm,i=1,2,3,…,N},其中xi表示第i个含有D个特征的数据,具体表示为xi=[xi1,xi1,…,xiD]T。yi表示第i个数据对应的标记,具体表示为yi=[yi1,yi1,…,yim]T,式中m表示对应m个输出变量。则对于具有L个隐层节点、激活函数为g的极限学习机ELM模型可以描述为:

式中:wj=[wj1,wj2,…,wjD]表示第j个隐层节点与输入节点间的权值;bj表示第j个隐层神经元的偏置补偿;βj=[βj1,βj2,…,βjm]是第j个隐层单元的输出权值。

若设隐层输出用矩阵H表示:

则极限学习机可以表示为:

其中

根据文献证明[8],当激活函数g无限可微时,对于任意赋值wi∈Rn和bi∈R的情况,一定存在1个含有K(K≤D)个隐层神经元的SLFN使得。因此,隐层与输出层的权值β可以通过求解以下最优化问题得到:

当wi∈Rn和bi∈R已知,则H可以确定,H+T,故ELM分类器的输出函数可以表示为:

但在实际应用中,常会出现数据在原始空间是非线性可分的情况,因此将核方法引入ELM模型,通过核函数将输入空间低维的数据映射到高维,使得原空间非线性可分问题转为高维线性可分问题。故在ELM中引入核函数K(xi,xj),并构建核矩阵[18]ΩELM:

显然,ΩELM仅与输入数据有关,而通过核函数K(xi,xj)实现了高维空间的内积h(xi)·h(xj)操作。

这样,KELM(kernel ELM)模型的输出可以表示为:

2.2 双重扰动不平衡数据处理策略

大学生中贫困生的占比约为20%,这是典型的不平衡数据。由于传统的分类算法倾向多数类,导致这类算法并不适用不平衡数据场景。常见的2种处理不平衡数据的策略基于数据预处理和基于算法改进[19]。数据预处理又包括重采样和特征处理技术,基于算法改进主要包括代价敏感方法和集成学习方法。重采样技术包括上采样算法如SMOTE、ADASYN等,下采样算法则有随机下采样算法(RUS)。重采样技术虽然简单实用,但下采样会丢失多数类样本特征信息,而上采样又容易引入误差,使用受到限制。集成学习通过构建并结合多个基学习器完成学习任务,通常可以获得比单一学习器显著优越的泛化性能[20]。Easy Ensemble Classifier算法[21]是一种有效的不平衡数据分类方法,该算法融合了重采样技术与集成学习的优点,将多数类样本随机分成多个子集,每个子集分别与少数类合并,得到多个新的训练子集,并利用每个训练子集训练1个AdaBoost基分类器,最后集成所有基分类器,得到最终的集成分类器。

在集成学习中,提升各基分类器的独立性或多样性有利于提升最终学习效果。提升基分类器多样性的方式主要有对数据样本、输入属性、输出表示、算法参数进行扰动。数据样本扰动指为每个基分类器选择不同的训练样本,显然Easy Ensemble Classifier是利用数据样本扰动方式提升基分类器的多样性,使得最终的分类效果较好。训练样本中X一般由一组属性特征描述。输入属性扰动指为不同基分类器选择若干属性子集,然后基于每个属性子集训练基分类器。输入属性扰动不仅能生成多样性大的个体,还会因为属性数的减少而节省训练时间开销。

针对大学生贫困认定不平衡数据集,综合使用重采样技术和集成学习来处理平衡数据集,在过程中同时使用数据样本扰动和输入属性扰动两种扰动方式,旨在提升基分类器的多样性,从而提升分类效果。具体措施为:对每个基分类器,从多数类(非贫困生)样本中随机选择与少数类样本(贫困生)数量一致的样本,将这些多数类样本与全部少数类样本构成1个平衡训练子集;然后,在该训练子集中随机删除n个特征属性,从而构建每个基分类器的最终训练数据集。

2.3 DP_KELM算法模型

基于以上分析,将KELM作为集成学习的基分类器,采用数据样本和输入属性双重扰动方式构建每个基分类器的训练数据集,然后训练不同KELM基分类器。在测试阶段则采用投票方式获得最终的分类结果。由此构建DP_KELM算法模型,如图1所示。

图1 DP_KELM算法模型示意图

DP_KELM训练过程算法伪代码如表2所示。

表2 DP_KELM 算法训练过程伪代码

对测试样本x,输出结果为

3 实验设计与结果分析

3.1 实验数据集

以笔者所在院校的信息科学与技术学院全体学生2018年一卡通消费数据以及学生的基础信息数据为基础,以广东省教育厅的贫困生认定结果数据为标签数据。通过数据清洗和特征工程,共得到2 104名学生样本,其中非贫困1 708人,认定贫困396人,贫困与非贫困比例为1∶4.3。在特征方面,共取得City特征35个(部分城市无该学院学生),Sex与TransMean交叉特征12个,Sex与TotalTimes交叉特征12个,以及包括消费总量(TotalAmount)、次消费均值中位数(TranMeanMedian)、月消费均值(TranMonthMean)、次最大消费金额(MaxAmoun)、学生家庭学生数量(StuNum、PerStu)、性别Sex这7个特征,合计66个特征。

3.2 实验结果评价指标

贫困认定是典型的二分类问题,用混淆矩阵表示识别结果,如表3所示。分类问题一般常用查准率(Accuracy、Precision),召回率(Recall)、F1等指标衡量分类性能。其中用于衡量分类准确性的指标Accuracy定义为:

但在不平衡问题中Accuracy并不能真正反映用户需求。若有1 000个学生,10个贫困生,假如分类器A将10个贫困生都误分为非贫困生,此时A的Accuracy为0.99,但实际上1个贫困生也没有被发掘出来,即对贫困生的召回率为0。假如分类器B将30个人都判定为贫困生,但将10个真正的贫困生识别出来,此时B的Accuracy为0.97,其对贫困生的召回率为1,显然学校更愿意接受分类器B。因此,针对贫困认定问题,在保证Accuracy的基础上,提高贫困生的识别率非常关键。

表3 混淆矩阵中的行与列

G-mean是Kubat[22]提出的一种鲁棒性较好的不平衡数据分类方法的评价指标。该指标主要关注少数类和多数类的召回率情况。用该指标可以较好地综合评价贫困生和非贫困生的召回率。其定义如下:

但G-mean仅关注了召回率情况,而关注贫困和非贫困分类错误同样重要[23]。为了衡量召回率和准确率的综合情况,本文中采用对不平衡数据不敏感的AUC值,该值是受试者工作特征曲线ROC与坐标轴围成的区域面积,AUC越接近1,则表示分类器性能越好。

3.3 实验环境与方式

为了验证DP_KELM性能,将DP_KELM和对比算法应用于上述数据集,然后比较Accuracy、G-mean和AUC值。实验的操作系统为Windows7,CPU主频为3.6 GHz,内存为32G,编程语言为Python3.6,涉及包有Pandas、Numpy、Sklearn、Imblearn。

实验过程中,为取得公平的结果,对于所有数据集采用4折交叉验证方法;然后,执行5遍以上过程,取5遍执行结果的平均值作为该算法的结果值。

3.4 实验结果与分析

3.4.1 删除的特征数量对KP_KELM性能的影响

影响KP_KELM算法性能的参数主要有输入属性扰动过程中删除的特征数量n、KELM的隐层节点数量nh、KELM的核函数和激活函数。

实验中,统一采用高斯核函数作为KP_KELM的核函数,使用Mish函数[24]作为激活函数。相对于Sigmoid、ReLU这类激活函数,Mish是一个自正则非单调激活函数,函数公式为Mish=x*tanh(ln(1+ex))。该函数曲线上所有点几乎都是平滑的,无上界避免了由于封顶导致的饱和,也不似ReLU有硬零边界。文献[24]在75项测试中,与ReLU、SWish激活函数相比,Mish表现出更好的性能。

为了分析删除特征数量n对KP_KELM性能的影响,首先设定nh=110,实验结果如图2所示。图2中横坐标表示输入属性扰动删除的特征数量n。由图2可知:当nh一定时,随着删除特征的数量n在0~8变化时,G-mean值随n值增加而增加;当n在[9,25]区间时,G-mean值随n值增加呈现下降趋势,但下降速率非常小;当n>25时,G-mean随n值增加而快速下降。本文中主要是通过数据样本和输入属性双重扰动提高基分类器的多样性,从而提升整体分类性能。当n较小时,随着n从0至8增加,基分类器的多样性逐步增加,并因为删掉的特征较少,基分类器还能学习到足够的特征信息使得模型整个分类性能增加。当n从9增加到25过程中,虽然基分类器的多样性增加了,但由于删除的特征过程,使得每个基分类器学习到数据集的特征信息反而减少,导致基分类器出现误判可能增加,故整体性能反而下降。由于本文中数据集特征共66个,因此当n在[9,25]区间时,这种损失不是很大,故G-mean下降慢,甚至会出现一些G-mean上升随机波动现象(此时选择的都是最有代表性的特征),比如在n=14时,G-mean值也较高。但是当n大于25且逐步增加时,由于每个基分类器学习到的特征信息越来越少,使得分类器出现误判可能性急剧增加,导致整体G-mean下降迅速。

图2 删除特征数量对性能影响

3.4.2 KP_KELM算法中隐层节点变化对性能影响

统一采用高斯核函数,Mish激活函数,设定输入属性扰动删除特征数量为8,实验结果如图3所示。由图3可知:当隐层节点nh取值为100左右时,G-mean取得最高值;nh从0到100增加时,Gmean呈线性关系上升;nh=105时,G-mean值为0.778 6,而AUC值为0.783 6,以上两值均取得最高值。而当nh大于115时,G-mean随nh的增加而呈线性下降趋势。图3中的AUC指标也呈现出与G-mean类似的变化趋势。出现这种现象的原因是:当nh小于100时,隐层神经元节点过少,模型出现欠拟合情况,使得G-mean随神经元增加而增加;当nh大于115时,由于隐层神经元节点数目过多,造成模型的过拟合,在测试集上的结果反而变差。

图3 隐层节点数对性能影响

3.4.3 DP_KELM算法性能比较

设定nh=105,每次删除特征数量为n=8。

首先验证所提出的大学生贫困认定特征是否合理。为此,将DP_KELM与随机森林、支持向量机、ELM、KELM算法进行比较,结果如图4所示。结果表明:随机森林、支持向量机与KELM的Accuracy均高于0.82,KELM获得的最高值为0.823 2,该结果优于文献[5]中仅使用一卡通消费数据获得的0.79。这说明选定的特征具有更好的贫困生识别能力。图4同时表明KELM要优于ELM。

图4 不同算法性能值的直方图

另外,图4显示DP_KELM算法的Accuracy虽然没有超过0.8,但其G-mean值远高于其余算法,较次好算法ELM的G-mean提升了45.61%,而Accuracy则较最好算法KELM仅降低11.26%。G-mean反映了算法对贫困生和非贫困生的召回率,由于贫困认定样本集是一个非平衡数据集,传统算法倾向于将贫困认定为非贫困,虽然Accuracy较好,但实际上对贫困生的发掘不利,表现为Gmean非常低。而在综合性能AUC比较上,DP_KELM要显著优于其他4种算法。

为对比DP_KELM对不平衡数据集的处理能力,选择典型的上采样算法RUS,下采样算法SMOTE,以及近年提出的基于聚类上采样的算法Kmeans SMOTE[25],将其与KELM结合,构建完整的贫困认定算法。Easy Ensemble Classifier[21]算法与本文中框架有一定类似之处,故将其纳入比较,简称为Easy Ensemble。同时,本文中将双重扰动应用于随机森林算法,构建了DP_RF算法,最终实验结果如表4所示。

表4 不同算法性能值的实验结果

表4表明:采用双重扰动构建的DP_RF和DP_KELM在G-mean和AUC方面均优于其他算法,说明双重扰动有利于提高基分类器多样性,从而提高模型分类性能。与上采样、下采样算法,以及DP_RF相比,所提出的DP_KELM算法在Gmean值和AUC值方面均取得了最好成绩,说明所提出的算法在召回率和准确率方面均为最优结果,有利于精准确定贫困和非贫困大学生。

4 结论

当前高校大学生贫困认定存在需要材料多、材料涉及隐私等情况,容易出现“假贫困得到资助,真贫困不敢去申请资助”这种不公平的现状。针对以上问题,提出一种将双重扰动和核极限学习机KELM相融合的算法,称为DP_KELM。该算法以学生一卡通和简单客观的个人信息数据为基础,实现了贫困大学生智能识别。

1)设计了大学生贫困认定特征。以学生在校一卡通消费数据、学生性别、住址这些易于获得、客观、不涉及隐私的数据为基础,采用特征预处理、特征分箱、特征交叉的算法,设计了一套用于大学生贫困认定的特征参数。

2)设计了双重扰动和核极限学习机KELM相融合的贫困认定算法。该算法以核极限学习机为基分类器,同时针对大学生中贫困率为20%的特点,采用数据样本和输入属性双重扰动提升基分类器多样性,从而提高DP_KELM分类性能。

3)采用具体院校学生样本集,完成了DP_KELM实验验证。结果表明:与对比的9种算法相比,DP_KELM在G-mean和AUC方面均取得最好效果。

家庭收入是贫困大学生的重要评判标准,但如何通过一种易于获得、客观、不涉及隐私的数据反映出家庭收入,从而进一步提高算法性能是下一步研究内容。此外,在算法中不同激活函数、隐层节点数、每次删减的特征数量都会影响算法最终结果,因此未来考虑采用启发式演化算法实现对以上参数的智能搜索,进一步提高算法对贫困大学生的识别准确性。

猜你喜欢
隐层贫困生分类器
基于RTD可编程逻辑门的n变量函数实现算法
基于BP神经网络学习算法的图像压缩技术研究
基于RDPSO结构优化的三隐层BP神经网络水质预测模型及应用
代价敏感正则化有限记忆多隐层在线序列极限学习机及图像识别应用
基于实例的强分类器快速集成方法
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
“贫困生班主任”李金林
一种基于置换的组合分类器剪枝方法
十年筹资千万元 资助八千贫困生