APP下载

基于改进鲸鱼优化算法的GBDT回归预测模型

2022-05-30王彦琦朱刘涛袁和平

吉林大学学报(理学版) 2022年2期
关键词:决策树适应度鲸鱼

王彦琦, 张 强, 朱刘涛, 袁和平

(1. 东北石油大学 计算机与信息技术学院, 黑龙江 大庆 163318;2. 大庆油田有限责任公司 第五采油厂, 黑龙江 大庆 163513)

回归问题本质上是函数空间的优化问题[1], 目的是找到从输入变量到输出变量的映射关系, 求出输出变量关于输入变量的函数, 使损失函数的期望最优. 解决回归问题的常用机器学习算法有支持向量机[2]、 神经网络[3-4]、 决策树[5]等, 目前已应用到疾病预测、 股票预测、 电力负载[6]等领域. 这些单一的方法在针对某些特定的场景性能都较好, 但仍存在一定的局限性, 如泛化性较弱等, 集成学习方法在一定程度上改善了这类问题, 它通过训练多个弱学习器, 将弱学习器结合成强学习器, 从而降低误差, 提高模型泛化性[7], 目前已成为机器学习领域的研究热点之一.

梯度提升决策树(gradient boosting decision tree, GBDT)相比于支持向量机、 决策树等算法, 能充分考虑到每个弱学习器的权重, 同时具有更高的准确率和稳定性, 目前已广泛应用于各领域的预测研究中. 尽管GBDT的应用性在许多案例中都得到了肯定, 但其参数的选择对模型的精度影响较大, 会导致模型在回归预测中无法达到最优拟合效果. 廖璐等[8]利用交叉验证法确定模型的重要参数, 以列车的车站晚点偏差值为自变量建立列车晚点时长预测模型, 对比默认参数的模型预测结果, 调参后预测精度更高, 性能更优; Cui等[9]提出了一种新的网格搜索算法提高模型训练过程中参数优化的效率; 谷宇峰等[10]选用粒子群算法解决较多超参数导致训练模型难以最优化的问题, 构建了PSO-GBDT岩性识别模型, 解决了致密砂岩储集层岩性识别的问题.

为更好地解决GBDT算法参数难以选择的问题, 本文提出一种利用改进鲸鱼优化算法对其关键参数进行寻优的回归预测算法. 首先在鲸鱼优化算法的基础上利用混沌映射产生初始解, 引入惯性权重与差分进化算法中的变异交叉策略, 避免算法陷入局部最优. 然后利用改进的鲸鱼优化算法对GBDT关键参数进行寻优, 从而提高其对样本的拟合精度.

1 梯度提升决策树原理

梯度提升决策树模型[11]是一种基于集成学习“Boosting”思想的采用加法模型和前向分布算法相结合的迭代决策树模型, 它以CART(classification and regression tree)决策树作为弱学习器, 利用前一轮弱学习器的残差(损失函数的负梯度值)训练本轮弱学习器, 并对训练集的权值进行更新, 最后通过对每轮训练得到的弱学习器加权求和得到强学习器[12]. 算法基本步骤如下.

输入: 数据集D={(x1,y1),(x2,y2),…,(xn,yn)}, 最大迭代次数(基学习器个数)M, 损失函数L(x,f(x));

输出: 强学习器F(x);

1) 初始化, 估计一个使损失函数极小化的常数值c, 此时构建了只有一个根节点的树, 表示为

(1)

2) 开始迭代, 构建M棵树, 迭代次数m=1,2,…,M;

① 对样本i=1,2,…,n, 计算损失函数的负梯度并作为残差的估计值:

(2)

② 利用(xi,rmi)拟合第m棵回归树, 得到第m棵树的叶子节点区域为Rmj(j=1,2,…,Jm),J为第m棵回归树的叶子节点个数;

③ 对于叶子节点区域j=1,2,…,Jm, 计算每个叶子节点的最佳拟合值, 使得损失函数极小化为

(3)

