一种用于RBF神经网络的新型自适应内核研究(Matlab代码实现)

简介: 一种用于RBF神经网络的新型自适应内核研究(Matlab代码实现)

💥1 概述

在本文中,我们提出了一种新的径向基函数神经网络自适应核。所提出的核自适应地融合了欧几里得和余弦距离测度,以利用两者的往复性质。该框架使用梯度下降法动态调整参与核的权重,从而减轻了对预定权重的需求。结果表明,所提方法在非线性系统辨识、模式分类和函数逼近3个主要估计问题上优于人工核融合。


RBF 神经网络在许多实际感兴趣的问题上表现出优异的性能。在[24]中,使用具有遗传算法的RBF神经网络分析盐水储层的物理化学特性。所提出的模型称为GA-RBF模型,与以前的方法相比,它显示出良好的结果。在[12]中,RBF核用于高精度地预测压力梯度。在核物理的背景下,RBF已被有效地用于模拟材料的停止功率数据,如[15]。有关各种应用的全面讨论,请参见[6]。


近年来,该领域取得了相当大的进展。在[23]中,提出了几种新的RBF构造算法,目的是用更少的计算节点提高误差收敛率。第一种方法通过添加Nelder-Mead单纯形优化来扩展流行的增量极限学习机算法。第二种算法使用Levenberg-Marquardt算法来优化RBF的位置和高度。与之前的研究相比,结果显示出更好的错误性能。在[19]中,借助模糊聚类和数据预处理技术,开发了优化的RBF神经网络分类器的新架构。在[7]中,一种称为cOptBees的蜜蜂启发算法已被与启发式算法一起使用,以自动选择要在RBF网络中使用的基函数的数量,位置和分散度。由此产生的BeeRBF被证明具有竞争力,并具有自动确定中心数量的优势。为了加速大规模数据序列的学习,[2]提出了一种增量学习算法。模糊聚类和清晰聚类的优点在[18]中得到了有效的结合。


在[5]中,提出了基于正交最小二乘的替代学习过程。在算法中,以合理的方式逐个选择RBF的中心,直到构建出足够的网络。在[10]中,提出了一种具有多核的新型RBF网络,以获得优化且灵活的回归模型。多核的未知中心由改进的 k 均值聚类算法确定。使用正交最小二乘 (OLS) 算法来确定其余参数。[13]中提出的另一种学习算法通过使用自适应计算算法(ACA)简化了神经网络训练。ACA的收敛性通过李雅普诺夫准则进行分析。在[3]中,提出了一个顺序框架元认知径向基函数网络(McRBFN)及其基于投影的学习(PBL),称为PBL-McRBFN。PBL-McRBFN的灵感来自人类元认知学习原理。该算法基于两个实际问题进行评估,即声发射信号分类和用于癌症分类的乳房X光检查。在[4]中,提出了一种基于神经网络的非参数监督分类器,称为自适应增长神经网络(SAGNN)。SAGNN 允许神经网络根据训练数据调整其大小和结构。评估了该方法的性能以进行故障诊断,并与各种非参数监督神经网络进行了比较。[26]中提出了一种混合优化策略,通过将粒子群优化(PSO)的自适应优化整合到名为HPSOGA的遗传算法(GA)中。该策略用于自动确定径向基函数神经网络的参数(例如,神经元的数量及其各自的中心和半径)。


详细文章讲解见第4部分。


📚2 运行结果

部分代码:

%% Initialization of the simulation parameters
len = 1000;     % Length of the signal 
runs = 10;      % Monte Carlo simulations
epochs = 100;   % Number of times same signal pass through the RBF 
learning_rate = 5e-4;   % step-size of Gradient Descent Algorithm
noise_var=1e-1;         % disturbance power / noise in desired outcome
h = [2 -0.5 -0.1 -0.7 3]; % system's coeffients
delays = 2;               % order/delay/No.of.Taps
% input signal is a noisy square wave
x=[-1*ones(1,delays) ones(1,round(len/4)) -ones(1,round(len/4)) ones(1,round(len/4)) -ones(1,round(len/4))];
x=awgn(x,20); % addition of noise in square wave signal
c = [-5:2:5];   % Gaussian Kernel's centers
n1=length(c);   % Number of neurons
beeta=1;        % Spread of Gaussian Kernels
MSE_epoch=0;    % Mean square error (MSE) per epoch   
MSE_train=0;    % MSE after #runs of Monte Carlo simulations
epoch_W1    =   0; % To store final weights after an epoch
epoch_b     =   0; % To store final bias after an epoch
%% Training Phase
for run=1:runs
    % Random initialization of the RBF weights/bias
    W1  = randn(1,n1);
    b   = randn();
    for k=1:epochs
        for i1=1:len
            % Calculating the kernel matrix
            for i2=1:n1
                % Euclidean Distance / Gaussian Kernel
                ED(i1,i2)=exp((-(norm(x(i1)-c(i2))^2))/beeta^2);
            end
            % Output of the RBF
            y(i1)=W1*ED(i1,:)'+b;
            % Desired output + noise/disturbance of measurement
            d(i1)= h(1)*x(i1+2) +h(2)*x(i1+1)+h(3)*x(i1)+h(4)*(cos(h(5)*x(i1+2)) +exp(-abs(x(i1+2))))+sqrt(noise_var)*randn();
            % Instantaneous error of estimation
            e(i1)=d(i1)-y(i1);
            % Gradient Descent-based adaptive learning (Training)


🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。


[1] Khan, S., Naseem, I., Togneri, R. et al. Circuits Syst Signal Process (2017) 36: 1639. doi:10.1007/s00034-016-0375-7


🌈4 Matlab代码实现

相关文章
|
1月前
|
机器学习/深度学习 算法 PyTorch
RPN(Region Proposal Networks)候选区域网络算法解析(附PyTorch代码)
RPN(Region Proposal Networks)候选区域网络算法解析(附PyTorch代码)
237 1
|
1月前
|
机器学习/深度学习 数据采集 人工智能
m基于深度学习网络的手势识别系统matlab仿真,包含GUI界面
m基于深度学习网络的手势识别系统matlab仿真,包含GUI界面
43 0
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的视频手部检测算法matlab仿真
基于yolov2深度学习网络的视频手部检测算法matlab仿真
|
2天前
|
机器学习/深度学习 算法 计算机视觉
m基于Yolov2深度学习网络的人体喝水行为视频检测系统matlab仿真,带GUI界面
MATLAB 2022a中使用YOLOv2算法对avi视频进行人体喝水行为检测,结果显示成功检测到目标。该算法基于全卷积网络,通过特征提取、锚框和损失函数优化实现。程序首先打乱并分割数据集,利用预训练的ResNet-50和YOLOv2网络结构进行训练,最后保存模型。
12 5
|
4天前
|
机器学习/深度学习 传感器 数据可视化
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
19 1
MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
|
10天前
|
机器学习/深度学习 数据可视化 网络架构
matlab使用长短期记忆(LSTM)神经网络对序列数据进行分类
matlab使用长短期记忆(LSTM)神经网络对序列数据进行分类
15 0
|
13天前
|
机器学习/深度学习 算法
【MATLAB】GA_ELM神经网络时序预测算法
【MATLAB】GA_ELM神经网络时序预测算法
286 9
|
1月前
|
机器学习/深度学习 PyTorch 算法框架/工具
卷积神经元网络中常用卷积核理解及基于Pytorch的实例应用(附完整代码)
卷积神经元网络中常用卷积核理解及基于Pytorch的实例应用(附完整代码)
20 0
|
3月前
|
Perl
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
|
3月前
【数值分析】迭代法求方程的根(附matlab代码)
【数值分析】迭代法求方程的根(附matlab代码)