本站原创文章,转载请说明来自《老饼讲解-BP神经网络》www.bbbdata.com
SOM神经网络主要用于做分类
本文讲解matlab神经网络工具箱使用SOM神经网络的Demo以及入参说明
(基本参考于matlab2014b函数selforgmap的官方说明)
matlab工具箱使用SOM的Demo代码
(2014b版matlab实测已跑通)
% 本demo展示用matlab工具箱训练一个SOM神经网络
% demo来自matlab2014帮助文档
x = simplecluster_dataset; % 加载matlab自带的分类数据
net = selforgmap([8 8]); % 建立一个SOM神经网络
net = train(net,x); % 训练网络
view(net) % 查看网络
y = net(x); % 用训练好的网络进行预测
classes = vec2ind(y); % 将预测结果由one-hot格式转为类别索引
语法:
selforgmap(dimensions,coverSteps,initNeighbor,topologyFcn,distanceFcn)
描述:
selforgmap创建一个SOM神经网络。
SOM神经网络用于数据聚类,它基于相似度,拓扑理论,对每一个类别分派一定比例的聚类点(不能完全保证一定如此)。
入参说明:
dimensions : 行向量,它定义了隐层神经元尺寸。例如[8 3]定义了2维(8*3)的隐层。
coverSteps : 在该步数之后,领域距离<=1,即不再更新邻域神经元。
initNeighbor:初始的邻域阈值。
topologyFcn:隐层拓扑结构函数。
distanceFcn:拓扑距离计算函数。
默认参数为:selforgmap([8 8],100,3,'hextop',linkdist')
End