基于蜣螂算法优化的核极限学习机(KELM)回归预测


文章目录

  • 基于蜣螂算法优化的核极限学习机(KELM)回归预测
  • 1.KELM理论基础
  • 2.回归问题数据处理
  • 4.基于蜣螂算法优化的KELM
  • 5.测试结果
  • 6.Matlab代码



摘要:本文利用蜣螂算法对核极限学习机(KELM)进行优化,并用于回归预测.

1.KELM理论基础

核极限学习机(Kernel Based Extreme Learning Machine,KELM)是基于极限学习机(Extreme Learning Machine,ELM)并结合核函数所提出的改进算法,KELM 能够在保留 ELM 优点的基础上提高模型的预测性能。

ELM 是一种单隐含层前馈神经网络,其学习目标函数F(x) 可用矩阵表示为:
基于蜣螂算法优化的核极限学习机(KELM)回归预测-附代码_算法优化
式中:基于蜣螂算法优化的核极限学习机(KELM)回归预测-附代码_回归_02 为输入向量,基于蜣螂算法优化的核极限学习机(KELM)回归预测-附代码_回归_03基于蜣螂算法优化的核极限学习机(KELM)回归预测-附代码_算法_04 为隐层节点输出,基于蜣螂算法优化的核极限学习机(KELM)回归预测-附代码_算法优化_05 为输出权重,基于蜣螂算法优化的核极限学习机(KELM)回归预测-附代码_算法_06

将网络训练变为线性系统求解的问题,基于蜣螂算法优化的核极限学习机(KELM)回归预测-附代码_回归_07根据 基于蜣螂算法优化的核极限学习机(KELM)回归预测-附代码_核函数_08 确定,其中,基于蜣螂算法优化的核极限学习机(KELM)回归预测-附代码_算法_09基于蜣螂算法优化的核极限学习机(KELM)回归预测-附代码_算法_04 的广义逆矩阵。为增强神经网络的稳定性,引入正则化系数 基于蜣螂算法优化的核极限学习机(KELM)回归预测-附代码_回归_11 和单位矩阵 基于蜣螂算法优化的核极限学习机(KELM)回归预测-附代码_算法优化_12,则输出权值的最小二乘解为
基于蜣螂算法优化的核极限学习机(KELM)回归预测-附代码_正则化_13
引入核函数到 ELM 中,核矩阵为:
基于蜣螂算法优化的核极限学习机(KELM)回归预测-附代码_算法_14
式中:基于蜣螂算法优化的核极限学习机(KELM)回归预测-附代码_算法优化_15基于蜣螂算法优化的核极限学习机(KELM)回归预测-附代码_算法优化_16 为试验输入向量,则可将式(9)表达为:
基于蜣螂算法优化的核极限学习机(KELM)回归预测-附代码_核函数_17
式中:基于蜣螂算法优化的核极限学习机(KELM)回归预测-附代码_算法_18 为给定训练样本,基于蜣螂算法优化的核极限学习机(KELM)回归预测-附代码_核函数_19 为样本数量.基于蜣螂算法优化的核极限学习机(KELM)回归预测-附代码_算法优化_20为核函数。

正则化系数 C 和核函数参数 S 需要人为设定,两者的设定将对 KELM的预测性能具有一定影响。

2.回归问题数据处理

采用随机法产生训练集和测试集,其中训练集包含 1 900 个样 本,测试集包含 100 个样本。为了减少变量差异较大对模型性能的影响,在建立模型之前先对数据进行归一化。选取核函数为rbf 高斯核函数,利用蜣螂算法对正则化系数 C 和核函数参数 S 选取进行优化。

4.基于蜣螂算法优化的KELM


由前文可知,本文利用蜣螂算法对正则化系数 C 和核函数参数 S 进行优化。适应度函数设计为训练集的误差的MSE:
基于蜣螂算法优化的核极限学习机(KELM)回归预测-附代码_算法优化_21

适应度函数选取训练后的MSE误差。MSE误差越小表明预测的数据与原始数据重合度越高。最终优化的输出为最佳正则化系数 C 和核函数参数 S。然后利用最佳正则化系数 C 和核函数参数 S训练后的网络对测试数据集进行测试。

5.测试结果

基于蜣螂算法优化的核极限学习机(KELM)回归预测-附代码_算法_22


基于蜣螂算法优化的核极限学习机(KELM)回归预测-附代码_正则化_23


基于蜣螂算法优化的核极限学习机(KELM)回归预测-附代码_正则化_24


基于蜣螂算法优化的核极限学习机(KELM)回归预测-附代码_算法_25

训练集DBO-KELM 的MSE:0.0050262
训练集KELM 的MSE:0.42921
测试集DBO-KELM 的MSE:0.0096058
测试集KELM 的MSE:0.5759

可以看出无论是在测试集和训练集上蜣螂优化的KELM结果均更优。

6.Matlab代码