基于SSA-BPNN 的农村精准扶贫成效评价
2022-02-13来阿龙
来阿龙
(陕西国际商贸学院,西安 712046)
精准扶贫是一项系统性、综合化的工程,为完善精准扶贫成效的评价机制,提高精准扶贫效率,进行农村精准扶贫成效评价具有重要的实践意义。精准扶贫成效评价的研究方法主要有模糊综合评价法、多元线性回归法和路径分析法等[1,2],评价指标主要涉及义务教育质量、农户对扶贫项目的透明度及参与度、医疗卫生及贫困与收入不平等的相关影响、扶贫开发政策对农户家庭禀赋特征等多方面。扶贫成效评价的研究内容主要集中于扶贫政策的综合评价,而从农户满意度视角的研究较少。
本研究针对反向传播神经网络(Back propagation neural network,BPNN)收敛速度慢和局部最优的问题,运用樽海鞘算法[3](Salp swarm algorithm,SSA)对BPNN 的权值和阈值进行自适应优化选择,建立基于农户满意度的SSA-BPNN 的农村精准扶贫成效评价模型。
1 精准扶贫成效评价指标
精准扶贫成效评价是一项系统而复杂的工作,扶贫成效评价的前提是建立精准扶贫成效评价指标体系。本研究在相关文献[4,5]的基础上,从生存环境维度、生活状况维度、精准扶贫政策效果和人文发展与社会保障4 个角度建立基于农户满意度的精准扶贫成效评价指标体系,具体如图1 所示。
图1 基于农户满意度的精准扶贫成效评价指标体系
2 研究方法
2.1 樽海鞘算法
2.1.1 初始化种群 在标准SSA 算法中,樽海鞘算法的种群规模为N,搜索空间维数为D,樽海鞘的位置为X=[Xn1,Xn2,…,XnD]T,n=1,2,…,N,食物位置为F=[F1,F2,…,FD]T,搜索空间上限为ub=[ub1,ub2,…,ubD]T,搜索空间下限为lb=[lb1,lb2,…,lbD]T,樽海鞘算法的种群随机初始化公式为[6]:
式中,XN×D为樽海鞘位置向量,向量维数为N×D;rand(N,D)为N×D维的随机向量。
在樽海鞘算法的种群中,领导者的状态为X1d;d=1,2,3,…,D为领导者的维数;追随者的状态Xm d;m=2,3,…,N为追随者的编号。
2.1.2 更新领导者位置 在标准SSA 算法中,领导者引领整个樽海鞘群体的移动,用来搜索食物,这一操作的主要目的是使领导者位置更新方式具有很强的随机性,领导者更新策略按公式(2)计算:
式中,X1d为引领者位置;ubd,lbd分别为引领者个体在d维上的搜索上限和搜索下限;c1、c2为随机数,处于[0,1];c3为搜索平衡因子,主要用于平衡全局搜索和局部搜索能力,增强引领者的随机性和多样性。收敛因子按公式(3)计算:式中,c1为收敛因子;t为樽海鞘算法的当前迭代次数;T为樽海鞘算法的最大迭代次数。
2.1.3 更新追随者位置 参考文献[7],初始位置、速度和加速度直接关系到追随者的位置,跟随者根据牛顿运动方程更新位置:
式中,a为加速度;v0为初始速度;ta为迭代步长;R为运动距离;Xm′d、Xm d分别为更新后和更新前第m个追随者第d维位置。
2.2 反向传播神经网络
BPNN 一般由输入层、隐含层和输出层组成,其网络结构如图2 所示[8]。
图2 BPNN 网络结构
图2 中,BPNN 的输入变量和输出变量分别为X=(X1,X2,…,Xn)和Y=(Y1,Y2,…,Ym),BPNN 网络训练过程可详细描述如下。
1)初始化BPNN 网络。由BPNN 的输入变量X=(X1,X2,…,Xn)和输出变量Y=(Y1,Y2,…,Ym)确定BPNN 的输入层节点数为n,隐含层节点数为l,输出层节点数为m;初始化输入层、隐含层和输出层神经元之间的连接权值wij和wjk;设定隐含层阈值为a和输出层阈值为b,学习速率η和隐含层激励函数f。
2)计算隐含层输出。根据BPNN 输入变量X,输入层与隐含层的连接权值wij和隐含层阈值a,计算隐含层输出H。
式中,f(x)的数学表达式为f(x) = 1/(1+e-x)。
3)计算输出层输出。根据BPNN 隐含层输出H,隐含层和输出层神经元之间的连接权值wjk和输出层阈值b,计算BPNN 的预测值O。
4)计算网络误差e。
5)更新权值。
6)更新阈值。
7)算法终止条件。若满足终止条件,则算法停止;否则,返回第二步。
2.3 数据来源
结合陕西省精准扶贫工作实际情况,运用层次分析法从生存环境维度、生活状况维度、精准扶贫政策效果和人文发展与社会保障4 个角度建立基于农户满意度的精准扶贫成效评价指标体系,包括房屋用料基础满意度、居住条件满意度、道路硬度满意度等16 个二级指标[9,10]。研究数据主要来源于经济报告中的宏观数据和调查问卷获得的微观数据以及政策文件,问卷调查的对象主要为扶贫对象,问卷调查内容主要集中于农户对扶贫政策的了解程度和满意程度,共发放了200 份问卷,最终回收有效问卷194份,有效问卷回收率为97%。农户对精准扶贫成效的满意程度分为不满意、一般、良好、比较满意和非常满意5 个等级。
2.4 评价指标
为了评估SSA-BPNN 进行精准扶贫的成效评价效果,选择准确率(Accuracy,ACC)作为评价指标。
式中,TP和TN分别为精准扶贫成效等级被正确分类的样本数和被分成其他等级的样本数;FP和FN分别为精准扶贫成效评价其他等级被错分的样本数和误报数量。
3 基于SSA-BPNN 的精准扶贫成效评价模型
3.1 目标函数
SSA 算法优化BPNN 的主要思路为利用SSA 算法优化BPNN 模型的初始网络权值和阈值,选择BPNN 训练误差作为SSA 算法的适应度函数,获取BPNN 最优初始网络权值和阈值的过程。针对BPNN 模型精度受其初始网络权值和阈值设定的影响,本研究运用SSA 算法自适应优化选择BPNN 模型的初始网络权值和阈值,SSA-BPNN 模型的适应度函数为[11,12]:
式中,n为训练样本集的数量;xobs(i)和xpre(i)分别为第i个样本的实际值和预测值;[wmin,wmax]和[bmin,bmax]分别为BPNN 模型的初始权值w、阈值b取值下限和上限。
3.2 算法步骤
基于SSA-BPNN 的精准扶贫成效评价流程如图3 所示。首先,10 折划分收集的精准扶贫成效评价数据集为训练数据和测试数据;之后,针对训练数据集运用SSA 优化BPNN 模型的权值和阈值建立基于SSA-BPNN 的精准扶贫成效评价模型;最后,将SSA寻优获取的最佳权值和阈值代入BPNN 模型进行测试,算法主要步骤如下。
图3 基于SSA-BPNN 的精准扶贫成效评价流程
1)读取精准扶贫成效评价数据,划分数据集为训练集和测试集并归一化处理。
2)确定BPNN 的网络结构。输入层神经元数量InNum、隐含层神经元数量HidNum和输出层神经元数量OutNum,并进行网络初始化。
3)对网络连接权重和阈值进行编码,编码长度S如下。
4)种群初始化。设定BPNN 模型的初始权值和阈值的取值上、下限、樽海鞘种群规模N、最大迭代次数T,按照公式(1)随机初始化樽海鞘种群。
5)针对训练数据,将训练数据代入BPNN 模型,按照公式(14)计算每个樽海鞘的适应度fobj。
6)选定食物、领导者和追随者。对每个樽海鞘的适应度进行排序,最优适应度所对应的樽海鞘位置就是樽海鞘当前食物位置,当前食物的适应度为ffood;剩下的N-1 个樽海鞘被分成追随者和领导者,N-1 个樽海鞘个体中,将适应度较差的(N-1)/2 个樽海鞘当作追随者,剩下(N-1)/2 个樽海鞘当作领导者。
7)按照公式(2)和公式(5)更新领导者和追随者的位置。
8)计算位置更新之后樽海鞘个体的适应度fs,如果fs>ffood,则适应度更优的樽海鞘位置替换当前食物的位置,被记录为新的樽海鞘食物位置。
9)重复第(5)至(8)步,当t>T时,输出最优食物位置,即最优食物位置对应的就是BPNN 模型的最优初始权值和阈值,将最优初始权值和阈值代入BPNN 模型进行精准扶贫成效评价。
4 试验与结果分析
为了验证SSA-BPNN 进行精准扶贫成效评价的有效性,将SSA-BPNN 与FA-BPNN、PSO-BPNN、GA-BPNN 和BPNN 进行对比。不同算法参数设置如下:①SSA 算法,种群规模N=20、最大迭代次数Tmax=50;②粒子群算法(Particle swarm optimization,PSO),种群规模N=20、最大迭代次数Tmax=50、惯性权重w=0.2、学习因子c1=c2=2;③遗传算法(Genetic algorithm,GA),种群规模N=20、最大迭代次数Tmax=50、交叉概率pc=0.7、变异概率pm=0.1;④萤火虫算法(Firefly algorithm,FA),种群规模N=20、最大迭代次数Tmax=50、初 始 吸 引 度β0=1、步 长 因 子α=0.5;⑤BPNN 模型,输入层神经元数量InNum=16、隐含层神经元数量HidNum=32 和输出层神经元数量OutNum=1。图4 为不同评价算法的收敛曲线对比。10 折交叉划分194 个样本数据,首先将16 个精准扶贫成效评价二级指标的得分数据作为BPNN 的输入向量,精准扶贫成效评价等级(不满意、一般、良好、比较满意和非常满意)作为BPNN 的输出向量,建立精准扶贫成效评价BPNN 模型,精准扶贫成效评价等级标准如表1 所示;其次,运用SSA 优化BPNN 模型的初始权值和阈值,建立SSA-BPNN 的精准扶贫成效评价模型。图5 为不同运行次数与ACC关系,表2 为不同算法ACC对比结果。
表1 精准扶贫成效评价等级标准
由 图4 可 知,与FA-BPNN、PSO-BPNN、GABPNN 相比,SSA-BPNN 具有更低的适应度以及更快的收敛速度。由图5 可知,独立运行10 次,SSABPNN 进行精准扶贫成效评价的准确率整体明显优于FA-BPNN、PSO-BPNN、GA-BPNN 和BPNN,其中BPNN 的准确率最低。
图4 收敛曲线对比
图5 不同运行次数与ACC 关系
由 表2 可 知,SSA-BPNN 的 准 确 率ACC为95.96%,较FA-BPNN、PSO-BPNN、GA-BPNN 和BPNN 分 别 提 高 了4.35、5.92、5.23 和16.23 个 百 分点。通过对比可知,SSA-BPNN 进行精准扶贫成效评价具有更高的准确率。
表2 不同算法ACC 对比结果
5 小结
本研究建立了基于农户满意度的樽海鞘算法优化反向传播神经网络的农村精准扶贫成效评价模型。针对反向传播神经网络易陷入局部最优和训练速度过慢的问题,运用樽海鞘算法优化选择反向传播神经网络的初始权值和阈值,建立基于SSABPNN 的农村精准扶贫成效评价模型。结果表明,与FA-BPNN、PSO-BPNN、GA-BPNN 和BPNN 相比,SSA-BPNN 具有更高的准确率,为精准扶贫成效评价提供了方法。精准扶贫成效评价是一项复杂和系统的工作,本研究仅从农户满意度的角度对精准扶贫成效进行了评价,不能全面评价精准扶贫成效,后续将构建多维度的精准扶贫成效评价指标体系并进行相应评价,提高模型的适用性和可靠性。