集群自组织映射数据
数据聚类神经网络的另一个优秀的应用程序。这个过程涉及到分组数据相似。例如,您可以执行:
市场细分的分组人根据他们的购买模式
数据挖掘通过分区数据到相关的子集
生物信息学分析分组与相关基因表达模式
假设您希望集群花类型根据花瓣长度,花瓣宽度,花萼长度和萼片宽。你有150例病例,你有这四个测量。
函数拟合和模式识别,有两种方法可以解决这个问题:
使用神经网络聚类应用,如中描述使用神经网络聚类的应用程序集群数据。
使用命令行功能,如中描述集群数据使用命令行功能。
一般来说,最好先从应用程序,然后使用应用程序自动生成的命令行脚本。在使用方法之前,首先定义通过选择一个数据集的问题。每个神经网络应用程序能够访问样本数据集,您可以使用与工具箱(见实验浅神经网络的样本数据集)。如果你有一个你想解决具体的问题,你可以将自己的数据加载到工作区。下一节描述了数据格式。
定义一个问题
定义一个聚类问题,安排输入向量(预测)集群作为一个输入列矩阵。例如,您可能希望集群这组10双元素向量:
预测= [7 0 6 2 6 5 6 1 0 1;6 2 5 0 7 5 5 1 2 2]
下一节将展示如何训练一个网络集群数据,使用神经网络聚类应用。这个例子使用数据集工具箱提供的一个例子。
使用神经网络聚类的应用程序集群数据
这个例子展示了如何训练一个浅神经网络集群数据使用神经网络聚类应用程序。
打开神经网络聚类应用程序使用nctool
。
nctool
选择数据
的神经网络聚类应用程序示例数据帮助你开始训练一个神经网络。
导入示例虹膜花聚类数据,选择进口>进口虹膜花数据集。如果你导入自己的数据文件或工作区,您必须指定的预测和观察是否行或列。
导入的数据中出现的信息模型的总结。这个数据集包含150年观察,每一个有四个特性。
创建网络
对于聚类问题,自组织特征映射网络(SOM)是最常用的。这个网络有一层,在网格中神经元组织。自组织映射学会根据相似集群数据。SOM的更多信息,请参阅集群的自组织映射神经网络。
创建网络,指定地图的大小,这对应于网格中的行和列的数量。对于这个示例,设置地图大小值为10,这对应于一个网格与10行和列。神经元的总数等于网格中的点的数量,在这个例子中,地图上有100个神经元。你可以看到的网络体系结构网络窗格。
列车网络的
训练网络,点击火车。在培训窗格中,您可以看到培训的进展。培训持续进行直到满足停止条件之一。在这个例子中,训练持续直到到达时代的最大数量。
分析结果
分析培训效果,生成的阴谋。为耶鲁大学管理学院培训,每个神经元的权向量成为集群的中心移动的输入向量。此外,神经元彼此相邻的拓扑结构也应该接近彼此在输入空间移动,因此可以想象一个高维输入空间两个维度的网络拓扑。默认的SOM的拓扑是六角形。
情节SOM样例支安打,情节部分中,点击样品打。这图显示了神经元位置拓扑中,和表明许多观察与每一个神经元(集群中心)。拓扑是一个10 *网格,所以有100个神经元。支安打与任何相关神经元的最大数量是5。因此,有5个输入向量的集群。
情节飞机(也称为重量组件的飞机)。在情节部分中,点击飞机重量。这幅图显示了飞机重量为每个元素的输入特性(四,在本例中)。情节显示了连接的权重每个输入的每个神经元,与深色代表更大的权重。如果连接模式的两个特性非常相似,你可以假定特性是高度相关的。
如果你是不满意的网络性能,你可以做以下之一:
再次培训网络。每个培训将有不同的网络的初始权值和偏差,再培训后,能产生一种改进的网络。
增加神经元的数量增加地图大小。
使用一个更大的训练数据集。
你也可以评估额外的测试集上的网络性能。加载额外的测试数据来评估网络,测试部分中,点击测试。产生额外的情节分析测试结果。
生成代码
选择生成代码>生成简单的培训脚本创建MATLAB代码复制从命令行前面的步骤。创建MATLAB代码是很有用的,如果你想学习如何使用命令行功能的工具箱来定制培训过程。在集群数据使用命令行功能,您将更详细地研究生成的脚本。
出口网络
你可以导出你的训练网络工作区或仿真软件®。万博1manbetx你也可以用MATLAB编译器部署网络™工具和其他MATLAB代码生成工具。出口培训网络和结果,选择出口模式>出口到工作区。
集群数据使用命令行功能
最简单的方法来学习如何使用命令行功能的工具箱是生成脚本的应用程序,然后修改它们定制网络培训。作为一个例子,看看在前一节中创建的简单脚本使用神经网络聚类应用程序。
%解决自组织映射的聚类问题%脚本生成的神经集群应用程序% 21 - 2021年5月——10:15:01创建%%这个脚本假设这些变量定义:%% irisInputs——输入数据。x = irisInputs;%创建一个自组织映射dimension1 = 10;dimension2 = 10;网= selforgmap ([dimension1 dimension2]);%训练网络(净,tr) =火车(净,x);%测试网络y =净(x);%查看网络视图(净)%的情节%取消这些线,使各种各样的情节。%,plotsomtop(净)%,plotsomnc(净)%,plotsomnd(净)%,plotsomplanes(净)%,plotsomhits(净,x)%,plotsompos(净,x)
您可以保存脚本,然后从命令行运行它繁殖的结果之前的训练。你也可以编辑脚本定制培训过程。在这种情况下,按照脚本中的每个步骤。
选择数据
该脚本假设预测已经加载到工作区。如果数据没有加载,您可以加载它如下:
负载iris_dataset
这个命令加载预测irisInputs
进入工作区。
这个数据集的样本数据集的工具箱的一部分。可用的数据集的信息,看到浅神经网络的样本数据集。你也可以看到所有可用的列表数据集通过输入命令帮助nndatasets
。你可以从这些数据集加载变量使用自己的变量名。例如,命令
x = irisInputs;
x
。
创建网络
创建一个网络。对于本例,您使用一个自组织映射(SOM)。这个网络有一个层,在网格中神经元组织。有关更多信息,请参见集群的自组织映射神经网络。在创建网络selforgmap
,您指定网格中的行和列的数量。
dimension1 = 10;dimension2 = 10;网= selforgmap ([dimension1 dimension2]);
列车网络的
培训网络。SOM网络使用默认批SOM算法进行训练。
(净,tr) =火车(净,x);
在培训期间,培训窗口打开并显示进展。你可以中断训练在任何时候通过点击停止按钮。
测试网络
测试网络。网络训练后,您可以使用它来计算网络输出。
y =净(x);
查看网络
查看网络图。
视图(净)
分析结果
为耶鲁大学管理学院培训,每个神经元的权向量成为集群的中心移动的输入向量。此外,神经元彼此相邻的拓扑结构也应该接近彼此在输入空间移动,因此可以想象一个高维输入空间两个维度的网络拓扑。默认的SOM拓扑是六角形;视图,输入以下命令。
图中,plotsomtop(净)
在这个图中,每一个六边形代表一个神经元。网格是10,所以总共有100个神经元网络。有四个功能在每个输入向量,输入空间是四维的。体重下降速度向量(集群中心)在这个空间。
因为这个SOM二维拓扑,您可以在集群两个维度之间的关系四维可视化中心。SOM是一个可视化工具重量距离矩阵(也称为U-matrix)。
点击查看U-matrixSOM邻居的距离在培训窗口中。
在这个图中,蓝色六边形代表神经元。红线连接相邻的神经元。包含红线显示的颜色区域的神经元之间的距离。深色的颜色代表更大的距离,更轻的颜色代表小的距离。一群黑段穿过地图。SOM网络集群的花朵似乎分为两个不同的组。
下一个步骤
在命令行操作来获得更多的经验,尝试一些这样的任务:
培训期间,打开一个绘图窗口(如SOM重量位置情节),看动画。
从命令行情节等功能
plotsomhits
,plotsomnc
,plotsomnd
,plotsomplanes
,plotsompos
,plotsomtop
。
另请参阅
神经网络拟合|神经网络时间序列|神经网络模式识别|神经网络聚类|深层网络设计师|火车