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

📄 sofmtrain.m

📁 nnToolKit 神经网络工具包是基于 MATLAB 神经网络工具箱自行开发的一组神经网络算法函数库
💻 M
字号:
% 自组织特征映射模型(Self-Organizing feature Map),认为一个神经网络接受外界输入模式时,将会分为不同的区域,各区域对输入模式具有不同的响应特征,同时这一过程是自动完成的。各神经元的连接权值具有一定的分布。最邻近的神经元互相刺激,而较远的神经元则相互抑制,更远一些的则具有较弱的刺激作用。自组织特征映射法是一种无教师的聚类方法。
% 此为Sofm网络训练程序
function retstr = SofmTrain(ModelNo,NetPara,TrainPara,DataDir)
NNTWARN OFF
retstr=-1;
%%%% 输入参数赋值开始 %%%%%%%%%%%%%%%%%%%%%%%
% 方便调试程序用,程序调试时去掉这部分的注释
ModelNo='1';
% 网络参数
NetPara(1)=1;      %输入层节点数
NetPara(2)=5;      %分类数
NetPara(3)=65536;  %训练数据组数
% 训练参数
TrainPara(1)=50;   % 训练过程每df步显示1次数
TrainPara(2)=3000; % 最大训练步数
TrainPara(3)=0.02; % 学习率
% 当前程序路径
DataDir='.';
%%%% 输入参数赋值结束 %%%%%%%%%%%%%%%%%%%%%%%%
% 保留原目录
olddir=pwd;
% 进入数据所在目录
cd(DataDir);

% 网络参数
InputDim=NetPara(1);       %输入层节点数
ClassifyNum=NetPara(2);    %分类数
DataNum=NetPara(3);        %训练数据组数

frin_para=fopen(sprintf('input_para%s%s',ModelNo,'.txt'),'r');      %输入数据文件
[x,count]=fscanf(frin_para,'%f',[InputDim,DataNum]);   %取输入数据 
fclose(frin_para);

% 对前向网络进行初始化
w=initsm(x,ClassifyNum);
% 训练过程每df步显示1次数
df=TrainPara(1);
% 最多训练步数
me=TrainPara(2);
% 学习率
lr=TrainPara(3);

% 神经网络训练参数
tp=[df me lr];
m=nbgrid(ClassifyNum);
% 训练竞争层
w=trainsm(w,m,x,tp);
% 将训练结果权值写入文件
fww=fopen(sprintf('w%s%s',ModelNo,'.dat'),'w');
fprintf(fww,'%9.4f ',w);
fclose(fww);

cd(olddir);

retstr=1;
close all;

⌨️ 快捷键说明

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