【预测模型-ElM分类】基于松鼠算法优化ElM神经网络实现数据分类附matlab代码

article/2025/3/5 10:41:40

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

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

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

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

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

⛄ 内容介绍

为了提高极限学习机(ELM)数据分类的精度,提出了松鼠算法(SSA)的ELM分类器参数优化方法(SSA-ELM),将CV训练所得多个模型的平均精度作为SSA的适应度评价函数,为ELM的参数优化提供评价标准,用获得SSA优化最优参数的ELM算法进行数据分类.利用UCI中数据集进行仿真.​

⛄ 部分代码

% Differential Squirrel Search Algorithm (DSSA) source Code Version 1.0

%

% Developed in MATLAB R2018b

%

% Programmers:

% Bibekananda Jena and Dr Manoj Kumar Naik

% _____________________________________________________________________________________________________

% Please cite to the main paper:

% ******************************

% B. Jena, M. K. Naik, A. Wunnava, and R. Panda,

% 揂 Differential Squirrel Search Algorithm,?

% S. Das and M. N. Mohanty, Eds. Singapore: Springer Singapore, 2021, pp. 143?52.

% https://doi.org/10.1007/978-981-16-0695-3_15

%_____________________________________________________________________________________________________

%%

function [Destination_fitness,bestPositions,Convergence_curve]=SSA(NP,Max_iter,lb,ub,npar,fobj)

% Constant initialization and memory initialization

Gc=1.9; % Gliding constant

Cr=0.5; % crossover rate

dg=0.8; %Random gliding distance

Pdp=0.1; %predator presence probability

Convergence_curve=zeros(1,Max_iter);

Fitness=ones(1,NP)*inf;

% Initialization of the Squirrel初始化

Pos=initialization(NP,npar,ub,lb);

% Fitness evalaution of each Squirrel

%每只松鼠的适合度评估

for i=1:NP

    Fitness(i)=fobj(Pos(i,:));

end

% Segregating the Squirrel into hickory, acorn and normal tree

%将松鼠分为山核桃树、橡子树和普通树

[Sorted_fitness,Sort_index]=sort(Fitness);

Pos_hickory=Pos(Sort_index(1),:); % best solution (hickory tree)

Pos_acorn=Pos(Sort_index(2:4),:); % acorn tree

Pos_normal=Pos(Sort_index(5:end),:); % normal tree

L=size(Pos_normal,1);

L1=randperm(L);

% Squirrels in normal tree splitted into two sets randomly

%正常树上的松鼠随机分成两组

Pnormal_1=Pos_normal(L1(1:end-10),:);

Pnormal_2=Pos_normal(L1(end-10+1:end),:);

G=Sorted_fitness(1); % best fitness

Convergence_curve(1)=Sorted_fitness(1);

