• 贝叶斯优化核极限学习机KELM用于回归预测


    0、前言

            核极限学习机KELM因其强大学习能力和泛化性能在分类、回归预测问上备受青睐,本篇博文将仿真试验贝叶斯优化和极限学习机用于回归预测的效果,并与未优化的核极限学习机KELM、混合核极限学习机HKELM进行对比。

    1、基本原理

     1.1 KELM原理    

            KELM的原理本人在前期博客中有提到,请点击这里

            KELM是一种核方法,将原始数据映射到高维核空间后,样本间的点积运算直接基于核函数就能实现。因此样本间的关系与核函数的选取有直接因果关系。常用核函数有:lin_kernel、poly_kernel、RBF_kernel ,wav_kernel,选择不同的核函数,需要确定的核参数也不同。

           确定核函数后,核函数的计算结果直接受核参数设置的影响,采用优化算法确定最合适的参数。

    1.2、混合核极限学习机HKELM原理

         HKELM 顾名思义就是采用至少两个核函数而非单一核函数,目的是增强模型的泛化性能。因此在计算核矩阵时候需要计算两个核函数的值并进行加权求和。

    3、实现效果

    3.1 KELM回归预测实现

    选定核函数,设定核参数:

    1. %% 正则化系数与核参数进行设置
    2. kernel='RBF_kernel';%核函数类型1.RBF_kernel 2.lin_kernel 3 poly_kernel
    3. ker1=1;%RBF核的核参数
    4. lambda=10; %正则系数

     结果如下:

    均方根误差rmse = 0.0115
    平均绝对误差mae =0.0091

    3.2  HKELM回归预测实现

    选择两个核函数,并设置两个核函数各自对应的参数及权重占比

    1. %% 正则化系数与核参数进行设置
    2. kernel1='RBF_kernel';%核函数类型1.RBF_kernel 2.lin_kernel 3 poly_kernel
    3. kernel2='poly_kernel';%核函数类型1.RBF_kernel 2.lin_kernel 3 poly_kernel
    4. ker1=1;%RBF核的核参数
    5. ker2=[1 2];%多项式核的核参数
    6. lambda=10; %正则系数
    7. w=0.5;%混合核里面rbf的权重,多项式核就是1-w

         

      

     均方根误差
    rmse =
        0.0110
    平均绝对误差
    mae =
        0.0085

    3.3 贝叶斯优化核极限学习机回归预测实现

        选取核函数,确定待优化核参数的范围,如下图所示:

    1. % 核参数设置 详情看kernel_matrix
    2. if strcmp(kernel1,'lin_kernel')
    3. 1;%如果是线性核 则没有核参数
    4. elseif strcmp(kernel1,'RBF_kernel')
    5. optimVars=[optimVars;
    6. optimizableVariable('rbf',[1e-3 1e3]);];%如果是rbf核,则有一个核参数,范围是[1e-3 1e3]
    7. elseif strcmp(kernel1,'poly_kernel')
    8. optimVars=[optimVars;
    9. optimizableVariable('poly1',[1e-3 1e3]);
    10. optimizableVariable('poly2',[1 10],'Type','integer');];%如果是多项式核,则有2个核参数,且第二个是幂指数,取整
    11. elseif strcmp(kernel1,'wav_kernel')
    12. optimVars=[optimVars;
    13. optimizableVariable('wav1',[1e-3 1e3]);
    14. optimizableVariable('wav2',[1e-3 1e3]);
    15. optimizableVariable('wav3',[1e-3 1e3])];%小波核有3个核参数
    16. end

     

     

     均方根误差
    rmse =
        0.0106
    平均绝对误差
    mae =
        0.0082

    4、对比分析

     性能指标对比分析:

    KELM
    根均方差(RMSE):0.011518
    平均绝对误差(MAE):0.0090813
    平均相对百分误差(MAPE):1.8215%
    R平方确定系数(R2):0.95494

    HKELM
    根均方差(RMSE):0.010991
    平均绝对误差(MAE):0.0085007
    平均相对百分误差(MAPE):1.6877%
    R平方确定系数(R2):0.96041

    BYS-KELM
    根均方差(RMSE):0.01063
    平均绝对误差(MAE):0.008195
    平均相对百分误差(MAPE):1.6523%
    R平方确定系数(R2):0.96162

  • 相关阅读:
    Python之切片
    allure结合python生成测试报告教程
    使用 IPtables 进行 DDoS 保护
    java毕业设计单位职工房产管理Mybatis+系统+数据库+调试部署
    手机word怎么转pdf?这几种方法很简单
    ORACLE-SQL 关于树结构的查询
    模拟相册图片切换
    1-ubuntu基础——换源第一步
    【leetcode】最长斐波那契数列
    SkiaSharp 之 WPF 自绘 弹动小球(案例版)
  • 原文地址:https://blog.csdn.net/m0_61363749/article/details/126159515