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

回归:

在这里插入图片描述

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

在上一篇文章中我介绍了极限学习机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.hqwc.cn/news/72252.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DaVinci Resolve Studio 18 for Mac 达芬奇调色

DaVinci Resolve Studio 18是一款专业的视频编辑和调色软件,适用于电影、电视节目、广告等各种视觉媒体的制作。它具有完整的后期制作功能,包括剪辑、调色、特效、音频处理等。 以下是DaVinci Resolve Studio 18的主要特点: - 提供了全面的视…

Android Studio实现解析HTML获取图片URL,将URL存到list,进行列表展示

目录 效果build.gradle(app)添加的依赖(用不上的可以不加)AndroidManifest.xml错误代码activity_main.xmlitem_image.xmlMainActivityImage适配器ImageModel 接收图片URL效果 build.gradle(app)添加的依赖(用不上的可以不加) dependencies {implementation com.square…

解决跨时区跨语言的国外大文件传输问题

随着信息技术的飞速发展和全球化的深入推进,跨国团队、跨国公司之间的合作变得越来越普遍。在这种背景下,大文件的传输成为了一个经常遇到的挑战。跨语言、跨时区的国外大文件传输,由于涉及到复杂的网络环境、不同国家法律法规等多方面的问题…

02-前端基础第二天-HTML5

01-HTML标签(下)导读 目标: 能够书写表格能够写出无序列表能够写出3~4个常用input表单类型能够写出下拉列表表单能够使用表单元素实现注册页面能够独立查阅W3C文档 目录: 表格标签列表标签表单标签综合案例查阅文档 02-表格标…

【广州华锐视点】AR配电所巡检系统:可视化巡检利器

随着科技的发展,人工智能、大数据等技术逐渐应用于各个领域,为人们的生活带来便利。在电力行业,AR(增强现实)技术的应用也日益广泛。AR配电所巡检系统作为一种新型的巡检方式,可以实现多种功能,提高巡检效率&#xff0…

腾讯云国际站代充-阿里云ECS怎么一键迁移到腾讯云cvm?

今天主要来介绍一下如何通过阿里云国际ECS控制台一键迁移至腾讯云国际CVM。腾讯云国际站云服务器CVM提供全面广泛的服务内容。无-需-绑-定PayPal,代-充-值腾讯云国际站、阿里云国际站、AWS亚马逊云、GCP谷歌云,官方授权经销商!靠谱&#xff0…

hive--给表名和字段加注释

1.建表添加注释 CREATE EXTERNAL TABLE test(loc_province string comment 省份,loc_city string comment 城市,loc_district string comment 区,loc_street string comment 街道,)COMMENT 每日数据处理后的表 PARTITIONED BY (par_dt string) ROW FORMAT SERDEorg.apache.had…

七月 NFT 行业解读:游戏和音乐 NFT 引领增长,Opepen 掀起热潮

作者:lesleyfootprint.network 2023 年 7 月,NFT 市场的波动性持续存在,交易量呈下降趋势。然而,游戏和音乐 NFT 等领域的增长引人注目。参与这些细分领域的独立用户数量不断增加,反映了这些领域的复苏。 本综合报告…

麦肯锡发布《2023科技趋势展望报告》,生成式AI、下一代软件开发成为趋势,软件测试如何贴合趋势?

近日,麦肯锡公司发布了《2023科技趋势展望报告》。报告列出了15个趋势,并把他们分为5大类,人工智能革命、构建数字未来、计算和连接的前沿、尖端工程技术和可持续发展。 类别一:人工智能革命 生成式AI 生成型人工智能标志着人工智…

前端一键升级 package.json里面的依赖包管理

升级需谨慎 前端一键升级 package.json里面的依赖包管理 安装:npm-check-updates npm i npm-check-updates -g缩写 ncu 在项目根目录里面执行 ncu 如图:

手把手教你快速使用java与cpp的互相调用

在jni的开发过程中,如果需要实现java和c之间的接口调用,就要定义一个方法来实现,如果有多个接口调用,就需要定义多个方法来实现,这里介绍一种抽象的接口,只需要分别定义一个javaCallCpp和cppCallJava方法就…

C#如何打包EXE程序生成setup安装文件

项目结束之后,有需要将winForm程序打包成.exe文件提供给用户。 这里记录一下打包过程。 1:首先获取打包插件,如果你的VS已经安装,忽略此步骤。 点击 工具->扩展和更新,选择联机,搜索installer&#x…