for itr=2:Max_iter

    Pos_avg=mean(Pos,1); % average of all squirrels position in the current population所有松鼠在当前种群中的平均位置

    %Temporary new location of squirrels in acorn and normal trees松鼠在橡树和正常的树临时的新位置

    Pacorn_tree=[];

    Pnormal_1_tree=[];

    Pnormal_2_tree=[];

    

    %New locations of squirrels present in the acorn trees松鼠出现在橡子树上的新位置

    for i=1:3

        if rand>Pdp

            Pacorn_tree(i,:)=Pos_acorn(i,:)+dg*Gc*(Pos_hickory-Pos_acorn(i,:)-Pos_avg);  %Eq(1)

        else

            Xrand=initialization(1,npar,ub,lb);

            Pacorn_tree(i,:)=Xrand-rand(1,npar).*abs(Xrand-2*rand*Pos_acorn(i,:));

        end

        

    end

    

    %New locations of some of the squirrels present in the normal trees一些松鼠的新位置出现在正常的树上

    for i=1:size(Pnormal_1,1)

        if rand>Pdp

            k=randi(3,1);

            Pnormal_1_tree(i,:)=Pnormal_1(i,:)+dg*Gc*(Pos_acorn(k,:)-Pnormal_1(i,:));   %Eq(3)

        else

            Xrand=initialization(1,npar,ub,lb);

            Pnormal_1_tree(i,:)=Xrand-rand(1,npar).*abs(Xrand-2*rand*Pnormal_1(i,:));

        end

        

    end

    

    

    %New locations of remaining squirrels present in the normal trees现存松鼠的新位置出现在正常的树上

    for i=1:size(Pnormal_2,1)

        if rand>Pdp

            Pnormal_2_tree(i,:)=Pnormal_2(i,:)+dg*Gc*(Pos_hickory-Pnormal_2(i,:));   %Eq(4)

        else

            Xrand=initialization(1,npar,ub,lb);

            Pnormal_2_tree(i,:)=Xrand-rand*abs(Xrand-2*rand*Pnormal_2(i,:));

        end

        

    end

    Pnt=[Pnormal_1_tree; Pnormal_2_tree];

    Ph1=Pos_hickory+dg*Gc*(Pos_hickory-mean(Pos_acorn,1));   %Eq(6)

    if fobj(Ph1)<fobj(Pos_hickory)

        Pos_hickory=Ph1;

    end

    Pnew=[Pos_hickory; Pacorn_tree; Pnt];

    

    FTnew=[];

    

    % Updating the population

    for i=1:NP

        FTnew(i)=fobj(Pnew(i,:));

        if FTnew(i)<Fitness(i)

            Fitness(i)=FTnew(i);

            Pos(i,:)=Pnew(i);

        else

            Pos(i,:)=Pos(i,:);

            Fitness(i)=Fitness(i);

        end

    end

    [Sorted_fitness,Sort_index]=sort(Fitness);

    

    % Update Best squirrel positions in hickory tree更新山核桃树上最好的松鼠位置

    if Sorted_fitness(1)<G(itr-1)

        Pos_hickory=sort(Pos(Sort_index(1),:),2);

        G(itr)=Sorted_fitness(1);

    else

        G(itr)=G(itr-1);

    end

    

    %Updated locations of squirrels in acorn trees更新了橡子树上松鼠的位置

    Pos_acorn=Pos(Sort_index(2:4),:);

    

    %Updated locations of squirrels in normal trees更新松鼠在正常树上的位置

    Pos_normal=Pos(Sort_index(5:end),:);

    L=size(Pos_normal,1);

    L1=randperm(L);

    Pnormal_1=Pos_normal(L1(1:end-10),:);

    Pnormal_2=Pos_normal(L1(end-10+1:end),:);

    

    % Keeping all iteration best fitness value保持所有迭代的最佳适应度值

    Convergence_curve(itr)=G(itr);

end

Destination_fitness=Convergence_curve(end);

bestPositions=Pos_hickory;

end

⛄ 运行结果

⛄ 参考文献

❤️ 关注我领取海量matlab电子书和数学建模资料

❤️部分理论引用网络文献,若有侵权联系博主删除


http://chatgpt.dhexx.cn/article/JhKR4KPF.shtml

相关文章

模型学习 - ELM

本学弱喜欢在本子上记笔记&#xff0c;但字迹又丑。 望看不懂我的字的大佬不要喷我&#xff0c;看得懂的大佬批评指正。

【预测模型-ELM预测】基于蚁群算法优化极限学习机预测matlab代码

1 简介 针对变压器故障的特征,结合变压器油中气体分析法以及三比值法.提出了基于蚁群算法改进极限学习机的故障诊断方法.由于输入层与隐含层的权值和阈值是随机产生.传统的极限学习机可能会使隐含层节点过多,训练过程中容易产生过拟合现象.该方法运用蚁群算法对极限学习机的输…

【预测模型-ELM分类】基于鲸鱼算法优化核极限学习机实现数据分类附matlab代码

