目录
对数据进行聚类是神经网络的另一个绝佳应用。此过程涉及按相似性对数据进行分组。例如,可以:
-
根据人们的购买模式对他们进行分组,从而进行市场细分
-
通过将数据划分为相关子集来进行数据挖掘
-
通过对具有相关表达模式的基因进行分组来进行生物信息学分析
假设要根据花瓣长度、花瓣宽度、萼片长度和萼片宽度来对花卉类型进行聚类。有 150 个样本,并且有它们的上述四个测量值。
与函数拟合和模式识别一样,解决此问题的方法有两种:
-
使用神经网络聚类,如使用神经网络聚类对数据进行聚类中所述。
-
使用命令行函数,如使用命令行函数对数据进行聚类中所述。
一般最好从 App 开始,然后使用该 App 自动生成命令行脚本。在使用任何方法之前,首先通过选择数据集来定义问题。每个神经网络 App 都可以访问采样数据集,可以使用这些数据集来试验工具箱。如果您有要解决的特定问题,可以将自己的数据加载到工作区中。下一节介绍数据格式。
定义问题
要定义聚类问题,请将输入向量(预测变量)排列为输入矩阵中的列。例如,可能要对以下包含 10 个二元素向量的集合进行聚类:
predictors = [7 0 6 2 6 5 6 1 0 1; 6 2 5 0 7 5 5 1 2 2]
下一节说明如何使用神经网络聚类训练网络以对数据进行聚类。此示例使用工具箱附带的示例数据集。
使用神经网络聚类对数据进行聚类
此示例说明如何使用神经网络聚类训练浅层神经网络来对数据进行聚类。
使用 nctool 打开神经网络聚类。
nctool
如图所示:
选择数据
神经网络聚类提供了示例数据来帮助开始训练神经网络。
要导入示例鸢尾花聚类数据,请选择导入 > 导入鸢尾花数据集。如果从文件或工作区导入自己的数据,则必须指定预测变量,以及观测值是位于行中还是列中。
有关导入数据的信息显示在模型摘要中。此数据集包含 150 个观测值,每个观测值有 4 个特征。
创建网络
对于聚类问题,自组织特征映射 (SOM) 是最常用的网络。此网络的一个层的神经元以网格形式组织。自组织映射学习