自组织竞争神经网络案例(虹膜花)
自组织地图(SOMs)非常擅长创建分类。此外,分类还保留了哪些类最类似于其他类的拓扑信息。自组织映射可以用任何需要的细节来创建。它们特别适合于许多维度的聚类数据,以及复杂的形状和连通的特征空间。它们很适合分类识别虹膜花。
四个花的属性将作为SOM的输入,它将映射到一个二维的神经元层。
程序如下:
x = iris_dataset;%首先导入数据;
net = selforgmap([8 8]);
view(net)
selforgmap通过在层的每个维度中选择神经元的数量来创建自组织映射,以对样本进行分类。我们将尝试一个2维度层的64个神经元排列在一个8x8六边形网格中的。一般来说,更大的细节是通过更多的神经元实现的,而更多的维度允许建模更复杂的特征空间的拓扑。输入大小为0,因为网络尚未被配置来匹配我们的输入数据。
[net,tr] = train(net,x);
nntraintool
NN训练工具显示了被训练的网络和用来训练它的算法。它还在训练期间显示训练状态,停止训练的标准将以绿色突出显示。
在底部开放有用的地块上的按钮可以在训练期间和之后打开。在算法名称旁边的链接,并在这些主题上列出打开文档的按钮。
在这里,自组织映射用于计算每个训练输入的类向量。这些分类覆盖了已知花的特征空间,现在可以用来对新花进行相应的分类。网络输出将是一个64x150矩阵,每个ith列代表每一个ith输入向量的jth集群,其中一个1在jth元素中。
y = net(x);
cluster_index = vec2ind(y);
plotsomtop(net)
plotsomhits(net,x)%表示各个神经元之间的碰撞次数
该图显示了各种花的分类状况,数值较大的神经元区域显示了代表高度稠密的特征空间区域的类别。
plotsomnc(net)%表示了各个神经元之间的连接;
plotsomnd(net)
plotsomnd展示了每一个神经元的课程来自于它的邻居。明亮的连接表示输入空间的高度连通区域。虽然黑暗的连接表明了代表特征空间区域的类,但它们相距遥远,它们之间很少或没有花。
plotsomplanes(net)
plotsomplane为四个输入特性显示了一个重量平面。它们是在8x8六边形网格中连接每一个64个神经元中的每一个输入的权重的可视化。深色代表更大的重量。如果两个输入有类似的重量平面(它们的颜色梯度可能是相同的或相反的),它表明它们是高度相关的。
相关文章: