基于麻雀算法优化的核极限学习机(KELM)分类算法

文章目录

  • 基于麻雀算法优化的核极限学习机(KELM)分类算法
    • 1.KELM理论基础
    • 2.分类问题
    • 3.基于麻雀搜索算法优化的KELM
    • 4.测试结果
    • 5.Matlab代码

摘要:本文利用麻雀搜索算法对核极限学习机(KELM)进行优化,并用于分类

1.KELM理论基础

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

ELM 是一种单隐含层前馈神经网络,其学习目标函数F(x) 可用矩阵表示为:
F(x)=h(x)×β=H×β=L(9)F(x)=h(x)\times \beta=H\times\beta=L \tag{9} F(x)=h(x)×β=H×β=L(9)
式中:xxx 为输入向量,h(x)h(x)h(x)、HHH 为隐层节点输出,βββ 为输出权重,LLL 为期望输出。

将网络训练变为线性系统求解的问题,β\betaβ根据 β=H∗⋅Lβ=H * ·Lβ=H∗⋅L 确定,其中,H∗H^*H∗ 为 HHH 的广义逆矩阵。为增强神经网络的稳定性,引入正则化系数 CCC 和单位矩阵 III,则输出权值的最小二乘解为
β=HT(HHT+Ic)−1L(10)\beta = H^T(HH^T+\frac{I}{c})^{-1}L\tag{10} β=HT(HHT+cI​)−1L(10)
引入核函数到 ELM 中,核矩阵为:
ΩELM=HHT=h(xi)h(xj)=K(xi,xj)(11)\Omega_{ELM}=HH^T=h(x_i)h(x_j)=K(x_i,x_j)\tag{11} ΩELM​=HHT=h(xi​)h(xj​)=K(xi​,xj​)(11)
式中:xix_ixi​ ,xjx_jxj​ 为试验输入向量,则可将式(9)表达为:
F(x)=[K(x,x1);...;K(x,xn)](IC+ΩELM)−1L(12)F(x)=[K(x,x_1);...;K(x,x_n)](\frac{I}{C}+\Omega_{ELM})^{-1}L \tag{12} F(x)=[K(x,x1​);...;K(x,xn​)](CI​+ΩELM​)−1L(12)
式中:(x1,x2,…,xn)(x_1 , x_2 , …, x_n )(x1​,x2​,…,xn​) 为给定训练样本,nnn 为样本数量.K()K()K()为核函数。

2.分类问题

本文对乳腺肿瘤数据进行分类。采用随机法产生训练集和测试集,其中训练集包含 500 个样本,测试集包含 69 个样本 。

3.基于麻雀搜索算法优化的KELM

麻雀搜索算法的具体原理参考博客:https://blog.csdn.net/u011835903/article/details/108830958。

由前文可知,本文利用麻雀搜索算法对正则化系数 C 和核函数参数 S 进行优化。适应度函数设计为训练集与测试集的错误率。
fitness=argmin(TrainErrorRate+TestErrorRate)。fitness = argmin(TrainErrorRate + TestErrorRate)。 fitness=argmin(TrainErrorRate+TestErrorRate)。

4.测试结果

训练集结果如下图所示

测试集结果如下图所示:

训练集SSA-KELM正确率:1
测试集SSA-KELM正确率:0.95652
病例总数:569 良性:357 恶性:212
训练集病例总数:500 良性:300 恶性:200
测试集病例总数:69 良性:57 恶性:12
良性乳腺肿瘤确诊:55 误诊:2 确诊率p1=96.4912%
恶性乳腺肿瘤确诊:11 误诊:1 确诊率p2=91.6667%

训练集KELM正确率:1
测试集KELM正确率:0.89855
病例总数:569 良性:357 恶性:212
训练集病例总数:500 良性:300 恶性:200
测试集病例总数:69 良性:57 恶性:12
良性乳腺肿瘤确诊:55 误诊:2 确诊率p1=96.4912%
恶性乳腺肿瘤确诊:7 误诊:5 确诊率p2=58.3333%

从结果可以看出,SSA-KELM明显优于原始KELM算法

5.Matlab代码

[基于麻雀算法优化的核极限学习机(KELM)分类算法]
[基于粒子群算法优化的核极限学习机(KELM)分类算法]
[基于遗传算法优化的核极限学习机(KELM)分类算法]
个人资料介绍

基于麻雀算法优化的核极限学习机(KELM)分类算法 - 附代码相关推荐

  1. 灰狼算法(GWO)优化混合核极限学习机(HKELM)分类预测,多输入单输出模型,GWO-HKELM分类预测。

    %采用混合核函数类型:RBF核函数和poly核函数 function omega = kernel_matrix(Xtrain,kernel_type1, kernel_type2,kernel_pa ...

  2. 基于哈里斯鹰算法的极限学习机(ELM)分类算法-附代码

    基于哈里斯鹰算法的极限学习机(ELM)分类算法 文章目录 基于哈里斯鹰算法的极限学习机(ELM)分类算法 1.极限学习机原理概述 2.ELM学习算法 3.分类问题 4.基于哈里斯鹰算法优化的ELM 5 ...

  3. 基于粒子群算法的极限学习机(ELM)分类算法-附代码

    基于粒子群算法的极限学习机(ELM)分类算法 文章目录 基于粒子群算法的极限学习机(ELM)分类算法 1.极限学习机原理概述 2.ELM学习算法 3.分类问题 4.基于粒子群算法优化的ELM 5.测试 ...

  4. 基于核极限学习机KELM、在线顺序极限学习机OS-ELM、在线贯序核极限学习机OSKELM

    基于核极限学习机KELM.在线顺序极限学习机OS-ELM.在线贯序核极限学习机OSKELM.遗忘因子的在线贯列核极限学习F-OSKELM和自适应遗忘因子的在线贯列核极限学习AF-OSKELM数据预测, ...

  5. 基于头脑风暴优化的BP神经网络(预测应用) - 附代码

    基于头脑风暴优化的BP神经网络(预测应用) - 附代码 文章目录 基于头脑风暴优化的BP神经网络(预测应用) - 附代码 1.数据介绍 3.BSO优化BP神经网络 3.1 BP神经网络参数设置 3.2 ...

  6. 【回归预测-DELM】基于多元宇宙优化算法改进深度学习极限学习机实现数据回归预测附matlab代码

    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.

  7. 基于蜜蜂优化算法优化的卷积神经网络(CNN)图像分类——附代码

    目录 摘要: 1.蜜蜂优化算法: 2. 卷积神经网络(CNN) 输入层 隐含层 输出层 ​3. 本文Matlab代码:​ 摘要: 本文通过蜜蜂优化算法,优化了卷积神经网络(CNN)中的超参数,主要是网 ...

  8. 基于粒子群优化的灰色预测方法(Matlab)——附代码

    目录 摘要: 研究背景: GM(1,1)模型 基于PSO的灰色预测算法 运行结果: 本文Matlab代码分享 摘要: 本文对灰色预测算法进行了研究.在GM(1,1)模型中,发展系数a和灰色作用量u是两 ...

  9. ​【预测模型】基于粒子群算法优化核极限学习机实现数据预测matlab代码

    1 简介 煤与瓦斯突出是煤矿煤炭生产过程中面临的主要动力灾害之一.研究表明,在有发生煤与瓦斯突出的矿井中,煤层均发育一定程度的构造煤,且构造煤厚度越大,瓦斯突出的危险性越严重.因此,如果能够准确预测出 ...

  10. 【DELM回归预测】基于matlab多元宇宙优化算法改进深度学习极限学习机数据回归预测【含Matlab源码 2230期】

    ⛄一.多元宇宙优化算法 MVO是Seyedali Mirjalili受到多元宇宙理论的启发提出来的元启发式优化算法.主要根据多元宇宙理论的3个主要概念-白洞.黑洞和虫洞,来建立数学模型. MVO算法中 ...

最新文章

  1. Java培训完可以应用在什么领域
  2. python使用matplotlib可视化阶梯图、使用step函数可视化阶梯图、可视化时间序列数据的波动周期和规律
  3. Django之BBS博客项目
  4. 一个c加一个g是什么牌子_一个G的流量60块钱,为什么会这么贵?
  5. 企业开发与社交开发相辅相成
  6. iOS使用多线程提高数据并发访问 之七
  7. ARKit从入门到精通(3)-ARKit自定义实现
  8. Python机器学习算法 — 逻辑回归(Logistic Regression)
  9. python服务器查看文件更改记录,Python记录到同一文件,不同用户
  10. C++ vector容器 find erase的使用:查找并删除指定元素
  11. 2014 网选 上海赛区 hdu 5047 Sawtooth
  12. WebApi的调用-3.Basic验证
  13. plsql轻量版触发器
  14. python sqlserver 列名_报表自动化,三流用Excel,二流用Python,一流用它
  15. 【Level 08】U07 Mixed Feelings L2 Let's go shopping
  16. Android 功耗( 21 )---MTK 低功耗1
  17. 07.配置日志的存储路径、设置日志的格式
  18. lightbox的一个ajax效果
  19. 函数头模板_Python新手爬虫,爬取PPT模板
  20. Devexpress GridView 提交焦点列

热门文章

  1. 每天一道剑指offer-重建二叉树
  2. java 函数委托_Java反射实现.NET委托
  3. windows 安装metis_Win10 VS2013 suitesparse-metis-for-windows 1.3.1
  4. faster rcnn第二阶段loss出现nan_深度学习训练Loss异常Debug思路
  5. springmvc获取原生servletAPI
  6. 按名次对数据进行排序cpp_面试中的排序算法(Part 3)
  7. ssm提交post_SSM中get和post乱码笔记
  8. Vue:进入组件显示蒙版及文字,离开隐藏
  9. Cesium:获取某个entity的位置属性 Cartesian3
  10. 从信号转换角度研究血压(波形)预测的相关论文