预测算法系列5—核极限学习机KELM及其实现(Matlab)

news2024/11/24 9:39:05

回归:

在这里插入图片描述

分类:
在这里插入图片描述

在上一篇文章中我介绍了极限学习机ELM的实现和优化,极限学习机虽然具有训练速度快、复杂度低、克服了传统梯度算法的局部极小、过拟合和学习率的选择不合适等优点,但在比较复杂的分类、回归等非线性模式识别任务往往需要更多的隐层神经元,导致网络的结构 非常复杂。

Huang等人[1]将核函数引入到ELM中,提出了基于核方法的KELM(Kernel ELM)算法,该方法不需要显式地定义映射函数,也不需要设置隐层神经元个数,从而节省了隐层神经元个数优化的时间。相比于传统的ELM算法,KELM用核映射代替随机映射,能够有效改善隐层神经元随机赋值带来的泛化性和稳定性下降的问题.

00目录

1 核极限学习机原理

2 代码目录

3 MATLAB实现

4 展望

参考文献

01 核极限学习机原理

ELM隐层的特征映射有很多种选择,既可以是显式映射,也可以是隐式映射.隐式映射巧妙利用核方法得到特征向量之间的内积,因此不需要显示地定义特征空间和映射函数.核方法实质是通过核函数隐式地将输入空间中低维的线性不可分样本映射到高维甚至无限维的特征空间,使得原空间的非线性可分问题转化为特征空间中的线性可分问题,是机器学习领域里一类非常重要的方法.传统的ELM算法采用显式的非线性特征映射,对于比较复杂的分类、回归等非线性模式识别任务往往需要更多的隐层神经元,导致网络的结构非常复杂。Huang等人将核函数引入到ELM中,提出了基于核方法的KELM(Kernel ELM)算法,为回归、二分类和多分类问题提供了一个统一的学习框架[2]

1.1 KELM原理

在隐层的特征映射h(x)具体形式未知的情况下,需要引入核函数来度量样本之间的相似度,可以根据Mercer条件定义ELM的核矩阵,表示如下:在这里插入图片描述

则KELM模型输出函数的表达示为在这里插入图片描述

式中:C为正则化系数,其设定将影响KELM性能。可以看出,ΩELM=HHT∈RNXN仅和输入数据xi以及训练样本的个数有关.在KELM中,通过核函数K(xi,xj)将低维输入空间中的数据 (xi,xj)转化为高维特征空间中的内积h(xi)·h(xj),与特征空间的维数无关,可以有效避免维数灾难问题.

KELM只需要预先选定核函数,不需要显式地定义映射函数,也不需要设置隐层神经元个数,从而节省了隐层神经元个数优化的时间.相比于传统的ELM算法,KELM用核映射代替随机映射,能够有效改善隐层神经元随机赋值带来的泛化性和稳定性下降的问题

核函数的种类有很多,如线性核函数、多项式核函数等,本文选用参数较少、通用性强的高斯核函数:在这里插入图片描述

其中,s为核参数。

1.2 KELM优化

KELM的模型结构如下图所示, K()表示引入的核函数。由于引入核函数的参数 s 和正则化系数 C 会对 KELM 算法的性能产生影响,s决定核函数的作用范围, C 会影响模型结构的稳定性。因此,选择合适的参数对 KELM 模型至关重要,为使其具有最优性能,可以采用群智能算法对两个参数进行寻优。

ELM
在这里插入图片描述

KELM

在这里插入图片描述

02 代码目录

在这里插入图片描述

其中,MY_XXX.m都是可独立运行的ELM或KELM程序,而Main.m可运行ELM和KELM并对其结果进行对比,代码获取方式见文末。

03 MATLAB实现

回归

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

分类

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

04 展望

在这一篇文章中作者讲解了KELM的原理,并给出了其MATLAB实现,在后面的文章中,作者将更新KELM的优化,关注不迷路哦~

参考文献

[1] Huang G B,Zhou H M,Ding X J,et al.Extreme learning machine for regression and multiclass classification[J].IEEE Transactions on Systems, Man,and Cybernetics,Part B (Cybernetics),2012,42(2):513.

[2]徐睿,梁循,齐金山等.极限学习机前沿进展与趋势[J].计算机学报,2019,42(07):1640-1670.

另:如果有伙伴有待解决的优化问题(各种领域都可),可以发我,我会选择性的更新利用优化算法解决这些问题的文章。

如果这篇文章对你有帮助或启发,可以点击右下角的赞(ง •̀_•́)ง(不点也行),若有定制需求,可私信作者。

在作者wx公主号(同名)中可获取代码

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

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

相关文章

python3实践-- 实用代码片段总结-1

针对python使用过程中,经常使用的代码片段进行总结,梳理 python3学习–实用代码片段-1 文章目录 property 装饰器查看参数类型序列化反转序列列表全展开(生成器版)在jupyter lab使用echarts画图正则匹配常用元字符常用通用字符使…

两天入门Linux、搭建Spring环境 第一天

一、Linux简介 1.什么是Linux 一个操作系统,未来公司里面会用到、接触的新操作系统。 2.为什么学Linux (1)个人职务需要,肯定会接触到Linux (2)职业发展,以后的发展肯定需要掌握Linux的许多使用方法 3.学哪些内容 (1)Linux基本介绍 (2)…

记录--Loading 用户体验 - 加载时避免闪烁

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 在切换详情页中有这么一个场景,点击上一条,会显示上一条的详情页,同理,点击下一条,会显示下一条的详情页。 伪代码如下所示: 我们…

JavaWeb-Servlet服务连接器(三)

