基于哈里斯鹰算法优化的核极限学习机(KELM)分类算法 -附代码

news2024/12/24 21:46:37

基于哈里斯鹰算法优化的核极限学习机(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)
式中: 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

哈里斯鹰算法的具体原理参考博客:https://blog.csdn.net/u011835903/article/details/108528147

由前文可知,本文利用哈里斯鹰算法对正则化系数 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.测试结果

在这里插入图片描述

训练集HHO-KELM正确率:1
测试集HHO-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代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/514817.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【小梦C嘎嘎——启航篇】基本语法格式:namespace ?

基本语法格式:namespace ?😎 前言🙌namespace 是什么?namespace 的意义何在? 总结撒花💞 😎博客昵称:博客小梦 😊最喜欢的座右铭:全神贯注的上吧&…

springboot + vue 部署 阿里云云服务器 ECS

安装所需文件 安装mysql5.7 下载MySQL的yum源配置 wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm安装MySQL的yum源 yum -y install mysql57-community-release-el7-11.noarch.rpm使用yum方式安装MySQL5.7(下载需要点时间&#xf…

【 断电延时继电器 电源监视 导轨安装 JOSEF约瑟 HJZS-E202 AC220V】

品牌:JOSEF约瑟型号:HJZS-E202名称:断电延时继电器额定电压:110、220VDC/AC;100VAC触点容量:250V/5A功率消耗:≤4.2W返回系数:10%额定电压 系列型号: HJZS-E202断电延时…

4.4 栈实现及其应用

目录 栈 顺序栈 创建栈: 清空栈: 判断栈是否空 : 进栈 : 出栈 : 取栈顶元素: 栈 栈是限制在一端进行插入操作和删除操作的线性表(俗称堆栈) 允许进行操作的一端称为“栈顶” 另一固定端称为“栈底” 当栈中没有元素时称为“空栈”…

Robbin负载均衡详解及实践---SpringCloud组件(三)

Robbin负载均衡详解及实践 一 为什么使用Robbin?二 Robbin概念三 负载均衡实践1.启动eureka客户端2.启动多个provider服务,注册到eureka3.在consumer端配置负载均衡参数 四 Robbin源码剖析 一 为什么使用Robbin? 在Eureka详解及实践—Spring…

SAS初识

1、SAS常用工作窗口 “结果”(Result)窗口——管理SAS程序的输出结果; “日志”(Log)窗口——记录程序的运行情况; “SAS资源管理器”(Explore)窗口; “输出”&#xff0…

详解vue中的Object.defineProperty

如果想要age遍历的话 就设置属性 打印出来 发现有可以枚举的属性age 参考课程: 011_尚硅谷Vue技术_Object.defineProperty_哔哩哔哩_bilibili // 1.Vue中的数据代理: // 通过Vm对象来代理data对象中属性的操作(读/写) // 2…

STL容器 —— list 了解、接口使用,以及模拟实现list(部分常用接口)

注意 : 以下所有文档都来源此网站 : http://cplusplus.com/ 一、vector的介绍及使用 list文档的介绍:https://cplusplus.com/reference/list/list/ 1. vector 的介绍 1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器&…

python自动化测试工具selenium使用指南 ,绝对能帮到你

目录 概述 pythonselenium环境安装 使用selenium启动浏览器 selenium页面加载等待和检测 使用time.sleep()等待 使用implicitly_wait设置最长等待时间 使用WebDriverWait设置等待条件 检测document是否加载完成 selenium元素定位和读取 查找元素 dom元素交互 查找元…

地址族和数据序列

IP地址 为使计算机连接到网络并收发数据,必需向其分配IP地址。 IP地址分为两类。 IPv4 (Internet Protocol version 4)4字节地址族 IPv6 (Internet Protocol version 6)16字节地址族 IPv4与IPv6的差别主要是表示IP地址所用的字节数,目前通用的地址族为IPv4。 IPv6是为了应对20…

全面接入!ChatGPT杀进15个商业应用,让AI替你打工

ChatGPT API开放60多天,世界已经不是两个月前的样子了。 微软联合创始人比尔盖茨称GPT是“40多年来最革命性的技术进步”,英伟达创始人黄仁勋高呼:“我们正处于AI的iPhone时刻”,阿里董事会主席兼CEO张勇也说:“所有行…

经验总结:(Git 版本控制工具快速入门)

Git学习笔记 版本控制(版本迭代) 什么是版本控制 版本迭代,开发过程中,对项目各个阶段的版本的控制。 在开发过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本。 多人开发…

ADV7391BCPZ-ASEMI代理亚德诺ADV7391BCPZ原厂芯片

编辑-Z ADV7391BCPZ参数描述: 型号:ADV7391BCPZ VDD:1.8V VAA:3.3V 全驱动输出电流:34.6 mA 低驱动输出电流:4.3 mA 输出电容:10 pF 模拟输出延迟:6 ns DAC模拟输出倾斜&am…

x509证书-crl证书吊销

标准 CRL fields -- 版本、时间、证书序列号和扩展名 -- 都是在4.1节的ASN.1中定义的 -- AlgorithmIdentifier 在第 4.1.1.2 节中定义 以下各项描述了 X.509 v2 CRL 在 Internet PKI 中的使用。 关于签名值和验证 signatureValue 字段包含根据 ASN.1 DER 编码的 tbsCertList 计…

13-Vue技术栈之路由的使用

目录 1、路由相关理解1.1 vue-router 的理解1.2 对 SPA 应用的理解1.3 路由的理解1.4 路由分类 2、路由的基本使用2.1 实现效果:2.2 实现思路:2.3 实现步骤:2.4 具体代码2.5 几个注意点 3、多级路由(嵌套路由)4、路由的…

中科院学术专用版GPT Academic项目实现

【写在最前】要完成GPT 学术优化 (GPT Academic)这个项目需要一些值得注意的地方: chatGPT账户有余额且未过期!!!有代理工具(类似Clash) 1、代码克隆 https://github.com/binary-husky/gpt_academic 根据…

Java后端调取微信小程序接口,创建微信小程序直播间

前提条件: 1.注册微信小程序 2.获取appId和secret秘钥 3.小程序具备直播权限 小程序直播开发文档网址 目录 1.创建和修改直播间 2.删除直播间 3.获取直播间分享二维码 1.创建和修改直播间 两个功能一起写,区别在于,修改的时候需要多一…

【数字化转型-05】数字化转型中战略驱动的利器——平衡计分卡

今年的4月19日, 华为第20届全球分析师大会上,华为孟晚舟在大会上发表了“初心如磐,奋楫笃行,共赢数字化未来”的主题演讲,其中分享了对数字化转型的三个核心洞见,首先,战略驱动是根本&#xff0…

Mojo:比 Python 快 35000 倍的 AI 编程语言

Mojo:比 Python 快 35000 倍的 AI 编程语言 Mojo是一门刚刚发布的面向 AI 开发人员的编程语言。 Mojo 被设计为 Python 的超集,所以如果你已经掌握了 Python,学习 Mojo 会很容易。关键是 Mojo 将 Python 的易用性与 C 语言的性能相结合&am…

AIGC—— 内容生产力革命的起点

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.AIGC 1.什么是AIGC? 2.AIGC有哪些优势与挑战 (1&#xff0…