其中yi为第j个叶子节点的样本xi观测值,fm-1(xi)为第j个叶子节点的样本xi在上一棵树上的预测值,cmj为第j个叶子节点的yi与fm-1(xi)之间的最小误差;

④ 更新本轮模型为

(4)

其中I为一个函数, 若样本xi在Rmj上, 则I=1; 否则I=0;

3) 进行迭代, 直到达到所预期的基学习器个数, 得到最终的强学习器为

(5)

模型性能的优劣与参数的选取密切相关, 合理的参数设定通常可带来一定程度的精度提升, 因此训练模型时还需兼顾参数选择. GBDT算法建模时涉及的参数主要有学习速率(learning_rate), 用于控制学习时参数更新的步长, 若步长过大, 则学习过程可能会发散, 反之, 又会导致模型进行太多次迭代, 学习时间大幅度增加; 最大迭代次数(n_estimators), 表示基学习器的个数, 与learning_rate相互作用, learning_rate较小时, 需增加迭代次数, 以便使训练误差收敛; 子采样(subsample), 用于控制参与拟合的数据集样本比例, 设置为小于1时可有效减小整体模型的方差, 防止过拟合; 决策树最大深度(max_depth), 内部节点再划分所需最小样本数(min_samples_split)和叶子节点所包含的最少样本数(min_samples_leaf), 均是用于控制每棵树的复杂度, 具体的取值取决于数据分布, 若取值过大, 则会使模型结构复杂, 易导致过拟合, 反之, 易导致欠拟合.

2 改进鲸鱼优化算法原理

鲸鱼优化算法(whale optimization algorithm, WOA)是通过模拟座头鲸的狩猎行为而提出的一种新型启发式优化算法[13], 通过包围捕食、 螺旋泡泡网攻击和搜索猎物对种群进行多次迭代优化, 最终确定当前问题的最优解. WOA算法原理简单易懂, 所需手动调节的参数较少, 计算模型简洁, 但仍存在局限性, 如早熟收敛、 种群多样性缺失等, 会导致算法在后期陷入局部最优[14]. 针对上述问题, 本文引入3种改进策略, 提出一种改进的鲸鱼优化算法(improved whale optimization algorithm, IWOA).

2.1 混沌映射初始化种群

WOA算法采用随机初始化种群的方式确定鲸鱼的初始位置, 虽然保证了初始位置的随机性, 但鲸鱼个体无法在整个搜索空间中均匀分布, 从而降低了解的质量. 混沌序列具有随机性和遍历性, 能弥补随机初始化导致的缺陷, 提高算法性能. 文献[15]研究表明, 相比于Logistic混沌映射模型, Tent混沌映射产生的序列均匀性更好, 产生的初始解质量更高, 所以本文采用Tent混沌映射初始化种群, 以保证种群初始位置质量, 其计算公式为

(6)

其中:t为映射次数;X(t)为第t次映射函数值, 取值为[0,1].

2.2 自适应惯性权重

通过分析泡泡网捕食和随机捕食时鲸鱼的位置更新公式表明, 鲸鱼的位置更新受全局最优解和随机解的影响.为增强全局搜索能力和局部搜索能力, 本文将惯性权重引入位置更新公式中, 这样不仅能受全局最优的引导, 还能在局部邻域与其他鲸鱼进行交流.新位置更新公式为

(7)

X(t+1)=Xrand(t)-wAD,

(8)

其中X(t+1)为当前解的位置向量,X*(t)为最优解的位置向量,t为当前迭代次数,A为系数向量,D为最优个体位置与当前个体位置之间的距离,p为[0,1]内的随机数,b为对数螺旋形状常数,l为[-1,1]内的随机数,Xrand(t)为当前群体中被随机选中的个体位置向量.

通过对各种优化算法[16-18]的改进研究分析可知: 较大的惯性权重有利于跳出局部最优, 进行全局寻优; 较小的惯性权重有利于局部寻优, 提高寻优精度.因此, 本文引入正弦变化的权重因子控制猎物目标对鲸鱼位置更新的影响, 使鲸鱼个体在前期具有较强的全局搜索能力, 在后期具有较强的局部开发能力, 其计算公式为

