91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 753KB
    文件類型: .zip
    金幣: 2
    下載: 1 次
    發布日期: 2021-06-03
  • 語言: Matlab
  • 標簽: rbf??matlab??

資源簡介

用于函數逼近的rbf的 matlab代碼,有 結果圖和 實驗報告,可運行

資源截圖

代碼片段和文件信息

function?RBF()?
%%基于梯度法的RBF網設計算法?
tic?
SamNum=100;??%訓練樣本數?
TargetSamNum=101;??%測試樣本數?
UnitNum=10;??%隱節點數?
InDim=1;??%輸入樣本維數?
MaxEpoch=5000;??%最大訓練次數?
E0=0.9;??%目標誤差?
??
%根據樣本目標函數獲得樣本輸入/輸出?
rand(‘state‘sum(100*clock))??%產生均勻分布的隨機矩陣,元素0.0-1.0?
NoiseVar=0.1;?
Noise=NoiseVar*randn(1SamNum);??%產生正態分布的隨機矩陣?
SamIn=8*rand(1SamNum)-4;?
SamOutNoise=1.1*(1-SamIn+2*SamIn.^2).*exp(-SamIn.^2/2);?
SamOut=SamOutNoise+Noise;?

?
TargetIn=-4:0.08:4;?
TargetOut=1.1*(1-TargetIn+2*TargetIn.^2).*exp(-TargetIn.^2/2);?
?
figure?
hold?on?
grid?
plot(SamInSamOut‘r+‘)?
plot(TargetInTargetOut‘g-‘)?
xlabel(‘Inputx‘);?
ylabel(‘Outputy‘);?
?
Center=8*rand(InDimUnitNum)-4;%中心?
SP=0.2*rand(1UnitNum)+0.1;%擴展常數?
W=0.2*rand(1UnitNum)-0.1;%權值?
lrCent=0.001;??%隱節點數據中心學習系數?
lrSP=0.001;??%隱節點擴展常數學習系數?
lrW=0.001;??%隱節點輸出權值學習系數?

%alphacent=0.8;
%alphasp=0.8;
%alphaw=0.8;

ErrHistory=[];??%用于記錄每次參數調整后的訓練誤差?
for?epoch=1:MaxEpoch?
????AllDist=dist(Center‘SamIn);?
????SPMat=repmat(SP‘1SamNum);?
????UnitOut=radbas(AllDist./SPMat);??%radbas是徑向基函數?
????NetOut=W*UnitOut;?
????Error=SamOut-NetOut;?
????%停止學習判斷?
????SSE=sumsqr(Error);?
????%記錄每次權值調整后的訓練誤差?
????ErrHistory=[ErrHistory?SSE];?
????if?SSE????????break;?
????end?
????for?i=1:UnitNum?????
????????CentGrad=(SamIn-repmat(Center(:i)1SamNum))*(Error.*UnitOut(i:)*W(i)/(SP(i)^2))‘;%中心的梯度?
????????SPGard=AllDist(i:).^2*(Error.*UnitOut(i:)*W(i)/(SP(i)^3))‘;%擴展常數的梯度?
????????WGard=Error*UnitOut(i:)‘;%權值的梯度?
?????????????
????????Center(:i)=Center(:i)+lrCent*CentGrad;?
????????SP(i)=SP(i)+lrSP*SPGard;?
????????W(i)=W(i)+lrW*WGard;???
????
?%Center(:i)=Center(:i)+lrCent*CentGrad+alphacent*pre_CentGrad;?
?%SP(i)=SP(i)+lrSP*SPGard+alphasp*pre_SPGard;?
?%W(i)=W(i)+lrW*WGard+alphaw*pre_WGard;
?????????%pre_CentGrad=CentGrad;
?????????%pre_SPGard=SPGard;
?????????%pre_WGard=WGard;

????end?
end?
%測試?
TestDistance=dist(Center‘TargetIn);?
TestSpreadsMat=repmat(SP‘1TargetSamNum);?
TestHiddenOut=radbas(TestDistance./TestSpreadsMat);?
TestNNOut=W*TestHiddenOut;?
plot(TargetInTestNNOut‘b-‘)?
toc?
%繪制學習誤差曲線?
figure?
hold?on?
grid?
[~Num]=size(ErrHistory);?
plot(1:NumErrHistory‘k-‘);?
%epoch;
end

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????783889??2018-04-20?21:55??RBF\BRF函數逼近.pdf
?????文件????????2437??2018-04-20?21:49??RBF\RBF.m
?????文件??????705654??2018-04-20?21:50??RBF\誤差.bmp
?????文件??????705654??2018-04-20?21:50??RBF\逼近.bmp
?????目錄???????????0??2018-04-21?23:43??RBF\

評論

共有 條評論