当前位置 : 主页 > 编程语言 > python >

【DELM分类】基于布谷鸟算法改进深度学习极限学习机实现数据分类附matlab代码

来源:互联网 收集:自由互联 发布时间:2022-06-15
​1 简介 人工神经网络的最大缺点是训练时间太长从而限制其实时应用范围,近年来,极限学习机(Extreme Learning Machine, ELM)的提出使得前馈神经网络的训练时间大大缩短,然而当原始数据混杂

​1 简介

人工神经网络的最大缺点是训练时间太长从而限制其实时应用范围,近年来,极限学习机(Extreme Learning Machine, ELM)的提出使得前馈神经网络的训练时间大大缩短,然而当原始数据混杂入大量噪声变量时,或者当输入数据维度非常高时,极限学习机算法的综合性能会受到很大的影响.深度学习算法的核心是特征映射,它能够摒除原始数据中的噪声,并且当向低维度空间进行映射时,能够很好的起到对数据降维的作用,因此我们思考利用深度学习的优势特性来弥补极限学习机的弱势特性从而改善极限学习机的性能.为了进一步提升DELM预测精度,本文采用麻雀搜索算法进一步优化DELM超参数,仿真结果表明,改进算法的预测精度更高。

【DELM分类】基于布谷鸟算法改进深度学习极限学习机实现数据分类附matlab代码_神经网络

【DELM分类】基于布谷鸟算法改进深度学习极限学习机实现数据分类附matlab代码_神经网络_02

【DELM分类】基于布谷鸟算法改进深度学习极限学习机实现数据分类附matlab代码_神经网络_03

【DELM分类】基于布谷鸟算法改进深度学习极限学习机实现数据分类附matlab代码_原始数据_04

【DELM分类】基于布谷鸟算法改进深度学习极限学习机实现数据分类附matlab代码_神经网络_05

2 部分代码

function [ result ] = func_levy( nestPop,Xmax,Xmin)
%FUNC_LEVY : Update position of nest by using Levy flights
%@author : zhaoyuqiang
[N,D] = size(nestPop) ;
% Levy flights by Mantegna's algorithm
beta = 1.5 ;
alpha = 1 ;
sigma_u = (gamma(1+beta)*sin(pi*beta/2)/(beta*gamma((1+beta)/2)*2^((beta-1)/2)))^(1/beta) ;
sigma_v = 1 ;
u = normrnd(0,sigma_u,N,D) ;
v = normrnd(0,sigma_v,N,D) ;
step = u./(abs(v).^(1/beta)) ;
% alpha = 0.1.*(nestPop(randperm(N),:)-nestPop(randperm(N),:)); % Bad effect
nestPop = nestPop+alpha.*step ;
% Deal with bounds
nestPop(find(nestPop>Xmax)) = Xmax ; %#ok<*FNDSB>
nestPop(find(nestPop<Xmin)) = Xmin ;
result = nestPop ;
end

3 仿真结果

【DELM分类】基于布谷鸟算法改进深度学习极限学习机实现数据分类附matlab代码_深度学习_06

4 参考文献

[1]马萌萌. 基于深度学习的极限学习机算法研究[D]. 中国海洋大学, 2015.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

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

【DELM分类】基于布谷鸟算法改进深度学习极限学习机实现数据分类附matlab代码_深度学习_07


网友评论