1 内容介绍 极限学习机&#xff08;&#xff45;&#xff58;&#xff54;&#xff52;&#xff45;&#xff4d;&#xff45; &#xff4c;&#xff45;&#xff41;&#xff52;&#xff4e;&#xff49;&#xff4e;&#xff47; &#xff4d;&#xff41;&#xff43;&…

【ELM预测】基于极限学习机ELM实现数据预测matlab源码

一、极限学习机的概念 极限学习机(Extreme Learning Machine) ELM&#xff0c;是由黄广斌提出来的求解单隐层神经网络的算法。 ELM最大的特点是对于传统的神经网络&#xff0c;尤其是单隐层前馈神经网络(SLFNs)&#xff0c;在保证学习精度的前提下比传统的学习算法速度更快。 二…

【ELM数据预测】粒子群算法优化ELM数据预测(含前后对比)【含Matlab源码 449期】

⛄一、粒子群算法优化极限学习机ELM简介 PSO-ELM优化算法预测模型 ELM模型在训练之前可以随机产生ω和b, 只需要确定隐含层神经元个数及隐含层神经元激活函数, 即可实现ELM预测模型的构建。在ELM模型的构建中, 只需确定初始ω和b, 而无需复杂的参数设置, 具有学习速度快、泛化…

免费不限速不限存储的网盘推荐

网盘这种东西倒闭的太多了&#xff0c;这年头存点东西真不容易&#xff0c;以前也陆陆续续用过很多网盘&#xff0c;但一直没统计&#xff0c;最近终于发现了一款好用的免费网盘推荐给大家。 替代对象&#xff1a;某度网盘 空间&#xff1a;超级会员免任务扩容至5T空间&…

“白嫖”时代进入最后倒计时,网盘行业到底是怎么由盛及衰的?

继金山网盘、UC网盘、新浪网盘、360网盘等等关停之后&#xff0c;网易网盘也要和大家说再见了。这是目前市场上最后一家完全免费的网盘&#xff0c;网易网盘的淡出也意味着网盘的免费时代终于还是画上了句号。 近日&#xff0c;网易宣布由于产品调整&#xff0c;网易网盘将于20…

在线付费听音乐平台网站源码

介绍&#xff1a; 越来越多音乐需要付费 今天免费给大家一款在线音乐源码 所有音乐免费听 付费音乐也可以 网盘下载地址&#xff1a; http://kekewl.org/PaFDdLJmVpB 图片&#xff1a;

「保护数据 人人有责」搭建免费可用的私有云 Next Cloud

前言 对于咱们个人来讲&#xff0c;早年都是白嫖各大厂商的公有云&#xff0c;各大厂商疯狂送空间&#xff0c;送起来像慈善家一样&#xff0c;一个T一个T的&#xff0c;但是随着时间的推移&#xff0c;以360网盘为代表的一批网盘倒下去了&#xff0c;上传的数据也只能再下载回…

微擎后端/知识付费阅读店铺小程序 V5.1.0 全套源码

简介&#xff1a; 更新动态&#xff1a; 版本号&#xff1a;5.1.0 – 普通版 [优化]优化后台基本设置操作体验 [优化]优化会员折扣功能的折后金额计算方式 [优化]优化视频文章预加载方式 [优化]优化全局图片懒加载流程 知识店铺内容付费阅读小程序&#xff0c;帮您轻松实现内容…

2023 诚通网盘在线解析无广告高速下载网站源码

对于用户来说&#xff0c;上传下载应该是网盘最大的痛点。而上传资源网盘肯定不会做限制&#xff0c;因为上传的资源越多&#xff0c;网盘占的市场份额会越大&#xff0c;所以只能从下载方面入手。 1.所以现在除了阿里外&#xff0c;其他的网盘不付费那就是给你几十K的速度&am…

又一知名云盘翻车:“免费不限量”变收费,用户被骗 5 年!