目录 Response响应对象 1.基本功能 2.重定向 3.路径 4.服务器输出数据到浏览器 Response响应对象 1.基本功能 设置响应行:格式为 HTTP/1.1 200 OK,可以使用 setStatus(int sc) 方法设置状态码为 200 表示成功。 方法名称描述setStatus(int sc)设…

负载均衡搭建

LVS-DR部署 [客户端] node1 192.168.157.148 [lvs] node2 192.168.157.142 [web服务器] node3 192.168.157.145 node4 192.168.157.146(1)[lvs] yum install -y ipvsadm.x86_64 配置LVS负载均衡服务 (1)手动添加LVS转发1&#xff…

python selenium如何保存网站的cookie用于下次自动登录

## 一、python selenium如何保存网站的cookie 使用Selenium保存网站的Cookie非常简单。下面是一个示例,展示了如何使用Selenium打开网站,然后保存获取到的Cookie: from selenium import webdriver# 初始化浏览器 browser webdriver.Chrome…

基于nodejs+vue+elementui文学创作的社交论坛新闻文章管理系统

课题主要采用vue技术和MySQL数据库技术以及vue框架进行开发。系统主要包括个人中心、用户管理、文章类型管理、文章信息管理、文章举报管理、警告信息管理、系统管理等功能,从而实现智能化的社交论坛管理方式,提高社交论坛管理的效率。 通过对基于文学创…

9月30日生效:微软官方服务协议更新,防止人工智能进行逆向工程

微软最近更新了其官方服务协议,新规则将于9月30日生效,包括多个新增和变化,具体细节请参考最新的微软服务协议。 微软最新更新涉及使用Bing Chat聊天机器人、Windows Copilot和Microsoft 365 Copilot服务,引起了广泛关注。这次更新…

如何实现Vue路由的二级菜单

目录 Vue路由(一、二级路由) 一级路由配置 二级路由配置 Vue中展示二级路由的默认模块/二级路由默认显示 Vue路由,二级路由及跳转 如何用vue实现二级菜单栏 ◼️ 相关参考资料 当朋友们看到这个文章时想必是想要了解vue路由二级菜单相…

LeetCode150道面试经典题-- 有效的字母异位词(简单)

1.题目 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 2.示例 s"adasd" t"daads" 返回true s"addad" t &q…

森海塞尔集团专注专业音频业务的首个财年圆满收官

2022年,这家家族企业通过其专业音频解决方案实现4.677亿欧元销售额 韦德马克,2023年6月27日——2022财年,森海塞尔集团进一步扩展其作为专业音频解决方案提供商的强大地位,并依靠自身取得可持续增长。专业音频解决方案的销售额增…

在Ubuntu20.04以Docker方式安装Mysql详细教程(支持外部连接,数据映射到物理磁盘,备份数据,导出数据,恢复数据)...

最近,从阿里云迁移到天翼云,为了保证WordPress查库速度,数据库也要一并迁移,但数据库是很贵的,为了降低个人WordPress网站的成本,我决定自己建数据库。本文是使用Docker镜像建立数据库的方法,数…

SAP MM学习笔记19- SAP中的库存类型,以及 保留在库的利用场景

SAP中有3种库存类型。 1,利用可能在库(非限制使用库存) 2,品质检查中在库(质检库存) 3,保留在库(已冻结库存) 这3种库存类型在库存移动的时候,是可以互相转…

4. 软件开发的环境搭建

目录 1. 搭建环境 1.1 检查 JDK 1.2 检查 MySQL 数据库 1.3 检查 Maven 1.4 检查 GITEEGIT 1.5 安装插件 1.5.1 安装 Spring Boot Helper 1.5.2 安装 lombok 1.6 创建仓库 1.6.1 登录 GITEE 创建仓库并复制仓库地址 1.6.2 克隆到本地 1.7 创建工程 1.7.1 设置编码…

Unity 框架学习--1

由浅入深,慢慢演化实现框架 两个类的实现代码完全一样,就只有类名或类型不一样的时候,而且还需要不断扩展(未来会增加各种事件)的时候,这时候就用 泛型 继承 来提取,继承解决扩展的问题&#…

【Quarkus技术系列】打造基于Quarkus的云原生微服务框架实践(1)

前提介绍 本系列文章主要讲解如何基于Quarkus技术搭建和开发"专为Kubernetes而优化的Java微服务框架"的入门和实践,你将会学习到如何搭建Quarkus微服务脚环境及脚手架,开发Quarkus的端点服务,系统和应用层级的配置介绍与Quarkus的…

JavaWeb_总体介绍

文章目录 1.总括2.JavaWeb项目架构 1.总括 2.JavaWeb项目架构

【Linux】DNS协议——应用层

DNS协议 DNS(Domain Name System,域名系统)协议,是一个用来将域名转化为IP地址的应用层协议。 DNS背景 TCP/IP中通过IP地址和端口号的方式,来确定网络中一个主机上的一个程序。但IP地址是一长串数字,并不…

阿里云账号注册流程_多种注册方法_图文详解

阿里云账号怎么注册?阿里云账号支持手机号注册、阿里云APP注册、支付宝和钉钉多种注册方式,账号注册后需要通过实名认证才可以购买或使用云产品,阿里云百科来详细说下不同途径注册阿里云账号图文流程: 目录 阿里云账号注册流程 …

利用python实现网络设备配置批量上传和批量下载功能

利用python实现网络设备配置批量上传和批量下载功能 利用ensp实现网络设备和物理主机互通配置网络设备配置批量上传功能配置批量下载功能常见问题 提示: 本文章代码所使用目录均使用相对目录,只需将配置存放目录和文件下载目录(已用符号标出…