基于蜣螂算法优化的核极限学习机(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) 可用矩阵表示为:
基于蜣螂算法优化的核极限学习机(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为核函数。

2.分类问题

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

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

 

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

4.测试结果

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


基于蜣螂算法优化的核极限学习机(KELM)分类算法-附代码_理论基础_23

训练集DBO-KELM正确率:1
测试集DBO-KELM正确率:0.85507
病例总数:569 良性:357 恶性:212
训练集病例总数:500 良性:311 恶性:189
测试集病例总数:69 良性:46 恶性:23
良性乳腺肿瘤确诊:45 误诊:1 确诊率p1=97.8261%
恶性乳腺肿瘤确诊:14 误诊:9 确诊率p2=60.8696%
训练集KELM正确率:1
测试集KELM正确率:0.78261
病例总数:569 良性:357 恶性:212
训练集病例总数:500 良性:311 恶性:189
测试集病例总数:69 良性:46 恶性:23
良性乳腺肿瘤确诊:45 误诊:1 确诊率p1=97.8261%
恶性乳腺肿瘤确诊:9 误诊:14 确诊率p2=39.1304%

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

5.Matlab代码