基于松鼠算法改进深度学习极限学习机实现数据回归预测附matlab代码

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

个人主页:Matlab科研工作室

个人信条:格物致知。

更多Matlab仿真内容点击

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

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

⛄ 内容介绍

人工时间的最大缺点是训练太长,因为它在应用神经网络的时间范围内,持续不断地限制神经网络,最大限度地限制学习机(Extreme Learning Machine)大量的噪声噪声,或者当输入数据时的维度算法非常高时,极限学习时的综合性能会受到极大的影响。进行空间映射时的有效对数据维的维度的预测,因此我们认为利用深度学习的预测精度来最大学习机的特性,可以很好地改善极限学习机的特性。本文采用松鼠算法进一步优化DELM超参数,仿真结果表明,改进的预测精度更高。

基于松鼠算法改进深度学习极限学习机实现数据回归预测附matlab代码_第1张图片

基于松鼠算法改进深度学习极限学习机实现数据回归预测附matlab代码_第2张图片

基于松鼠算法改进深度学习极限学习机实现数据回归预测附matlab代码_第3张图片

基于松鼠算法改进深度学习极限学习机实现数据回归预测附matlab代码_第4张图片

基于松鼠算法改进深度学习极限学习机实现数据回归预测附matlab代码_第5张图片

⛄ 部分代码

function[output,B,Hnew]=ELM_AE(X,ActivF,number_neurons)

% ELM-AE:the function  create an auto-encoder based ELM. 

% number_neurons:number of neurons in hidden layer.

% X: the training set.

% prefomance: RMSE of training.

alpha=size(X);

% 1:generate a random input weights

input_weights=rand(number_neurons,alpha(2))*2-1;

% input_weightsTemp = orth(input_weights);%正交化

% if sum(size(input_weightsTemp)) == sum(size(input_weights))

%     input_weights = input_weightsTemp;

% end

% 2:calculating the hidden layer

tempH=input_weights*X';

% activation function

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

B=pinv(H') * X ; %Moore-Penrose pseudoinverse of matrix

% calculate the output : Unlike other networks the AEs uses the same weight

% beta as an input weigth for coding and output weights for decoding

% 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

⛄ 运行结果

基于松鼠算法改进深度学习极限学习机实现数据回归预测附matlab代码_第6张图片

基于松鼠算法改进深度学习极限学习机实现数据回归预测附matlab代码_第7张图片

基于松鼠算法改进深度学习极限学习机实现数据回归预测附matlab代码_第8张图片

基于松鼠算法改进深度学习极限学习机实现数据回归预测附matlab代码_第9张图片

⛄ 参考文献

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

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

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

你可能感兴趣的:(神经网络预测,算法,深度学习,回归)