⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 createsomnet.m

📁 创建一个som的代码
💻 M
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%CreateSOMNet(P,ClassNum,MaxCycle,Lr)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [Net]=CreateSOMNet(P,T,ClassNum,MaxCycle,Lr)

[R,Q]=size(P);%获得维数R,向量个数Q

P=normc(P);%归一化处理

Net.VectorDim=R;%向量数
Net.VectorNum=Q;%向量数
Net.ClassNum=ClassNum;%分类类别数
Net.MaxCycle=MaxCycle;%最大循环次数
Net.Lr=Lr;%学习率
Net.Winner=0;%获胜类别
Net.CurrentVector=0;%当前类别

Net.InputLayer.Units=Q;%向量个数
Net.InputLayer.Vectors=P;%输入向量
Net.InputLayer.T=T;%输入向量分类标记

Net.OutputLayer.Units=ClassNum;%向量个数
Net.OutputLayer.Vectors=zeros(ClassNum,Q);%输出类别

Net.KohonenLayer.Units=ClassNum;
Net.KohonenLayer.Weight=rands(ClassNum,R);%随机权值
Net.KohonenLayer.dScoreMean=zeros(ClassNum,Q);%距离矩阵

%NB=int16(ClassNum);
NB=ClassNum;
Net.KohonenLayer.Neighbour=zeros(NB,NB);%距离矩阵
for i=1:NB
    for j=1:NB
        CurrentClassNum=(i-1)*NB+j;
        if CurrentClassNum<=ClassNum
            Net.KohonenLayer.Neighbour(i,j)=CurrentClassNum;
        end
    end
end


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -