精华内容
下载资源
问答
  • 内含6个RBF径向基神经网络matlab代码,注释清楚简明。
  • 径向基神经网络,径向基神经网络原理,matlab源码
  • 径向神经网络,机器学习的一种经典算法,神经网络里的讲点网络,代码可以直接使用
  • 径向基神经网络预测matlab程序,包括详细的代码资料和讲解注释
  • Matlab粒子群算法遗传算法优化RBF径向基神经网络-粒子群算法、遗传算法优化RBF径向基神经网络.rar 粒子群算法、遗传算法优化RBF径向基神经网络
  • 5 径向基神经网络预测matlab程序

    千次阅读 2019-10-14 07:41:16
    %% 学习目标:径向基神经网络 %% 可以以任意精度逼近任意连续函数 clear all; close all; P=1:10; T=[2.523 2.434 3.356 4.115 5.834 6.967 7.098 8.315 9.387 9.928]; net=newrbe(P,T,2); %建立精确的径向基神经...

    %% 学习目标:径向基神经网络
    %% 可以以任意精度逼近任意连续函数
    clear all;
    close all;
    P=1:10;
    T=[2.523 2.434 3.356 4.115 5.834 6.967 7.098 8.315 9.387 9.928];
    net=newrbe(P,T,2); %建立精确的径向基神经网络
    ……
    ……
    ……
    (省略部分代码,完整代码可以下载)
    ……
    ……
    ……
    title(‘误差曲线’);
    在这里插入图片描述
    (完整代码及资料下载地址)
    5 径向基神经网络预测matlab程序.zip-CSDN下载 https://download.csdn.net/download/weixin_44356700/11859448

    新上线了一门视频课程——二十八天精通matlab基础编程-在线视频教程-CSDN学院 https://edu.csdn.net/course/detail/24947

    展开全文
  • 径向基神经网络MATLAB实现

    万次阅读 2017-04-28 22:51:15
    应用背景:我们知道,在使用BP神经网络时,由于其采用负梯度下降法对权值进行调节而具有收敛速度慢和容易陷入局部最小值等缺点,为了克服这些缺点,人们提出了径向基神经网络(Radial Basis Function Neural Network...

    应用背景:我们知道,在使用BP神经网络时,由于其采用负梯度下降法对权值进行调节而具有收敛速度慢和容易陷入局部最小值等缺点,为了克服这些缺点,人们提出了径向基神经网络(Radial  Basis  Function Neural  Network)。

    基本原理:径向基神经网络由三层构成,即输入层、隐含层、输出层。如下图所示

                                                                 

    其中,输入层到隐含层为径向基部分,非线性,输入层节点到隐含层节点之间没有权值,隐含层节点的激活函数为径向基函数(Radial  Basis  Function ),函数图像是径向对称的,如高斯函数。这也是把该网络结果称为径向基神经网络的由来,隐含层节点输出如下式所示

                                                   

    其中,ui为隐含层第i个节点输出,σ为高斯函数的标准差,ci为均值,也即隐含层第i个节点激活函数的中心向量;隐含层到输出层为线性部分,实现隐含层节点输出到输出层节点输出的线性映射,如下式

                                                                 

    其中,ui为隐含层第i个节点输出,yk为输出层第k个节点输出,wki为隐含层第i个节点到输出层第k个节点的权值系数,θk为输出层的阈值,q为隐含层节点数。

    一般来说,要得到一个较好的径向基神经网络模型,需要解决2个问题,一是结构问题即隐含层节点数量;二是参数计算,包括径向基函数的中心、方差以及隐含层节点到输出层节点的权值。对第一个问题,隐含层节点数量根据具体问题而定,通常少于训练样本数目;对第二个问题,一般分为二个过程,即非监督学习过程用来求解隐含层激活函数的中心与方差与监督学习过程用来求解隐含层到输出层之间的权值。

            在非监督学习过程中,基函数中心的求解方法有随机选取、自组织选取、有监督选取、正交最小二乘法选取等方法。求解方差的方法有很多,例如下式所示求解方差:

                                                                                 

    其中,Cmax为求得的中心之间的最大距离,h为隐含层节点数目。

    使用径向基神经网络逼近函数的实例matlab代码如下:

    P=201;
    X=[]; 
    Y=[];
    M=10; 
    centers=[];
    deltas=[]; 
    weights=[];
    set = {}; 
    gap=0.1;   
    %**************************************************************************  
    %构造训练样本X,Y  
    X=[-4:0.04:4];  
    for i=1:P  
        Y(i)=1.1*(1-X(i)+2*X(i)^2)*exp(-X(i)^2/2);  %要逼近的函数f(x)=1.1*(1-x+2*x^2)*exp(-x^2/2)
    end  
    Y=Y+0.1*randn(1,P);  %添加噪声
    %**************************************************************************  
    for i=1:M  
        centers(i)= X( i*floor( P/10 ) );  
    end  
    done=0;  
    while(~done)  
        for i=1:M  
           set{i}=[];  
        end  
        for i=1:P  
            distance=100;
            for j=1:M  
                curr=abs(X(i)-centers(j));  
                if curr<distance  
                    sets=j;  
                    distance=curr;  
                end  
            end  
            set{sets}=[set{sets},X(i)];
        end  
        for i=1:M  
            new_centers(i)=sum(set{i})/length(set{i});  
        end  
        done=0;  
         for i=1:M  
              sum1(i)=abs(centers(i)-new_centers(i));
         end  
         if sum(sum1)>gap  
                done=0; 
                centers=new_centers;  
         else  
                done=1;  
         end     
    end  
    for i=1:M  
        curr=abs( centers-centers(i) );  
        [curr_2,b]=min(curr);  
        curr(b)=100;  
        curr_2=min(curr);  
        deltas(i)=1*curr_2;  
    end  
    for i=1:P  
        for j=1:M  
            curr=abs(X(i)-centers(j));  
            K(i,j)=exp( -curr^2/(2*deltas(j)^2) );  %隐含层的输出
        end  
    end  
    %计算权值矩阵  
    weights=inv(K'*K)*K'*Y';  
    %**************************************************************************  
    %测试计算出函数的情况  
    x_test=[-4:0.1:4];  
    for i=1:length(x_test)  
        sum=0;  
        for j=1:M  
            curr=weights(j)*exp(-abs(x_test(i)-centers(j))^2/(2*deltas(j)^2));  
            sum=sum+curr;  
        end  
        y_test(i)=sum;  
    end  
    figure(1)  
    scatter(X,Y,'k+');  
    hold on;  
    plot(x_test,y_test,'r.-')


    运行结果如下图


    展开全文
  • Matlab的RBF径向基神经网络用于销售额销售量的预测-RBF径向基神经网络,用于销售额、销售量的预测.rar RBF径向基神经网络,用于销售额、销售量的预测
  • 径向基神经网络-matlab

    2019-09-27 20:43:35
     1988年Broomhead和Love根据生物神经元具有局部响应的原理,将径向基函数引入神经网络中。  径向基函数三层构成的前向网络:输入层,隐含层,输出层。  本章还会介绍概率神经网络和广义回归网络,分别在模式...

      结构简单、收敛速度款、能够逼近任意非线性函数的网络-径向基函数(Radial Basis Function,RBF)网络。

      1988年Broomhead和Love根据生物神经元具有局部响应的原理,将径向基函数引入神经网络中。

      径向基函数三层构成的前向网络:输入层,隐含层,输出层。

      本章还会介绍概率神经网络和广义回归网络,分别在模式分类和函数逼近上有着更为优越的表现。

      

      径向基神经网络分为正则化网络和广义网络。在工程实践中广泛应用的是广义网络,可由正则化网络稍加变化得到。

      径向基函数在神经网络、SVM(支持向量机)、散乱数据拟合等领域有十分重要的应用,高斯函数就是径向基函数的一种。

        范数  如p-范数

                    

        当X=[x1,x2],Y=[y1,y2],向量X,Y代表空间中的一个点,若p=2,||X-Y||=√(x1-y1)²+(x2-y2)²,等于这两个点之间的距离。

        一般的,欧几里得范数指的就是2-范数。

      在我的理解中,径向基神经网络计算输入节点和每个中心节点的距离,(中心节点指是隐含层取的中心节点)。计算每个点的类似于高斯函数对其的影响,由于高斯图像性质,自然离得近的点影响越大,所以权值越高,经过径向基函数处理后叠加,就得到了输出值。

    转载于:https://www.cnblogs.com/eclipSycn/p/6095169.html

    展开全文
  • RBF 径向基神经网络

    2015-08-02 10:20:24
    RBF径向基神经网络matlab源代码编程,有利于更好的理解此算法!
  • 查找径向基神经网络模型的网络参数的程序MATLAB函数'newrb'用于训练给定数据集的神经网络。该函数的形式为net = newrb(Y,X,Goal,spread)。传播(网络参数)将影响模型性能。该程序可用于获取给定数据集的“扩展...
  • 径向基函数是一个取值仅仅依赖于离原点距离的实值函数,也就是Φ(x)=Φ(‖x‖),或者还可以是到任意一点c的距离,c点称为中心点,也就是Φ(x,c)=Φ(‖x-...在神经网络结构中,可以作为全连接层和ReLU层的主要函数。
  • MATLAB在RBF径向基神经网络仿真中的应用.pdf
  • MATLAB在RBF径向基神经网络仿真中的应用
  • 本篇博客为书籍:《MATLAB R2015b 神经网络技术》的读书摘要,侵权请联系作者删除。 ... ...7.8 径向基神经网络的函数(MATLAB代码实现) 本节内容: 7.8.1 径向基神经网络的创建函数 7....
    本篇博客为书籍:《MATLAB R2015b 神经网络技术》的读书摘要,侵权请联系作者删除。
     
    转载请注明地址:http://blog.sina.com.cn/s/blog_a36a563e0102ywli.html
     
     
    第七章 径向基神经网络(RBF)
     
    7.8 径向基神经网络的函数(MATLAB代码实现)
    本节内容:
    • 7.8.1 径向基神经网络的创建函数
    • 7.8.2 径向基神经网络的传递函数
    • 7.8.3 径向基神经网络的转换函数
    • 7.8.4 径向基神经网络的权函数
    • 7.8.5 竞争性传输

    7.8.1 径向基神经网络的创建函数

        在MATLAB中,提供了newrb、newbe、newpnn、及newgrnn函数用于创建径向基神经网络,下面分别给予介绍。
        1. newrb函数
        该函数用于设计一个径向基网络。函数的调用格式为:
            [net,tr] = newrb(P,T,goal,spread,MN,DF)
        其中,P为Q组输入向量;T为Q组目标分类向量;goal为均方误差,默认为0;spread为径向基函数的粉扑,默认值为1;MN为神经元的最大数目,默认值为Q;DF为两次显示之间所添加的神经元数目,默认为25;net为生成的径向基网络;tr为生成的训练记录。
     
        2. newrbe函数
        该函数用于设计一个准确的径向基网络。函数的调用格式为:
          net = newrbe(P,T,spread)
        其中,P为Q组输入向量;T为Q组目标分类向量;spread为径向基函数的分布,默认值为1。
        一般来讲,newrbe与newrb一样,神经元数目越大,对函数的拟合就越平滑。但是,过多的神经元可能会导致计算困难。
     
        3. newpnn函数
        该函数可用于创建概率神经网络,概率神经网络是一种适用于分类问题的径向基函数。函数的调用格式为:
          net = newpnn(P,T,spread)
        其中,输入参数P为输入向量;T为输出向量;spread为径向函数的分布密度,参数spread的大小对网络的逼近精度有很大的影响,需要不断地调整spread的值。
        spread越小,函数的逼近越精确,但是逼近的过程就越粗糙;spread越大,逼近过程就比较平滑,单是逼近的误差会比较大。
         newpnn创建的是一个两层的神经网络:
            第一层的神经元是径向基神经元,用dist函数计算加权输入,用netprod计算网络输入;
            第二层的神经元是竞争神经元,用dotprod函数计算加权输入,用netsum函数计算网络输入。
        其中只有第一层包含阈值。网络将第一层的权值设置为P,第一层的阈值设置为0.8326/spread,且加权输入为±spread时,径向基函数取值恰好为0.5,第二层的权值被设置为T。
     
        4. newgrnn函数
        该函数可用于设计一个广义的回归神经网络。广义回归神经网络是径向基函数神经网络的一种,通常用于函数逼近。函数的调用格式为:
          net = newgrnn(P,T,spread)
        其中,输入参数P为输入向量;T为输出向量;spread为径向基函数的分布密度,参数spread的大小对网络的逼近精度有很大的影响,需要不断地调整spread的值。spread越小,函数的逼近越精确,但是逼近的过程就越粗糙;spread越大,逼近过程就比较平滑,单是逼近的误差会比较大。
     
    【例7-1:使用newrb函数】 生成正弦函数,加入均匀分布的噪声,再用newrb建立径向基函数进行拟合。
    【MATLAB代码:】
    P = 1:0.5:10;
    randn('state',pi); % same as RNG
    T = sin(2 * P) + randn(1,length(P)); % add noise
    plot(P,T,'ro');
    net = newrb(P,T,0,0.6); % design net
    test = 1:.2:10;
    out = sim(net,test);    
    hold on; plot(test,out,'b-');
    legend('input data','fit data');
    【运行结果:】
       
      在以上代码中,可自行修改spread参数的值,观察结果有何不同,假如用代码net=newrb(P,T,0,0.6)替换为new=newrb(P,T),可以将spread参数从默认值1改为0.6,使拟合曲线更加精密。
     
    【例7-2:使用newrbe函数】 利用newrbe函数创建一个准确的径向基网络
    【MATLAB代码:】
    P=[1 2 3 4 5];
    T=[0.5 2.3 3.2 4.6 6.7];
    sprs=1;
    net=newrbe(P,T,sprs);   %创建准确径向基网络
    A=sim(net,P)     %仿真
    postreg(A,T);    %绘制目标向量的回归曲线
    p=3.5;
    a=sim(net,P)    %测试样本输出
     
    【例7-3:使用newpnn函数】 利用newpnn函数创建概率神经网络
    【MATLAB代码:】
    P = [1 2 3 4 5 6 7];
    Tc = [1 2 3 2 2 3 1];
    T = ind2vec(Tc)          %将数据索引转换为向量组
    net = newpnn(P,T);      %创建概率神经网络
    Y = sim(net,P)           %仿真
    Yc = vec2ind(Y)         %将数组矢量转换成数据索引
     
    【例7-4:使用newgrnn函数】使用newgrnn函数创建广义回归网络,对非线性曲线:y=2x^6+3x^5+3x^3-2x^2进行逼近。
    【MATLAB代码:】
    x=-2:0.01:1;
    y=2*x.^6+3*x.^5+3*x.^3-2*x.^2;
    P=x(1:15:end);
    T=y(1:15:end);
    %实现不同的spread下广义回归神经网络函数逼近效果
    spread=[0.05 0.2 0.4 0.6 0.8 1];   %3组不同的spread值
    line_style={'k.-.','r*:','mo-.','bo--','k^-','bx-'};
    for i=1:length(spread)
        net=newgrnn(P,T,spread(i));     %创建广义回归神经网络
        A=sim(net,P);
        plot(P,A,line_style{i});        %创建逼近曲线
        hold on;
    end
    plot(P,T,'o');
    legend('spread=0.05','spread=0.2','spread=0.4','spread=0.6','spread=0.8','spread=1','训练数据');
     
    【运行结果:】

        从上图可以看出,不同spread值下广义回归神经网络曲线逼近效果差异较大,当spread=0.5时,曲线逼近效果最好,与原曲线基本重合,而随着spread数值的增大,逼近曲线误差增大。
     
    7.8.2 径向基神经网络的传递函数
        在MATLAB神经网络工具箱中,提供了radbas(高斯函数)函数用于实现径向基函数网络的传递。函数的调用格式为:
          A = radbas(N,FP)
        其中,输入参数N为SxQ维的网络输入(列)向量矩阵;FP为性能参数(可忽略),返回网络输入向量N的输入矩阵A。
        radbas函数采用的算法为:
          a = radbas(n) = exp{-n^2 }
     
    7.8.3 径向基神经网络的转换函数
        在MATLAB神经网络工具箱中提供了ind2vec和vec2ind两种函数用于进行数据间的转换,下面予以介绍。
        1.ind2vec函数
        该函数用于将数据索引转换为向量组。调用格式为:
          ind2vec(ind)
        其中,ind2vec函数输入为包含n个下标的行向量ind,调用后可以得到m行n列的向量组矩阵,结果是矩阵中的每个向量I,除了ind中第I个元素指定位置为1外,其余元素为0,结果矩阵的行数等于ind中最大的下标值。
        2.ver2ind函数
        改函数的功能是将单值向量变换成下标向量。调用格式为:
          ver2ind(vec)
        其中,ver2ind和ind2vec函数互为逆变换,ver2ind函数输入为一个m行n列向量矩阵vec,调用后可以得到n个下标值大于等于0的行向量,x中的每个向量I除包含一个1外,其余均为0,得到的行向量包含这些非0元素的下标。
    (PS:类似于数值与one-hot之间的转换,请看例子)
    【例子:转换函数的使用】
    >>ind = [1 2 3 4]; vec = ind2vec(ind)
    【输出:】
    vec =
       (1,1)        1
       (2,2)        1
       (3,3)        1
       (4,4)        1
    >> vec2 = [1 0 0 0;0 1 0 0;0 0 1 0 ]'  , [ind,n] = vec2ind(vec2)
    【输出:】
    vec2 =
         1     0     0
         0     1     0
         0     0     1
         0     0     0
    ind =
         1     2     3
     
    n =
        4
     
    7.8.4 径向基神经网络的权函数
        在MATLAB神经网络工具箱中提供了dist及normprod两种类型的权函数。
     
        1.dist函数
        dist函数用于计算欧几里得距离,调用格式为:
          Z = dist(W,P,FP)
        其中,输入参数W为SxR权值矩阵,P为RxQ输入矩阵;FP为性能参数;输出参数Z为SxQ的输出距离矩阵。
        向量的欧几里得距离就是两个向量之间的2-范数。
          dim = dist( 'size' , S , R , FP ):其中含有W的权值(行)向量和P的输入(列)向量的向量距离;S为层的维数;R为输入的维数;输出参数dim为权值的大小。
          dp = dist( ' dw ', W , P , Z , FP):输出参数dp为Z对P的导数;输入参数dw为Z对W的导数。
          D = dist(pos):输入参数pos为神经元位置的NxS维矩阵;输出参数D为SxS维的距离矩阵。
     
        2.normprod函数
        normp函数用于实现规范点积权函数,调用格式为:
          Z = normprod(W,P,FP)
        其中,参数W为SxR权值矩阵;P为RxQ输入矩阵;FP为函数的参数结构(可忽略);返回参数Z为规范点积权。
          dim = norm('size' , S , R , FP):参数S为层的维数;R为输入的维数,dim为权值的大小。
          dw = normprod('dz_dw' , W , P , Z , FP):返回参数dw为Z对W的导数。
     
    7.8.5 竞争性传输函数
        在MATLAB中,提供了compet函数实现径向基网络的竞争性传输功能,其调用格式为:
           A = compet(N,FP)
        其中,compet是神经网络的传输函数u,传输函数用于从网络输入中求得网络输出。N为SxQ,包含Q个长度为S的列向量,对每个列向量分别求最大值对应位置,A中的元素为1,其余元素为0,A的每一列中有且仅有一个元素等于1。
        可用如下代码给网络第i层设置传输函数:
          net.layers{i}.transferFcn = 'compet';
    展开全文
  • 径向基函数神经网络进行异或分类,首先在4个象限随机生训练数据,然后进行FCM聚类,取4个隐层神经元代表分成4类,最后通过伪逆求出输出层神经元权重,输出通过0和1区分
  • 为解决建筑物基础沉降量的安全监测问题,对其进行有效的预测、校核与分析,运用MATLAB软件建立径向基神经网络模型对某市建筑物的基础沉降量进行预测.结果表明:径向基神经网络的结构形式简易,适应能力更强,预测误差比BP...
  • matlab RBF径向基神经网络模拟桥梁参数
  • 只要在MATLAB(R2014b)平台上,通过运行径向基神经网络“RBF_SSQ”就可 以快速预测。预测系统推荐两注(参数可修改),单注可每号+-1,最多可12 个号复试;也可直接单注投注。单注中奖率一般在2个以上,复试一般...
  • 用于查找径向基神经网络模型的网络参数的程序 MATLAB 函数“newrb”用于为给定数据集训练神经网络。 该函数的形式为 net = newrb(Y, X,goal,spread)。 传播(网络参数)将影响模型性能。 该程序可用于获得给定数据...
  • 3个径向基网络matlab源程序,一维输入,一维输出,逼近效果很好!
  • 基于聚类算法的径向基神经网络学习,快来看看吧 ,或许对你有帮助
  • matlab平台上实现RBF神经网络对辛烷值预测
  • 分享网上下载的基于梯度下降OLS聚类RBF源程序-3个径向基网络的matlab源程序.txt 网上下载的3个径向基神经网络matlab源程序,学习中,拿来与大家分享!!
  • 径向基神经网络RBF

    千次阅读 2016-05-30 20:56:43
    RBF网络,即径向基神经网络,也是前馈型网络的一种。它的设计思想和BP网络完全不一样。   Cover定理:将复杂的模式分类问题非线性的投射到高维空间将比投射到低维空间更可能是线性可分的。也就是说这个问题在...
  • 使用基于径向基函数神经网络的机器学习对 2 类和 3 类问题进行一维矩阵分类。 它还包含一个基于矩阵的 AND 门示例和大小为 12 和 3 的输入样本
  • 径向基神经网络初学

    2017-02-11 19:18:00
    [径向基神经网络训练算法及其性能研究 2.1]-RBF定义:假设x,x0属于Rn,以x0为中心,x到x0的径向距离为半径形成的||x-x0||构成的函数系φ(||x-x0||)称为径向基函数。       转载于:...
  • 利用太赫兹时域光谱技术(THz-TDS)对11种常见毒品进行了实验探测并得到它们在0.2~2.6 THz范围内的吸收谱, 然后利用径向基(RBF)神经网络对11种毒品的太赫兹吸收光谱进行了训练和识别。训练和识别的光谱在输入网络之前...
  • 使用matlab编写的关于径向基网络的程序,包括RBF神经网络的三种算法:聚类算法、梯度法、最小二乘法OLS

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,171
精华内容 468
关键字:

径向基神经网络matlab

matlab 订阅