(9)

其中tmax为最大迭代次数.

2.3 交叉变异策略

经过上述位置更新后, 重新计算当前位置的适应度, 并与之前位置的适应度进行比较后择优进入下一次迭代, 未对鲸鱼位置进行干扰更新, 即存在当前最优个体位置并非全局最优个体位置的可能, 随着迭代次数的增加, 种群中所有个体都被错误引导, 进而使算法陷入局部最优.因此, 利用差分进化算法中的变异策略实现个体变异, 再将变异个体与目标个体进行交叉, 可增加种群多样性, 扩大搜索范围, 避免算法陷入局部最优.虽然变异交叉产生的新解在一定程度上增强了算法跳出局部最优的能力, 但仍不能保证产生的新解一定优于原解, 因此需要比较新旧位置的适应度大小, 判断是否采用新个体, 其计算公式如下:

其中V(t+1)为变异后的鲸鱼个体位置向量,Xr1(t),Xr2(t),Xr3(t)为种群随机个体,F为缩放因子,U(t+1)为交叉后的鲸鱼个体位置向量,r为[0,1]内的随机数; CR为交叉概率.

综上可知, IWOA的寻优流程如图1所示.

图1 IWOA寻优流程Fig.1 Flow chart of IWOA optimization

3 IWOA-GBDT回归预测模型

不同参数组合会使回归预测模型对于同一样本的拟合效果有差异, 因此仅根据经验很难设定最佳参数组合. 本文采用改进的鲸鱼优化算法对梯度提升决策树的关键参数进行寻优, 找到对当前样本拟合度最高的参数组合, 从而提高预测精度. 首先, 通过对比不同参数组合的寻优结果, 确定需要寻优的参数为n_estimators,learning_rate,subsample,max_depth,min_samples_split,min_samples_leaf; 其次, 利用IWOA对GBDT关键参数进行寻优, 确定最优参数组合; 最后, 构建IWOA-GBDT回归预测模型. 构建模型步骤如下:

1) 输入数据集, 划分训练样本数据和测试样本数据, 进行归一化处理;

2) 初始化算法参数, 设定种群规模N, 群体空间维度D, 最大迭代次数tmax, 对数螺旋形状常数b, 缩放因子F, 交叉因子C, 关键参数的取值范围等;

3) 根据式(6)产生初始种群, 根据适应度值函数均方误差(MSE)计算适应度大小, 记录种群中适应度值最优的个体及位置;

4) 当p<0.5时, 若|A|≥1, 则根据式(8)更新个体位置信息; 若|A|<1, 则根据式(7)更新个体位置信息, 计算个体适应度值;

5) 当p≥0.5时, 根据式(7)更新个体位置信息, 计算个体适应度值;

6) 根据式(10)~(12)对种群位置进行变异、 交叉、 选择操作;

7) 比较当前个体最优适应度值与群体最优适应度值, 更新群体最优个体和位置信息;

8) 判断算法是否满足结束条件, 若不满足, 则返回步骤4)进行下一次迭代; 否则, 输出最优解和最优个体位置;

9) 将得到的最优参数组合赋值给GBDT模型, 利用训练样本数据构建IWOA-GBDT回归预测模型, 并利用测试样本数据验证模型的精确性.

4 实 验

4.1 数据选取

本文采用UCI数据集作为标准测试数据集, 包括美国波士顿房价数据集、 鱼类毒性数据集、 翼型自噪声数据集、 联合循环电厂数据集、 混凝土抗压强度数据集和游艇水动力学数据集, 数据集统计信息列于表1.

表1 数据集统计信息

4.2 评价指标

采用均方误差(MSE)、 平均绝对误差(MAE)和R方值(R2)3个评价指标评价算法性能.MSE值越小, 表明模型效果越好, 其计算公式为

(13)

MAE值越小, 表明模型效果越好, 其计算公式为

(14)

