?? som3.m
字號:
%SOM神經網絡,20051210
%實驗類內距離和類內離差陣的關系
%======每5類DOA相差9,檢查對DOA的適應情況=DOA變化從3倍sita變化=== 識別率為 100 ========================
function [m0,m1,q]=som3(PP1,M_lei)
PP1=PP1
M_lei=M_lei;
m0=mean(PP1)
net=newsom(minmax(PP1'),[1 M_lei]);
wl_init=net.IW{1,1};
% plotsom(wl_init,net.layers{1}.distances);
net.trainParam.epochs=40;
net=train(net,PP1');
% net.iw{1,1}=P
% y=sim(net,PP2')
b2=net.iw{1,1};
%計算各類距離中心之間的距離,當各類聚類中心之間的距離小于6(暫時),合并類別
yy=dist(b2,b2');
% for i=1:4
SW0=[];%存儲各類 類內離差陣
SW_1=[];%存儲各類 類內離差陣
SW_2=[];%存儲各類 類內離差陣
nj2=[];
plotsom(b2,net.layers{1}.distances);
[a2,X,Y]=sim(net,PP1');
T_SOM=full(a2);
%計算分類后的參數,各類中心,類內平均距離,和總體平均距離
% mj_0b2 為聚類中心,mj為樣本均值向量
[r,c]=size(b2)
mj_0=b2
mj=b2;%各類的中心
%計算各類中模式到類心的平均距離
[r,c]=size(b2)
[r0,c0]=size(PP1);
NN=r0;% 總的向量
[r1,c1]=size(T_SOM)
o4=[]; LL=[]
for i9=1:r
PP1_T=[];PP1_T2=[];
PP1_T1=find(T_SOM(i9,:)==1);
PP1_T2=[PP1_T2 PP1_T1];
PP1_T=[PP1_T;PP1(PP1_T1,:)];%存儲各類對應的數據
q{i9}=PP1_T
end
m1=mj
m0=mean(PP1)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -