引力搜索算法极限学习机GSA-ELM回归预测及其MATLAB代码实现

简介: 引力搜索算法极限学习机GSA-ELM回归预测及其MATLAB代码实现

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测雷达通信 无线传感器

信号处理图像处理路径规划元胞自动机无人机

⛄ 内容介绍

极限学习机(Extreme Learning Machine, ELM)是近几年发展起来的一种有效的新型单隐层前馈神经网络学习算法,和传统学习算法不同的是,ELM算法的网络参数随机选取,无需调节,输出权值是通过对平方损失函数最小化得到的最小二乘解,因此该算法具有较快的学习速度和良好的泛化性能,并在多模式分类,非线性预测等领域得到了广泛的应用.但是ELM在学习过程中也不可避免的存在众多缺点,其参数的随机选取导致一系列非最优参数的生成,使得所需隐含层节点数多于传统学习算法,影响其泛化性能,并导致系统的病态;在学习过程中仅仅只利用了输入参数的信息进行计算,而忽略了非常有价值的实际输出值;将其应用于工业生产中所得到的精度不能满足实际的标准等等.针对上述缺点,本文提出了一种对ELM的引力搜索算法极限学习机(GSA-ELM)。

1 引力搜索算法原理

GSA是2009年提出的一种新型的启发式群智能优化算法,具有全局搜索能力强、收敛速度快等优点。在GSA中,种群粒子相当于空间中运动的个体,这些个体在万有引力的作用下彼此吸引、运动,个体的质量是评价粒子好坏的标准,质量越大的个体吸引其他粒子的能力越强,即表示其对应的解更好,整个种群凭借粒子相互间力的作用相互运动实现信息的共享,并朝着最优区域展开搜索。

2 极限学习机

传统的单隐层神经网络由三部分组成,分别是输入层、隐含层和输出层,输入层神经元节点个数即输入变量的个数,隐含层节点个数则需要人为给定,输出层节点个数也就是输出变量的个数。在2006年,新加坡南洋理工大学的Huang等[16]在传统的单隐层神经网络的基础上提出了一种新的前馈神经网络学习算法,命名为极限学习机(extremelearningmachine,ELM),不同于传统的基于梯度的前馈神经网络算法,该方法随机产生隐含层与输入层之间的连接权值及隐含层神经元的阈值,训练过程中只需要设置隐含神经元的个数便可获得唯一最优解,极限学习机网络结构如图1所示。

3 引力搜索算法优化极限学习机

本文采用引力搜索算法对其隐含层的初始权值与阈值进行优化,具体构建过程可以概述为:确定ELM的输入与输出样本集;确定对ELM初始权值及阈值的编码方式;随机采样产生第一代种群;计算每个个体的适应值,并排序选优;按照既定规则更新产生下一代种群直至满足终止条件为止,终止条件设置为预测值与期望值的误差矩阵的范数小于某一设定值。

利用引力搜索算法对核极限学习机的两项参数:核参数及正则化系数进行优化,得到耦合滑坡预测模型,其实施步骤如下。

步骤1初始化种群。设置粒子数量为20,随机产生初始核参数及正则化系数,生成种群初始位置。

步骤2确定优化参数的取值范围。根据多次实验,确定核参数为(-100 100),正则化系数为(-100 100)。

步骤3建立SSA-KELM耦合模型,计算粒子个体适应度,对适应度值进行排序,寻找出当前最好和最差的个体。

适应度函数为式(16)中为真实值;为函数预测值。

步骤4根据式式(7)更新粒子位置。

步骤5获取新的粒子位置及个体适应度值,将本轮最优适应度值与之前的最优适应度值做比较,如果本轮更优,则更新全局最优适应度值与相关位数。

步骤6循环结束。当迭代次数大于500,则寻优过程结束。步骤7得到KELM的最佳训练参数,模型建立。

⛄ 部分代码

function [output] = my_map(type, raw_data, raw_data_max, raw_data_min, max, min)

if type ~= 0

   output = my_pos_map(raw_data, raw_data_max, raw_data_min, max, min);

end

if type ~= 1

   output = my_rev_map(raw_data, raw_data_max, raw_data_min, max, min);

end

end

function [out] = my_pos_map(raw_data, raw_data_max, raw_data_min, max, min)

   for i = 1:length(raw_data')

       out(i) = (max - min) * (raw_data(i) - raw_data_min) / (raw_data_max - raw_data_min) + min;

   end

end

function [out] = my_rev_map(raw_data, raw_data_max, raw_data_min, max, min)

   for i = 1:length(raw_data')

       out(i) = (raw_data(i) - min) * (raw_data_max - raw_data_min) / (max - min) + raw_data_min;

   end

end


⛄ 运行结果

⛄ 参考文献

[1]刘萌萌. 基于信息融合的改进极限学习机预测算法研究[D]. 辽宁大学, 2015.

[2]刘艺凡. 基于万有引力搜索算法极限学习机的电磁问题优化[D]. 江苏科技大学.

❤️ 关注我领取海量matlab电子书和数学建模资料
❤️部分理论引用网络文献,若有侵权联系博主删除



相关文章
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
【自然语言处理】TF-IDF算法在人工智能方面的应用,附带代码
TF-IDF算法在人工智能领域,特别是自然语言处理(NLP)和信息检索中,被广泛用于特征提取和文本表示。以下是一个使用Python的scikit-learn库实现TF-IDF算法的简单示例,并展示如何将其应用于文本数据。
122 65
|
2天前
|
算法 数据安全/隐私保护
基于LS算法的OFDM+QPSK系统信道估计均衡matlab性能仿真
基于MATLAB 2022a的仿真展示了OFDM+QPSK系统中最小二乘(LS)算法的信道估计与均衡效果。OFDM利用多个低速率子载波提高频谱效率,通过循环前缀克服多径衰落。LS算法依据导频符号估计信道参数,进而设计均衡器以恢复数据符号。核心程序实现了OFDM信号处理流程,包括加性高斯白噪声的加入、保护间隔去除、快速傅立叶变换及信道估计与均衡等步骤,并最终计算误码率,验证了算法的有效性。
9 2
|
2天前
|
算法
基于GA-PSO遗传粒子群混合优化算法的CVRP问题求解matlab仿真
本文介绍了一种基于GA-PSO混合优化算法求解带容量限制的车辆路径问题(CVRP)的方法。在MATLAB2022a环境下运行,通过遗传算法的全局搜索与粒子群算法的局部优化能力互补,高效寻找最优解。程序采用自然数编码策略,通过选择、交叉、变异操作及粒子速度和位置更新,不断迭代直至满足终止条件,旨在最小化总行驶距离的同时满足客户需求和车辆载重限制。
|
2天前
|
机器学习/深度学习 算法 数据挖掘
基于WOA优化的CNN-LSTM的时间序列回归预测matlab仿真
本项目采用MATLAB 2022a实现时间序列预测,利用CNN与LSTM结合的优势,并以鲸鱼优化算法(WOA)优化模型超参数。CNN提取时间序列的局部特征,LSTM处理长期依赖关系,而WOA确保参数最优配置以提高预测准确性。完整代码附带中文注释及操作指南,运行效果无水印展示。
|
3天前
|
机器学习/深度学习 人工智能 算法
【人工智能】传统语音识别算法概述,应用场景,项目实践及案例分析,附带代码示例
传统语音识别算法是将语音信号转化为文本形式的技术,它主要基于模式识别理论和数学统计学方法。以下是传统语音识别算法的基本概述
14 2
|
6天前
|
机器学习/深度学习 算法 定位技术
MATLAB - 遗传算法(GA)求解旅行商问题(TSP)
MATLAB - 遗传算法(GA)求解旅行商问题(TSP)
13 3
|
7天前
|
搜索推荐 算法 Java
插入排序算法(Java代码实现)
这篇文章通过Java代码示例详细解释了插入排序算法的实现过程,包括算法的基本思想、核心代码、辅助函数以及测试结果,展示了如何通过插入排序对数组进行升序排列。
|
7天前
|
算法
基于EM期望最大化算法的GMM模型参数估计matlab仿真
此程序在MATLAB 2022a中实现了基于EM算法的GMM参数估计,用于分析由多个高斯分布组成的混合数据。程序通过迭代优化各高斯组件的权重、均值与协方差,直至收敛,并输出迭代过程的收敛曲线及最终参数估计结果。GMM假设数据由K个高斯分布混合而成,EM算法通过E步计算样本归属概率,M步更新参数,循环迭代直至收敛。
|
7天前
|
算法
基于模糊控制算法的倒立摆控制系统matlab仿真
本项目构建了一个基于模糊控制算法的倒立摆控制系统,利用MATLAB 2022a实现了从不稳定到稳定状态的转变,并输出了相应的动画和收敛过程。模糊控制器通过对小车位置与摆的角度误差及其变化量进行模糊化处理,依据预设的模糊规则库进行模糊推理并最终去模糊化为精确的控制量,成功地使倒立摆维持在直立位置。该方法无需精确数学模型,适用于处理系统的非线性和不确定性。
基于模糊控制算法的倒立摆控制系统matlab仿真
|
8天前
|
算法
基于多路径路由的全局感知网络流量分配优化算法matlab仿真
本文提出一种全局感知网络流量分配优化算法,针对现代网络中多路径路由的需求,旨在均衡分配流量、减轻拥塞并提升吞吐量。算法基于网络模型G(N, M),包含N节点与M连接,并考虑K种不同优先级的流量。通过迭代调整每种流量在各路径上的分配比例,依据带宽利用率um=Σ(xm,k * dk) / cm来优化网络性能,确保高优先级流量的有效传输同时最大化利用网络资源。算法设定收敛条件以避免陷入局部最优解。