首页 > 编程语言 >基于黏菌算法的极限学习机(ELM)分类算法-附代码

基于黏菌算法的极限学习机(ELM)分类算法-附代码

时间:2023-05-04 12:33:48浏览次数:40  
标签:黏菌 ELM 学习机 算法 权值 隐含 神经元


基于黏菌算法的极限学习机(ELM)分类算法


文章目录

  • 基于黏菌算法的极限学习机(ELM)分类算法
  • 1.极限学习机原理概述
  • 2.ELM学习算法
  • 3.分类问题
  • 4.基于黏菌算法优化的ELM
  • 5.测试结果
  • 6.参考文献
  • 7.Matlab代码



摘要:本文利用黏菌算法对极限学习机进行优化,并用于分类问题

1.极限学习机原理概述

典型的单隐含层前馈神经网络结构如图1 所示,由输入层、隐含层和输出层组成,输 入层与隐含层、隐含层与输出层神经元间全连接。其中,输入层有 n 个神经元,对应 n 个输入变量, 隐含层有 l个神经元;输出层有 m 个神经元 ,对应 m 个输出变量 。 为不失一般性,设输 入层与隐含层间的连接权值 w 为:
基于黏菌算法的极限学习机(ELM)分类算法-附代码_算法
其中,基于黏菌算法的极限学习机(ELM)分类算法-附代码_分类算法_02表示输入层第基于黏菌算法的极限学习机(ELM)分类算法-附代码_分类_03个神经元与隐含层第基于黏菌算法的极限学习机(ELM)分类算法-附代码_机器学习_04个神经元间的连接权值。

基于黏菌算法的极限学习机(ELM)分类算法-附代码_机器学习_05

设隐含层与输出层间的连接权值 , 为基于黏菌算法的极限学习机(ELM)分类算法-附代码_权值_06:
基于黏菌算法的极限学习机(ELM)分类算法-附代码_算法_07
其中,自基于黏菌算法的极限学习机(ELM)分类算法-附代码_权值_08表示隐含层第 j 个神经元与输出层第 k个神经元间的连接权值。

设隐含层神经元的阈值值 b 为:
基于黏菌算法的极限学习机(ELM)分类算法-附代码_权值_09
设具有 Q 个样本的训练集输入矩阵 X 和输出矩阵 Y 分别为
基于黏菌算法的极限学习机(ELM)分类算法-附代码_分类算法_10

