您好,登錄后才能下訂單哦!
這篇文章主要介紹了matlab怎么實(shí)現(xiàn)基于廣義神經(jīng)網(wǎng)絡(luò)GRNN網(wǎng)絡(luò)入侵聚類的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇matlab怎么實(shí)現(xiàn)基于廣義神經(jīng)網(wǎng)絡(luò)GRNN網(wǎng)絡(luò)入侵聚類文章都會(huì)有所收獲,下面我們一起來看看吧。
%% 清空環(huán)境文件
clear
clc
%% 提取攻擊數(shù)據(jù)
%攻擊樣本數(shù)據(jù)
load netattack;
P1=netattack;
T1=P1(:,39)';
P1(:,39)=[];
%數(shù)據(jù)大小
[R1,C1]=size(P1);
csum=20; %提取訓(xùn)練數(shù)據(jù)多少
%% 模糊聚類
data=P1;
[center,U,obj_fcn] = fcm(data,5);
for i=1:R1
[value,idx]=max(U(:,i));
a1(i)=idx;
end
%% 模糊聚類結(jié)果分析
Confusion_Matrix_FCM=zeros(6,6);
Confusion_Matrix_FCM(1,:)=0:5;
Confusion_Matrix_FCM(:,1)=[0:5]';
for nf=1:5
for nc=1:5
Confusion_Matrix_FCM(nf+1,nc+1)=length(find(a1(T1==nf)==nc));
end
end
%% 網(wǎng)絡(luò)訓(xùn)練樣本提取
cent1=P1(a1==1,:);cent1=mean(cent1);
cent2=P1(a1==2,:);cent2=mean(cent2);
cent3=P1(a1==3,:);cent3=mean(cent3);
cent4=P1(a1==4,:);cent4=mean(cent4);
cent5=P1(a1==5,:);cent5=mean(cent5);
%提取范數(shù)最小為訓(xùn)練樣本
for n=1:R1
ecent1(n)=norm(P1(n,:)-cent1);
ecent2(n)=norm(P1(n,:)-cent2);
ecent3(n)=norm(P1(n,:)-cent3);
ecent4(n)=norm(P1(n,:)-cent4);
ecent5(n)=norm(P1(n,:)-cent5);
end
for n=1:csum
[~, me1]=min(ecent1);
[~, me2]=min(ecent2);
[~, me3]=min(ecent3);
[~, me4]=min(ecent4);
[va, me5]=min(ecent5);
ecnt1(n,:)=P1(me1(1),:);ecent1(me1(1))=[];tcl(n)=1;
ecnt2(n,:)=P1(me2(1),:);ecent2(me2(1))=[];tc2(n)=2;
ecnt3(n,:)=P1(me3(1),:);ecent3(me3(1))=[];tc3(n)=3;
ecnt4(n,:)=P1(me4(1),:);ecent4(me4(1))=[];tc4(n)=4;
ecnt5(n,:)=P1(me5(1),:);ecent5(me5(1))=[];tc5(n)=5;
end
P2=[ecnt1;ecnt2;ecnt3;ecnt4;ecnt5];T2=[tcl,tc2,tc3,tc4,tc5];
k=0;
%% 迭代計(jì)算
for nit=1:10%開始迭代
%% 廣義神經(jīng)網(wǎng)絡(luò)聚類
net = newgrnn(P2',T2,50);
%訓(xùn)練廣義網(wǎng)絡(luò)
a2=sim(net,P1') ;
%預(yù)測(cè)結(jié)果
%輸出標(biāo)準(zhǔn)化(根據(jù)輸出來分類)
a2(a2<=1.5)=1;
a2(a2>1.5&a2<=2.5)=2;
a2(a2>2.5&a2<=3.5)=3;
a2(a2>3.5&a2<=4.5)=4;
a2(a2>4.5)=5;
%% 網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù)再次提取
cent1=P1(a2==1,:);cent1=mean(cent1);
cent2=P1(a2==2,:);cent2=mean(cent2);
cent3=P1(a2==3,:);cent3=mean(cent3);
cent4=P1(a2==4,:);cent4=mean(cent4);
cent5=P1(a2==5,:);cent5=mean(cent5);
for n=1:R1%計(jì)算樣本到各個(gè)中心的距離
ecent1(n)=norm(P1(n,:)-cent1);
ecent2(n)=norm(P1(n,:)-cent2);
ecent3(n)=norm(P1(n,:)-cent3);
ecent4(n)=norm(P1(n,:)-cent4);
ecent5(n)=norm(P1(n,:)-cent5);
end
%選擇離每類中心最近的csum個(gè)樣本
for n=1:csum
[~, me1]=min(ecent1);
[~, me2]=min(ecent2);
[~, me3]=min(ecent3);
[~, me4]=min(ecent4);
[va, me5]=min(ecent5);
ecnt1(n,:)=P1(me1(1),:);ecent1(me1(1))=[];tc1(n)=1;
ecnt2(n,:)=P1(me2(1),:);ecent2(me2(1))=[];tc2(n)=2;
ecnt3(n,:)=P1(me3(1),:);ecent3(me3(1))=[];tc3(n)=3;
ecnt4(n,:)=P1(me4(1),:);ecent4(me4(1))=[];tc4(n)=4;
ecnt5(n,:)=P1(me5(1),:);ecent5(me5(1))=[];tc5(n)=5;
end
p2=[ecnt1;ecnt2;ecnt3;ecnt4;ecnt5];
T2=[tc1,tc2,tc3,tc4,tc5];
%統(tǒng)計(jì)分類結(jié)果
Confusion_Matrix_GRNN=zeros(6,6);
Confusion_Matrix_GRNN(1,:)=0:5;
Confusion_Matrix_GRNN(:,1)=[0:5]';
for nf=1:5
for nc=1:5
Confusion_Matrix_GRNN(nf+1,nc+1)=length(find(a2(T1==nf)==nc));
end
end
pre2=0;
for n=2:6
pre2=pre2+max(Confusion_Matrix_GRNN(n,:));
end
pre2=pre2/R1*100;
end
關(guān)于“matlab怎么實(shí)現(xiàn)基于廣義神經(jīng)網(wǎng)絡(luò)GRNN網(wǎng)絡(luò)入侵聚類”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“matlab怎么實(shí)現(xiàn)基于廣義神經(jīng)網(wǎng)絡(luò)GRNN網(wǎng)絡(luò)入侵聚類”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。