📄 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 + -