✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
?个人主页:Matlab科研工作室
?个人信条:格物致知。
更多Matlab仿真内容点击?
智能优化算法 神经网络预测 雷达通信 无线传感器 电力系统
信号处理 图像处理 路径规划 元胞自动机 无人机
⛄ 内容介绍
随着深度学习的快速发展,数据分类成为了一个重要的研究领域。为了提高分类的准确性和效率,研究人员一直在努力改进现有的分类算法。本文将讨论基于天鹰算法改进深度学习极限学习机AO-DELM实现数据分类的方法。
极限学习机(ELM)是一种快速且简单的分类算法,它通过随机初始化输入层与隐藏层之间的连接权重,然后通过最小二乘法来计算输出层与隐藏层之间的权重。然而,传统的ELM算法在处理大规模数据集时会遇到一些问题,例如计算复杂度高和泛化能力不足。
为了解决这些问题,研究人员引入了天鹰算法来改进ELM算法。天鹰算法是一种基于自然界中鹰的捕食行为的优化算法,它通过模拟鹰的搜索策略来优化ELM算法中的权重。通过引入天鹰算法,研究人员能够提高ELM算法的收敛速度和泛化能力,从而提高数据分类的准确性。
在本研究中,研究人员进一步改进了基于天鹰算法的ELM算法,提出了AO-DELM算法。AO-DELM算法通过引入自适应权重调整策略和自适应隐藏层节点选择策略来进一步提高数据分类的准确性。自适应权重调整策略能够根据输入数据的特征自动调整权重,从而提高分类的精度。自适应隐藏层节点选择策略能够根据输入数据的复杂度自动选择隐藏层节点的数量,从而提高分类的泛化能力。
通过在多个数据集上进行实验,研究人员发现AO-DELM算法相比于传统的ELM算法具有更高的分类准确性和更快的收敛速度。这表明AO-DELM算法在处理数据分类问题时具有很大的潜力。
综上所述,基于天鹰算法改进深度学习极限学习机AO-DELM是一种有效的数据分类方法。通过引入天鹰算法和自适应策略,AO-DELM算法能够提高分类的准确性和效率。未来的研究可以进一步探索AO-DELM算法在其他领域的应用,并进一步改进算法以提高其性能。
⛄ 核心代码
带初始权值的ELM-AE
function[output,B,Hnew]=ELM_AEWithInitial(InputW,X,ActivF,number_neurons)
function create an auto-encoder based ELM. ELM-AE:the
in hidden layer. number_neurons:number of neurons
set. X: the training
prefomance: RMSE of training.
alpha=size(X);
1:generate a random input weights
input_weights=rand(number_neurons,alpha(2))*2-1;
input_weights = InputW;%输入初始权重
% 2:calculating the hidden layer
tempH=input_weights*X';
function activation
switch lower(ActivF)
case {'sig','sigmoid'}
%%%%%%%% Sigmoid
H = 1 ./ (1 + exp(-tempH));
case {'sin','sine'}
%%%%%%%% Sine
H = sin(tempH);
case {'hardlim'}
%%%%%%%% Hard Limit
H = double(hardlim(tempH));
case {'tribas'}
%%%%%%%% Triangular basis function
H = tribas(tempH);
case {'radbas'}
%%%%%%%% Radial basis function
H = radbas(tempH);
%%%%%%%% More activation functions can be added here
end
3: calculate the output weights beta
H(isnan(H)) = 0;
H(isinf(H)) = 0;
B=pinv(H') * X ; %Moore-Penrose pseudoinverse of matrix
calculate the output : Unlike other networks the AEs uses the same weight
for coding and output weights for decoding beta as an input weigth
we will no longer use the old input weights:input_weights.
Hnew=X*B';
output=Hnew*pinv(B');
4:calculate the prefomance
prefomance=sqrt(mse(X-output));
end
⛄ 运行结果
DELM训练集正确率Accuracy = 88.6%
DELM测试集正确率Accuracy = 97.1014%
AO_DELM训练集正确率Accuracy = 96.4%
AO_DELM测试集正确率Accuracy = 98.5507%
⛄ 参考文献
[1] 张昕.基于分布式极限学习机的不确定数据流分类技术的研究与实现[D].东北大学,2014.
[2] 杜小磊肖龙周庆辉陈志刚.增强同步挤压Stockwell变换和改进集成深层极限学习机的轴承工况识别方法[J].电机与控制学报, 2022, 26(11):141-150.
[3] 刘俊杰,张昕,杨乐,等.基于DELM的不确定数据流分类算法[J].计算机技术与发展, 2019, 29(3):5.DOI:10.3969/j.issn.1673-629X.2019.03.022.