-
大小: 3KB文件類(lèi)型: .m金幣: 1下載: 0 次發(fā)布日期: 2021-05-21
- 語(yǔ)言: Matlab
- 標(biāo)簽: 神經(jīng)網(wǎng)絡(luò)??
資源簡(jiǎn)介
神經(jīng)網(wǎng)絡(luò)matlab程序神經(jīng)網(wǎng)絡(luò)matlab程序神經(jīng)網(wǎng)絡(luò)matlab程序
代碼片段和文件信息
clear?all
clc
close?all;??????????????????%關(guān)閉當(dāng)前所有figure圖像
TrainNum=20;
inputNum=1;
hideNum=10;
outputNum=1;
rng(‘default‘)???%依據(jù)系統(tǒng)時(shí)鐘種子產(chǎn)生隨機(jī)數(shù)
rng(0)
x_train=8*rand(1TrainNum)-4
y_vec=1.1*(1-x_train+2*x_train.^2).*exp(-x_train.^2/2);
NoiseVar=0.01;????????????????????%噪聲強(qiáng)度為0.1(添加噪聲的目的是為了防止網(wǎng)絡(luò)過(guò)度擬合)
Noise=NoiseVar*randn(1TrainNum);???%生成噪聲
y_train=y_vec?+?Noise;???????????????????%將噪聲添加到輸出樣本上
[x_trainxtrain]=mapminmax(x_train);
[y_trainytrain]=mapminmax(y_train);
precision=0.5;?%預(yù)設(shè)精度
lr=0.01;
SSE=1;
mc=0.1;
W1=0.2*rand(hideNuminputNum)-0.1;???%初始化輸入層與隱含層之間的權(quán)值
B1=0.2*rand(hideNum1)-0.1;???????%初始化輸入層與隱含層之間的閾值
W2=0.2*rand(outputNumhideNum)-0.1;?%初始化輸出層與隱含層之間的權(quán)值??????????????
B2=0.2*rand(outputNum1)-0.1;????????????????%初始化輸出層與隱含層之間的閾值
W1_1=W1;W1_2=W1_1;
W2_1=W2;W2_2=W2_1;
B1_1=B1;B1_2=B1_1;
B2_1=B2;B2_2=B2_1;
ErrHistory=[];??????????????????????????????%給中間變量預(yù)先占據(jù)內(nèi)存
count=1;
counthistory=[1];
%?tic
while(SSE>precision)
????HiddenIn=x_train;
????HiddenNet=W1*HiddenIn+repmat(B11TrainNum);?%?隱含層網(wǎng)絡(luò)輸出10*100
????HiddenOut=sin(HiddenNet);??%sin(HiddenNet)1./(1+exp(-HiddenNet)),
????finalNet=W2*HiddenOut+repmat(B21TrainNum);????%?輸出層網(wǎng)絡(luò)輸出1*100
????finalOut=finalNet;????%sin(finalNet)1./(1+e
評(píng)論
共有 條評(píng)論