KaTeX parse error: Undefined control sequence: \matrix at position 11: Y =\left[\̲m̲a̲t̲r̲i̲x̲{y_{11},y_{12},…

设隐含层神经元的激活函数为 g(x),则由图1 可得, 网络的输出 T 为:
基于黏菌算法的极限学习机(ELM)分类算法-附代码_分类算法_11
式(6)可表示为:
基于黏菌算法的极限学习机(ELM)分类算法-附代码_权值_12
其中, T’为矩阵 T 的转置; H 称为神经网络的隐含层输出矩阵 , 具体形式如下 :
基于黏菌算法的极限学习机(ELM)分类算法-附代码_分类算法_13

2.ELM学习算法

由前文分析可知,ELM在训练之前可以随机产生 w 和 b , 只需确定隐含层神经元个数及隐含层和神经元的激活函数(无限可微) , 即可计算出基于黏菌算法的极限学习机(ELM)分类算法-附代码_权值_06

(1)确定隐含层神经元个数,随机设定输入层与隐含层间的连接权值 w 和隐含层神经元的偏置 b ;

(2) 选择一个无限可微的函数作为隐含层神经元的激活函数,进而计算隐含层输出矩 阵 H ;

(3)计算输出层权值:基于黏菌算法的极限学习机(ELM)分类算法-附代码_机器学习_15

值得一提的是,相关研究结果表明,在 ELM 中不仅许多非线性激活函数都可以使用(如 S 型函数、正弦函数和复合函数等),还可以使用不可微函数,甚至可以使用不连续的函数作为激 活函数。

3.分类问题

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

4.基于黏菌算法优化的ELM

由前文可知,ELM的初始权值和阈值都是随机产生。每次产生的初始权值和阈值具有满目性。本文利用黏菌算法对初始权值和阈值进行优化。适应度函数设计为训练集的错误率与测试集的错误率的和,以期望使训练得到的网络在测试集和训练集上均有较好的结果:
基于黏菌算法的极限学习机(ELM)分类算法-附代码_分类算法_16

5.测试结果

黏菌算法相关参数如下:

%训练数据相关尺寸
R = size(Pn_train,1);
S = size(Tn_train,1);
N = 20;%隐含层个数
%% 定义黏菌优化参数
pop=20; %种群数量
Max_iteration=50; %  设定最大迭代次数
dim = N*R + N*S;%维度,即权值与阈值的个数
lb = [-1.*ones(1,N*R),zeros(1,N*S)];%下边界
ub = [ones(1,N*R),ones(1,N*S)];%上边界

将经过黏菌优化后的SSA-ELM与基础ELM进行对比。

预测结果如下图

黏菌收敛曲线如下:

基于黏菌算法的极限学习机(ELM)分类算法-附代码_分类算法_17

数据结果如下:

黏菌算法优化ELM结果展示:----------------
训练集正确率Accuracy = 98%(490/500)
测试集正确率Accuracy = 98.5507%(68/69)
病例总数:569 良性:357 恶性:212
训练集病例总数:500 良性:311 恶性:189
测试集病例总数:69 良性:46 恶性:23
良性乳腺肿瘤确诊:45 误诊:1 确诊率p1=97.8261%
恶性乳腺肿瘤确诊:23 误诊:0 确诊率p2=100%
传统ELM结果展示:----------------
训练集正确率Accuracy = 88.6%(443/500)
测试集正确率Accuracy = 85.5072%(59/69)
病例总数:569 良性:357 恶性:212
训练集病例总数:500 良性:311 恶性:189
测试集病例总数:69 良性:46 恶性:23
良性乳腺肿瘤确诊:44 误诊:2 确诊率p1=95.6522%
恶性乳腺肿瘤确诊:15 误诊:8 确诊率p2=65.2174%

从上述数据可以看出,黏菌-ELM训练得到的网络,无论是在测试集和训练集上的正确率均高于基础ELM训练得到的网络。黏菌-ELM具有较好的性能。

6.参考文献

书籍《MATLAB神经网络43个案例分析》

7.Matlab代码


标签:黏菌,ELM,学习机,算法,权值,隐含,神经元
From: https://blog.51cto.com/u_16095618/6242596

相关文章

  • 纯跟踪控制 路径跟踪算法 carsim simulink联合仿真
    纯跟踪控制路径跟踪算法carsimsimulink联合仿真ID:6615644793475964......
  • 基于蜣螂算法改进的LSTM预测算法-附代码
    基于蜣螂算法改进的LSTM预测算法文章目录基于蜣螂算法改进的LSTM预测算法1.数据2.LSTM模型3.基于蜣螂算法优化的LSTM4.测试结果5.Matlab代码摘要:为了提高LSTM数据的预测准确率,对LSTM中的参数利用蜣螂搜索算法进行优化。1.数据采用正弦信号仿真数据,数量为200。90%的数据用于训练......
  • 基于蜣螂算法改进的DELM分类-附代码
    蜣螂算法改进的深度极限学习机DELM的分类文章目录蜣螂算法改进的深度极限学习机DELM的分类1.ELM原理2.深度极限学习机(DELM)原理3.蜣螂算法4.蜣螂算法改进DELM5.实验结果6.参考文献7.Matlab代码1.ELM原理自动编码器AE(AutoEncoder)经过训练可以将输入复制到输出。因为不需要标记数......
  • 混合粒子群-蝴蝶算法-附代码
    混合粒子群-蝴蝶算法文章目录混合粒子群-蝴蝶算法1.蝴蝶优化算法2.改进蝴蝶优化算法2.1算法的种群初始化2.2算法的全局搜索2.3算法的局部搜索2.4控制参数c和ω3.实验结果4.参考文献5.Matlab代码6.Python代码摘要:提出一种粒子群-蝴蝶混合算法(hybridparticleswarm-butte......
  • 基于狮群算法优化的BP神经网络(预测应用) - 附代码
    基于狮群算法优化的BP神经网络(预测应用)-附代码文章目录基于狮群算法优化的BP神经网络(预测应用)-附代码1.数据介绍3.狮群优化BP神经网络3.1BP神经网络参数设置3.2狮群算法应用4.测试结果:摘要:本文主要介绍如何用狮群算法优化BP神经网络并应用于预测。1.数据介绍本案例数据一......
  • MATLAB代码:基于两阶段鲁棒优化算法的微网电源容量优化配置
    MATLAB代码:基于两阶段鲁棒优化算法的微网电源容量优化配置关键词:容量优化配置微网两阶段鲁棒规划仿真平台:MATLABYALMIP+CPLEX主要内容:代码主要做的是一个微网中电源容量优化配置的问题,即风电、光伏、储能以及燃气轮机的容量规划问题,程序考虑了不确定性,采用两阶段鲁棒优化方法......
  • 灰狼/狼群算法优化支持向量机SVM分类预测matlab代码,支持多分类。
    灰狼/狼群算法优化支持向量机SVM分类预测matlab代码,支持多分类。Excel数据格式,直接运行。ID:22100625660395512......
  • bp神经网络交叉验证算法和确定最佳隐含层节点个数matlab 程序,直接运行即可。
    bp神经网络交叉验证算法和确定最佳隐含层节点个数matlab程序,直接运行即可。数据excel格式,注释清楚,效果清晰,一步上手。YID:6859628310735572......
  • MATLAB代码:基于多目标算法的冷热电联供型综合能源系统运行优化,完美复现,代码注释很详细
    MATLAB代码:基于多目标算法的冷热电联供型综合能源系统运行优化,完美复现,代码注释很详细,采用粒子群求解ID:5134667374243918......
  • 基于DNA序列的图像加解密算法仿真
    1.算法仿真效果matlab2022a仿真结果如下:    2.算法涉及理论知识概要       随着互联网和通信行业的快速发展,信息安全也越来越受关注,由此很多数据加密算法被提出,并被大量使用,例如AES算法,DES算法等,由于人在生活中所获得的信息大部分来自于视觉,图像就成为了人类......