R2值越接近1, 表明模型效果越好, 其计算公式为

(15)

4.3 实验对比分析

为验证IWOA-GBDT预测模型的有效性, 本文在相同实验环境条件下, 使用Python进行编程实验. 首先, 将本文选择的参数组合寻优所得结果与文献[19-21]选择的参数组合寻优所得结果进行对比; 其次, 将IWOA-GBDT预测模型与采用遗传算法(GA)、 飞蛾扑火优化算法(MFO)、 粒子群优化算法(PSO)、 量子粒子群优化算法(QPSO)、 标准鲸鱼优化算法(WOA)进行参数寻优的GBDT预测模型进行对比; 最后, 将IWOA-GBDT预测模型与决策树、 支持向量机、 Adaboost和GBDT回归预测模型进行对比分析, 进一步验证本文算法拟合效果的客观性. 算法的初始参数设置为: 最大迭代次数200次, 种群规模20, 对数螺旋形状常数b=1, 缩放因子F=0.6, 交叉因子CR=0.7. 采用MSE,MAE,R2值3个评价指标评价算法的性能. 不同参数组合寻优的对比实验结果列于表2. 由表2可见, 本文所选参数组合的预测结果大多数均优于文献[19-21]选择的参数组合所得结果. 这是因为本文考虑到单个决策树的不同分裂条件也会影响模型的预测准确度, 所以在参数选择时又选择了min_samples_split和min_samples_leaf进行优化, 控制了树结构的复杂度, 进一步验证了本文选择参数的可靠性.

表2 不同参数组合寻优的对比实验结果

不同优化算法寻优效果对比实验结果列于表3. 由表3可见, 不同优化算法对GBDT算法的预测性能影响显著, 采用GA,MFO,PSO,QPSO和WOA算法进行参数寻优的预测模型对于上述数据集的回归预测很难达到较好的拟合效果, 结果不理想. 相比于其他优化算法, 在多数情况下本文IWOA-GBDT回归预测模型的均方误差和平均绝对误差均为最小,R2系数均为最高, 这是因为本文首先在WOA的基础上利用Tent混沌映射初始化鲸鱼种群, 提高了种群初始位置的质量; 然后引入权重因子平衡算法在GBDT关键参数寻优过程中的全局和局部搜索能力; 最后利用变异交叉策略, 增加种群个体的多样性, 跳出局部最优, 确定使预测模型拟合效果达到最优的参数组合.

表3 不同优化算法寻优效果对比实验结果

不同回归预测模型对比实验结果列于表4. 由表4可见, 相比于传统的DTR算法、 SVR算法、 Adaboost算法以及GBDT算法, 本文的IWOA-GBDT算法使预测结果得到明显改善, 在不同数据集上各项评价指标均为最优. 与传统GBDT算法进行对比可见, 参数优化后的算法进行回归预测时误差波动更小, 准确率更高, 拟合效果更好. 因此, 本文的预测模型达到了预期效果, 并具有一定的可靠性和实用性.

表4 不同回归预测模型对比实验结果

综上所述, 本文针对梯度提升决策树参数难以选择的问题, 提出了一种基于改进鲸鱼优化算法的梯度提升决策树回归预测算法, 将改进的鲸鱼优化算法应用于关键参数寻优, 从而弥补了在训练过程中参数选择具有盲目性的缺陷, 提高了回归预测模型的预测精度, 通过与决策树、 支持向量机、 Adaboost和GBDT算法的对比仿真实验结果表明, 本文算法具有更高的预测精度和实用性.

猜你喜欢

决策树适应度鲸鱼
小鲸鱼
改进的自适应复制、交叉和突变遗传算法
迷途鲸鱼
鲸鱼
鲸鱼岛——拖延症
决策树和随机森林方法在管理决策中的应用
启发式搜索算法进行乐曲编辑的基本原理分析
决策树学习的剪枝方法
决策树多元分类模型预测森林植被覆盖
基于人群搜索算法的上市公司的Z—Score模型财务预警研究