基于粒子群算法优化的核极限学习机(KELM)分类算法-附代码

基于粒子群算法优化的核极限学习机(KELM)分类算法


摘要:本文利用粒子群算法对核极限学习机(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)
式中: x x x 为输入向量, h ( x ) h(x) h(x) H H H 为隐层节点输出, β β β 为输出权重, L L L 为期望输出。

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

2.分类问题

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

3.基于粒子群算法优化的KELM

粒子群算法的具体原理参考博客

由前文可知,本文利用粒子群算法对正则化系数 C 和核函数参数 S 进行优化。适应度函数设计为训练集与测试集的错误率。
f i t n e s s = a r g m i n ( T r a i n E r r o r R a t e + T e s t E r r o r R a t e ) 。 fitness = argmin(TrainErrorRate + TestErrorRate)。 fitness=argmin(TrainErrorRate+TestErrorRate)

4.测试结果

在这里插入图片描述

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

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

5.Matlab代码

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
上下文:软件缺陷预测 (SDP) 模型有助于向客户提供可靠且基于价值的产品。 然而,这些模型的性能受到数据集中存在的微不足道特征的影响。 这个问题是通过特征选择方法解决的。 目标:(1) 确定基于特征选择的分类模型在软件缺陷预测上下文中的性能,以及 (2) 确定去除不相关特征是否对 SDP 模型的性能产生显着影响。 方法:SDP模型是使用两个分类器构建的——极限学习机 (ELM) 和基于内极限学习机 (KELM) 基于五种包装器和七种基于过滤器的特征选择方法。 使用七个公开可用的数据集进行实验。 测试精度用作基于特征选择的 ELM 和 KELM 缺陷分类模型的性能比较参数。 结果: (1) 在比较基于特征的 SDP 模型的性能时,基于 ELM分类器使用基于包装器的特征选择方法实现了更高的测试精度,而 KELM 分类器使用基于过滤器的方法性能更好。 (2) 针对本研究的第二个目标,发现即使从原始软件项目数据中去除了 85% 以上的属性,在大多数情况下,去除不相关特征前后模型的预测性能仍具有可比性。的情况下,它在很少的实验中得到改善。 结论:对于基于特征选择的缺陷分类器,基于 ELM 和 KELM 的模型的性能分别优于基于包装器和过滤器的方法。 总体而言,降维空间不会显着影响 SDP 分类器的预测性能。 从某种意义上说,去除不相关的软件度量后得到的特征子集对输出类具有更大的意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能算法研学社(Jack旭)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值