微信搜索逆锋起笔关注后回复编程pdf领取编程大佬们所推荐的 23 种编程资料&#xff01; 来源&#xff1a;扩展迷Extfans 互联网公司的套路有多深&#xff1f;坦白说&#xff0c;它们本质上没有任何区别。 最常见的操作大概就是&#xff1a;前期以各种免费福利圈养用户&#xff…

网盘的成本有多高?一个网盘成本是多少?

众所周知&#xff0c;中国的互联网产品都是建立在免费基础上的&#xff0c;当然这不是对企业&#xff0c;而是面向个人用户。 网盘作为现今存文件分享内容的一款新时代的云上U盘&#xff0c;几乎每个年轻人都有&#xff0c;目前比较有名的就是百度网盘&#xff0c;其他的几乎可…

百度网盘海外版免费不限速:真就是老用户与狗不得享受优惠?

去年9月30号&#xff0c;百度网盘宣布&#xff1a;以前享受2T免费空间的用户&#xff0c;有一部分将调整为100G。 当然了&#xff0c;付费用户肯定是不受影响的。 而免费的用户&#xff0c;除了空间被砍之外&#xff0c;那下载速度也…怎么说呢&#xff0c;硬是让我回忆起当年拨…

专业网盘设计分析

预计未来相当一段时间的主要精力会集中在优化一个行业专业网盘&#xff0c;其中主要的挑战是 大数据&#xff0c;某个行业第一公司一次迁移12TB 的业务资料&#xff0c;一个是并发&#xff0c;虽然是TB 业务&#xff0c;但是网盘的数据权限是企业主账户&#xff0c;一个主账户下…

新版知识付费系统付费阅读小程序源码知识付费平台

介绍&#xff1a; 2021知识付费系统付费阅读小程序源码知识付费平台源码。 知识付费的小程序源码的作用我就不多说了&#xff0c;现在都是知识付费的年代&#xff0c;也是付费学习的时代。 知识付费阅读小程序&#xff0c;带有代理&#xff0c;分销&#xff0c;课程资源更新等…

五大主流云盘横评对比,百度、腾讯、115、iCloud、OneDrive哪家更值得付费?

五大主流云盘横评对比&#xff0c;百度、腾讯、115、iCloud、OneDrive哪家更值得付费&#xff1f; 前言各大云盘免费服务对比各大云盘付费服务对比照片视频备份文件历史版本各家云盘会员购买建议百度网盘腾讯微云115网盘iCloudOneDrive 云盘安全吗&#xff1f;结尾 前言 互联网…

百度网盘无需开会员也能享受高速下载通道

实现背景 网盘属于特殊产物&#xff0c;对于大多数人而言&#xff0c;这只是一个偶尔需要用到的产品&#xff0c;所以付费意愿相对视频会员这些产品会相对没更低&#xff0c;再加上一些你懂的原因&#xff0c;让网盘的运营变得很困难&#xff0c;最终导致了目前国内的网盘现状…

【独立版】智创云享知识付费小程序V2_2.3.13知识付费小程序,含前端和资源库

应用介绍 【独立版】智创云享知识付费小程序V2_2.3.13知识付费小程序&#xff0c;含前端和资源库&#xff01; 智创云享知识付费系统是一款基于ThinkPHP6框架开发的虚拟资源知识付费小程序&#xff0c;为广大创业者、自媒体及培训机构提供知识付费、内容付费、资源变现等领域…

百度云盘停止服务器,又一家网盘关闭!不要再问为什么百度网盘要收费了

网盘一直是不少小伙伴采用的资料存储工具&#xff0c;看电影、刷剧、分享文件都非常的便捷&#xff0c;日渐变为广大用户工作、生活中必备的工具。然而&#xff0c;近年来国内的网盘运营商越来越少&#xff0c;继360云盘、金山网盘、迅雷快盘等产品之后&#xff0c;网易网盘也在…