trainsomnet.m

来自「神经网络中网络训练的源代码」· M 代码 · 共 30 行

M
30
字号
function [Net,Jd,JdCycle]=TrainSOMNet(Net,KernelType)
R=Net.VectorDim;%向量数
Q=Net.VectorNum;%向量数
ClassNum=Net.ClassNum;%分类类别数
MaxCycle=Net.MaxCycle;%最大循环次数
Lr=Net.Lr;%学习率
Winner=Net.Winner;%获胜类别
CurrentVector=Net.CurrentVector;%当前类别

cycle=1;
Jd=[];
JdCycle=[];
NeighbourHood=int16(ClassNum);
while(cycle<=MaxCycle)%循环计算次数
   x=(cycle/MaxCycle);
   LR=(1-x)*Lr;%计算每次的学习率
   
   Net=TrainUnits(Net,LR,NeighbourHood,KernelType);
      
   
   NeighbourHood=max([ceil(NeighbourHood*(1-4*x)) 1]);   
   fprintf(1,'Step %ld\n',cycle);
   cycle=cycle+1;
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   [accurate]=100-GetAccurate(Net);
   Jd=[Jd;accurate];
   JdCycle=[JdCycle;cycle-1];
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
end

⌨️ 快捷键说明

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