0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Matlab RBF神經(jīng)網(wǎng)絡(luò)及其實例

冬至子 ? 來源:算法工程師的學(xué)習(xí)日志 ? 作者:搬磚工程師domi ? 2023-07-19 17:34 ? 次閱讀

RBF神經(jīng)網(wǎng)絡(luò)和BP神經(jīng)網(wǎng)絡(luò)的區(qū)別就在于訓(xùn)練方法上面:RBF的隱含層與輸入層之間的連接權(quán)值不是隨機(jī)確定的,是有一種固定算式的。下面以精確型RBF為例。

圖片

假設(shè)每個樣本有R維的特征。有S1個訓(xùn)練集樣本。IW1表示訓(xùn)練集,即S1XR的一個矩陣。

此時,輸入一個R維的測試集樣本p,首先將p和IW1計算歐氏距離。

RBF徑向基函數(shù)的效果是:

所謂徑向基函數(shù) (Radial Basis Function 簡稱 RBF), 就是某種沿徑向?qū)ΨQ的標(biāo)量函數(shù)。通常定義為空間中任一點(diǎn)x到某一中心xc之間歐氏距離的單調(diào)函數(shù) , 可記作 k(||x-xc||), 其作用往往是局部的 , 即當(dāng)x遠(yuǎn)離xc時函數(shù)取值很小。最常用的徑向基函數(shù)是高斯核函數(shù) ,形式為 k(||x-xc||)=exp{- ||x-xc||^2/(2*σ^2) } 其中xc為核函數(shù)中心,σ為函數(shù)的寬度參數(shù) , 控制了函數(shù)的徑向作用范圍。

簡單地說,就是某個測試集樣本p和某個訓(xùn)練集樣本越接近,即歐氏距離越小,那么在RBF作用后輸出的值就越大。

假設(shè)這個樣本p和訓(xùn)練集中某個樣本(即IW1中某一列)很相似(即歐氏距離dist很小),那么輸出結(jié)果a1中(a1維度是S1X1)就有一個值會很大。經(jīng)過權(quán)重和偏置的作用后,再進(jìn)入線性分類器中,就很容易可以分出來。這是我的直觀的理解。

生成RBF的matlab函數(shù):net = newrbe(P,T,spread)。只有一個參數(shù)spread需要調(diào)整。

P

RxQ matrix of Q R-element input vectors

T

SxQ matrix of Q S-element target class vectors

spread

Spread of radial basis functions (default = 1.0)

The larger the spread is, the smoother the function approximation will be. Too large a spread can cause numerical problems.

也就是說,spread這個參數(shù)越大,RBF圖像越平滑,RBF的輸出差距不大,則所有輸入的作用都會被減弱。

關(guān)于此算法,MATLAB文檔中給出了很精煉的解釋:

newrbe creates a two-layer network. The first layer has radbas neurons, and calculates its weighted inputs with dist and its net input with netprod. The second layer has purelin neurons, and calculates its weighted input withdotprod and its net inputs with netsum. Both layers have biases.

newrbe sets the first-layer weights to P', and the first-layer biases are all set to 0.8326/spread, resulting in radial basis functions that cross 0.5 at weighted inputs of +/– spread.

(就是說這樣設(shè)計出默認(rèn)的RBF的效果是,關(guān)于X=0對稱,橫軸為+/-0.8333時函數(shù)的縱軸坐標(biāo)值大約是0.5,表現(xiàn)在圖中就是cross于這個點(diǎn)。如果加權(quán)后輸入是+/- spread的話,正好產(chǎn)生此效果。)

The second-layer weights IW{2,1} and biases b{2} are found by simulating the first-layer outputs A{1} and then solving the following linear expression:

[W{2,1} b{2}] * [A{1}; ones] = T

也就是說,RBF實際上是一個兩層的神經(jīng)網(wǎng)絡(luò)。很簡單,隱層是使用RBF作為激活函數(shù)的神經(jīng)元,輸出層采用線性函數(shù)的神經(jīng)元,做一個線性分類。在前面的dist計算歐氏距離過程中,RBF采用高斯函數(shù),實際上是將數(shù)據(jù)轉(zhuǎn)化到高維空間,認(rèn)為存在某個高維空間能夠使得數(shù)據(jù)在這個空間是線性可分的。因此輸出層是線性的。

上面也解釋了本文開頭中講的,神經(jīng)元之間非隨機(jī)的權(quán)值是如何計算的:實際上,第一層的權(quán)值設(shè)為輸入矩陣P的轉(zhuǎn)置。而第二層的權(quán)值和偏置是要通過輸入?yún)?shù)T、第一層的output結(jié)果來反推的。

下面是MATLAB文檔中給的簡單代碼:

圖片

下面是一個例子

%% I. 清空環(huán)境變量
clear all
clc
%% II. 訓(xùn)練集/測試集產(chǎn)生
%% 
% 1. 產(chǎn)生隨機(jī)數(shù)據(jù)
NIR = rand(60,5);
%%
% 2. 隨機(jī)產(chǎn)生訓(xùn)練集和測試集
temp = randperm(size(NIR,1));
% 訓(xùn)練集――50個樣本
P_train = NIR(temp(1:50),:)';
T_train = NIR(temp(1:50),:)';
% 測試集――10個樣本
P_test = NIR(temp(51:end),:)';
T_test = NIR(temp(51:end),:)';
N = size(P_test,2);
%% III. RBF神經(jīng)網(wǎng)絡(luò)創(chuàng)建及仿真測試
%%
% 1. 創(chuàng)建網(wǎng)絡(luò)
net = newrbe(P_train,T_train,30);
%%
% 2. 仿真測試
T_sim = sim(net,P_test);
%% IV. 性能評價
%%
% 1. 相對誤差error
error = abs(T_sim - T_test)./T_test;
%%
% 2. 結(jié)果對比
result = [T_test' T_sim' error']
%% V. 繪圖
figure
plot(1:N,T_test,'b:*',1:N,T_sim,'r-o')
legend('真實值','預(yù)測值')
xlabel('預(yù)測樣本')
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4726

    瀏覽量

    100327
  • 仿真器
    +關(guān)注

    關(guān)注

    14

    文章

    1011

    瀏覽量

    83559
  • MATLAB仿真
    +關(guān)注

    關(guān)注

    4

    文章

    175

    瀏覽量

    19876
  • RBF
    RBF
    +關(guān)注

    關(guān)注

    0

    文章

    40

    瀏覽量

    15684
收藏 人收藏

    評論

    相關(guān)推薦

    神經(jīng)網(wǎng)絡(luò)Matlab程序

    神經(jīng)網(wǎng)絡(luò)Matlab程序
    發(fā)表于 09-15 12:52

    MATLAB神經(jīng)網(wǎng)絡(luò)

    MATLAB神經(jīng)網(wǎng)絡(luò)
    發(fā)表于 07-08 15:17

    基于RBF神經(jīng)網(wǎng)絡(luò)的辨識

    基于RBF神經(jīng)網(wǎng)絡(luò)的辨識
    發(fā)表于 01-04 13:38

    基于RBF 的模糊神經(jīng)網(wǎng)絡(luò)控制器設(shè)計與仿真分析

    介紹一種基于RBF 的模糊神經(jīng)網(wǎng)絡(luò)設(shè)計與仿真分析的實現(xiàn)方法。該方法利用MATLAB 中的神經(jīng)網(wǎng)絡(luò)工具箱圖形用戶界面GUI 結(jié)合模糊控制規(guī)則表給定的輸入/輸出樣本數(shù)據(jù)設(shè)計、構(gòu)建
    發(fā)表于 06-10 14:22 ?28次下載

    matlab神經(jīng)網(wǎng)絡(luò)在圖書資源管理中的應(yīng)用

    本文介紹了基于matlab 的徑向基函數(shù)RBF 神經(jīng)網(wǎng)絡(luò)對于圖書館借書量預(yù)測的方法,討論了RBF 神經(jīng)網(wǎng)絡(luò)的構(gòu)造思路、參數(shù)和分布密度spre
    發(fā)表于 08-05 08:19 ?19次下載

    基于RBF神經(jīng)網(wǎng)絡(luò)的軟儀表的開發(fā)

    通過在我廠蒸餾裝置上軟儀表的具體使用情況,簡單介紹了基于RBF 神經(jīng)網(wǎng)絡(luò)的軟儀表的開發(fā),RBF 神經(jīng)網(wǎng)絡(luò)的特點(diǎn)、在建模中的應(yīng)用及RBF
    發(fā)表于 08-14 15:15 ?6次下載

    matlab神經(jīng)網(wǎng)絡(luò)應(yīng)用設(shè)計

    matlab神經(jīng)網(wǎng)絡(luò)應(yīng)用設(shè)計詳細(xì)的介紹了matlab神經(jīng)網(wǎng)絡(luò)的結(jié)合
    發(fā)表于 02-23 10:47 ?0次下載

    人工神經(jīng)網(wǎng)絡(luò)原理及仿真實例

    使用Matlab的關(guān)于人工神經(jīng)網(wǎng)絡(luò)原理及仿真實例,感興趣可以打開看看。
    發(fā)表于 05-11 16:34 ?36次下載

    基于RBF神經(jīng)網(wǎng)絡(luò)的通信用戶規(guī)模預(yù)測模型

    算法預(yù)測性能更優(yōu),使用梯度下降算法與遺傳算法混合對RBF神經(jīng)網(wǎng)絡(luò)進(jìn)行參數(shù)優(yōu)化,提高預(yù)測模型收斂效率。實例分析表明,使用本文研究的混合RBF神經(jīng)網(wǎng)絡(luò)
    發(fā)表于 11-22 15:54 ?7次下載

    基于RBF神經(jīng)網(wǎng)絡(luò)的辨識

    基于RBF神經(jīng)網(wǎng)絡(luò)的辨識,徑向基函數(shù)(RBF-Radial Basis Function)神經(jīng)網(wǎng)絡(luò)是由J.Moody和C.Darken在80年代末提出的一種
    發(fā)表于 12-06 15:10 ?0次下載

    BP神經(jīng)網(wǎng)絡(luò)的簡單MATLAB實例免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是BP神經(jīng)網(wǎng)絡(luò)的簡單MATLAB實例免費(fèi)下載。
    發(fā)表于 08-21 08:00 ?5次下載
    BP<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的簡單<b class='flag-5'>MATLAB</b><b class='flag-5'>實例</b>免費(fèi)下載

    基于FPGA的RBF神經(jīng)網(wǎng)絡(luò)硬件實現(xiàn)

    基于FPGA的RBF神經(jīng)網(wǎng)絡(luò)硬件實現(xiàn)說明。
    發(fā)表于 04-28 11:24 ?26次下載

    自構(gòu)造RBF神經(jīng)網(wǎng)絡(luò)及其參數(shù)優(yōu)化

    自構(gòu)造RBF神經(jīng)網(wǎng)絡(luò)及其參數(shù)優(yōu)化說明。
    發(fā)表于 05-31 15:25 ?9次下載

    神經(jīng)網(wǎng)絡(luò)及BP與RBF的比較

    神經(jīng)網(wǎng)絡(luò)及BP與RBF的比較說明。
    發(fā)表于 06-18 09:59 ?22次下載

    基于FPGA的RBF神經(jīng)網(wǎng)絡(luò)的硬件實現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《基于FPGA的RBF神經(jīng)網(wǎng)絡(luò)的硬件實現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 10-23 10:21 ?0次下載
    基于FPGA的<b class='flag-5'>RBF</b><b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的硬件實現(xiàn)